摘要。温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于stc89c51的温度检测及报警系统。该系统将单总线温度传感器ds18b20并接在控制器的一个端口上,对传感器温度进行循环采集,将采集到的温度值与设定值进行比较,当超出设定的上限温度时,通过电路给出报警信号。
用stc89c51单片机设计的温度检测电路是本次设计的主要内容,是整个单片机温度控制系统设计中不可缺少的一部分,该系统对温度进行了实时采集与检测。文中给出了系统实现的硬件原理图及程序设计。经实验测试表明,该系统测量精度高、抗干扰能力强、报警及时准确,具有一定的参考价值。
该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便。
关键词:数字温度传感器;单总线;单片机stc89c51;时钟数码管显示;报警信号。
1设计任务及要求 3
1.1 设计任务 3
1.2 设计要求 3
2 设计总体方案及器材显示 4
2.1设计总体方案 4
2.2器材选用分析 5
2.2.1 ds18b20温度传感器 5
2.2.2 stc89c51单片机介绍 7
3 硬件电路的设计 9
3.1 电源电路 9
3.2 显示电路、报警电路、复位电路、按键电路 9
4 软件流程及描述 11
4.1 主程序流程图和按键处理子程序 11
4.2 读温度子程序 13
4.3 温度转换命令子程序 14
4.4 计算温度子程序 14
5 心得体会 14
6参考文献 16
7附录 16
1、根据设计内容与要求,弄清系统及各个模块的工作流程,完成电路原理图,包括单片机最小系统模块、led显示模块、蜂鸣器报警模块、矩阵键盘模块、串行口**模块和电源模块,最终在万用板上焊接,完成整个系统硬件设计。
2、根据设计内容与要求,弄清系统及各个模块的工作流程,完成系统的软件设计,包括系统主程序、温度读取子程序、键盘扫描子程序、显示子程序等,可使用汇编语言或是c语言编写,建议使用c语言编写。
3、完成系统的**与调试,使得系统在脱机情况下,能稳定可靠的工作。
4、编写课程设计报告。
利用stc89c51、ds18b20、数码管、蜂鸣器等元器件设计温度检测、显示和报警系统完成日期与时间显示系统。系统具有以下功能:
1、能正确检测温度;
2、在数码管上实时显示温度;
3、当温度超过或低于设定的阈值时,蜂鸣器报警;
4、可通过矩阵键盘调整温度报警阈值;
5、其他功能可根据系统上的资源自行设定。
提及到温度的检测,我们首先会考虑传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试也复杂,制作成本高。
因此,本数字温度计设计采用智能温度传感器ds18b20作为检测元件,测温范围为-55°c至+125°c,最大分辨率可达0.0625°c。ds18b20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
按照系统设计功能的要求,确定系统由三个模块组成:主控制器stc89c51,温度传感器ds18b20,驱动显示电路。总体电路框图如下:
2.2.1 ds18b20温度传感器。
ds18b20产品的特点 :
1)、只要求一个端口即可实现通信。
2)、在ds18b20中的每个器件上都有独一无二的序列号。
3)、实际应用中不需要外部任何元器件即可实现测温。
4)、测量温度范围在-55。c到+125。c之间。
5)、数字温度计的分辨率用户可以从9位到12位选择。
6)、内部有温度上、下限告警设置。
ds18b20内部结构如图3所示:
图3 ds18b20内部结构。
ds18b20功能命令如表1所示:
表1 ds18b20功能命令表。
其连线使用如图4所示(2接p3.6):
图4 ds18b20连线图。
由于ds18b20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:
初始化ds18b20(发复位脉冲)→发rom功能命令→发存储器操作命令→处理数据。
由于ds18b20采用的是1-wire总线协议方式,即在一根数据线实现数据的双向传输,而对at89s51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20芯片的访问。
由于ds18b20是在一根i/o线上读写数据,因此,对读写的数据位有着严格的时序要求。ds18b20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:
初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
ds18b20的复位时序
ds18b20的读时序
对于ds18b20的读时序分为读0时序和读1时序两个过程。
对于ds18b20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让ds18b20把数据传输到单总线上。ds18b20在完成一个读时序过程,至少需要60us才能完成。
ds18b20的写时序
对于ds18b20的写时序仍然分为写0时序和写1时序两个过程。
对于ds18b20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证ds18b20能够在15us到45us之间能够正确地采样io总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
2.2.2stc89c51单片机介绍。
stc89c51是一种带4k字节闪烁可编程可擦除只读存储器 fperom—flash programmable and erasable read only memory 的低电压高性能cmos8位微处理器俗称单片机。而at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。
该器件采用atmel高密度非易失存储器制造技术制造与工业标准的mcs-51指令集和输出管脚相兼容。stc89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。与mcs-51 兼容 4k字节可编程闪烁存储器寿命1000写/擦循环 ·数据保留时间 10年全静态工作 0hz-24hz **程序存储器锁定 128*8位内部ram
32位可编程i/o线两个16位定时器/计数器 5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路。
单片机引脚图。
各引脚功能叙述如下 :
1、电源和晶振 vcc40脚
—接+5v电源 gnd 20脚
—接数字地 xtal1 19脚
—片内**器反相放大器和时钟发生器电路的输入端 xtal2 18脚
—片内**器反相放大器的输出端
2、i/o 4个口32根p0口——p0口为一个8位漏级开路双向i/o口每脚可吸收8ttl门电流。当p1口的管脚第一次写1时被定义为高阻输入。p0能够用于外部程序数据存储器它可以被定义为数据/地址的第八位。
在fiash编程时 p0 口作为原码输入口当fiash进行校验时p0输出原码此时p0外部必须被拉高。p1口——p1口是一个内部提供上拉电阻的8位双向i/o口p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后被内部上拉为高可用作输入 p1口被外部下拉为低电平时将输出电流这是由于内部上拉的缘故。
在flash编程和校验时 p1口作为第八位地址接收。p2口——p2口为一个内部上拉电阻的8位双向i/o口;
p2口——p2口缓冲器可接收输出4个ttl门电流当p2口被写“1”时其管脚被内部上拉电阻拉高且作为输入。并因此作为输入时p2口的管脚被外部拉低将输出电流。这是由于内部上拉的缘故。
p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时p2口输出地址的高八位。在给出地址“1”时它利用内部上拉优势当对外部八位地址数据存储器进行读写时p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。
p3口——p3口管脚是8个带内部上拉电阻的双向i/o口可接收输出4个ttl门电流。当p3口写入“1”后它们被内部上拉为高电平并用作输入。作为输入由于外部下拉为低电平p3口将输出电流ill这是由于上拉的缘故。
同时p3口也可作为stc89c51的一些特殊功能口如下表所示口管脚备选功能 p3.0 rxd串行输入口p3.1 txd串行输出口 p3.
2 /int0外部中断0 p3.3 /int1外部中断1p3.4 t0 记时器0外部输入p3.
5 t1记时器1外部输入p3.6 /wr 外部数据存储器写选通p3.7 /rd外部数据存储器读选通p3口同时为闪烁编程和编程校验接收一些控制信号。
3、控制线(共4根) rst复位输入。当振荡器复位器件时要保持rst脚两个机器周期的高电平时间。 ale/prog当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节。
在flash编程期间此引脚用于输入编程脉冲。在平时ale端以不变的频率周期输出正脉冲信号此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是每当用作外部数据存储器时将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时ale只有在执行movxmovc指令是ale才起作用。
另外该引脚被略微拉高。如果微处理器在外部执行状态ale禁止置位无效。 /pse外部程序存储器的选通信号。
在由外部程序存储器取指期间每个机器周期两次/psen有效。但在访问外部数据存储器时这两次有效的/psen信号将不出现。/ea/vpp当/ea保持低电平时则在此期间外部程序存储器 0000h-ffffh不管是否有内部程序存储器。
注意加密方式1时/ea将内部锁定为reset当/ea端保持高电平时此间内部程序存储器。在flash编程期间此引脚也用于施加12v编程电源vpp。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...