1、 西北师范大学知行学院计算机与电子信息工程系课程:综合电子系统设计与实践 题目:基于单片机的水温控制系统 班级:13级电本班 姓名:李利平 学号:201392170110 指导教师:刘玮摘 要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。本文从硬件和软件两方面来讲述对烘干箱温度的自动控制过程,在控制过程中主要应用AT89C51、ADC0809、LED显示器、LM324比较器,而主要是通过 DS18B20数字温度传感器采集环境温度,以单片机为核心控制部件,并通过四位数码管显示实时温度的一种数字温度计。软件方面采用汇编语言来进行程序设计,使指
2、令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。关键词:单片机系统;传感器;数据采集;模数转换器;温度AbstractIn recent years along with computer penetration in the social sphere, SCM applications are constantly deepening, led the traditional control test at the same time ever updated.In this paper, from
3、 two aspects of hardware and software about automatic temperature control process, the control process is mainly used AT89C51, ADC0809, LED display, LM324 comparator, but mainly through the DS18B20 digital temperature sensor to collect the environmental temperature, the single-chip microcomputer as
4、the core control component, and through four digital tube display real-time temperature of a digital thermometer. Software using assembly language to program design, so that the instruction execution speed, save the memory space. In order to facilitate the expansion and the change, the software desi
5、gn uses the modular structure, make the logic relation of designing program more concise, making hardware tocoordinatetheoperation under the software control.Keywords: SCM system; sensor; data acquisition; a / D converter temperature;目 录1 绪 论21.1课题的背景及其意义21.2课题研究的内容及要求312.1 课题的主要研究的内容32 AT89C51系列单片机
6、介绍及硬件设计52.1 AT89C51系列单片机介绍52.1.1 AT89C51系列基本组成及特性52.1.2 AT89C51系列引脚功能62.1.3 AT89C51系列单片机的功能单元822 硬件设计112.2.1 温度采样部分112.22 控制温度132.2.3 模数转换部分142.2.4 模数转换技术142.2.5 积分型模数转换器142.2.6 显示部分153 软件设计173.1主程序流程图173.2 读温度子程序173.3 计算温度子程序183.4按键流程图193.5 显示流程图20结 论22参考文献23谢 辞241 绪 论1.1课题的背景及其意义现代工业设计,工程建设及日常生活中温
7、度控制都起着重要的作用,早期的温度控制主要用于工厂时间生产中,能起到实时采集温度数据,提高生产效率,产品质量之用。随着人们生活质量的提高,现代社会中的温度控制不仅应用在工厂生产方面也应用于酒店,厂房以及家庭生活中,在有些应用中,如高精度的生产厂房,对温度的要求极其严格,温度的变化极有可能对生产的产品造成极大的影响。因此,这就需要一种能够及时检测温度变化以及温度变化的设备,提供温度数据值,使人们对温度的变化做及时的调整,多点温度控制可根据人们不同的应用环境自行设置该环境的温度值,及时反映生产,生活中温度变化使人们能及时看到温度变化的第一手资料,提示人们温度变化情况,协助人们能及时的调整,起到温度
8、报警作用,使温度控制更好的服务于社会生产,生活。电子技术的飞速发展,给人类的生活带来了根本的的变革,特别是随着大规模集成电路的产生而出现了微型计算机,更是将人类社会带入了一个新的时代。利用微机的强大功能。人们可以完成各种各样的控制。然而,微机造价高,对于大多数的工业控制来说,也并不需要微机那样强大的功能,于是单片机就运用而生了。单片机其实就是一个简化的微机,将微机的CPU,存储器,I/O接口。定时器/计数器等集成在一片芯片上就是单片机了,它主要用来完成各种控制功能。相对微机来说,单片机价格低,非常适合于应用在简单 的控制场合以降低成本。另外,单片机是按照工业控制要求设计的,其可靠性很高,可在工
9、业现场复杂的环境下运行。单片机依靠其高的可靠性和极高的性价比,在工业控制,数据采集,智能化仪表,家用电器等方面得到极为广泛的应用。温度是表征物体冷热程度的物理量,温度测量则是工农业生产过程中一个很重要而普遍的参数。温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断增加丰富来满足生产生活中的需要。在单片机温度测量系统中的关键是测量温度、控制温度和保持温度,温度测量是工业对象中主要的被控参数之一。因此,单片机温度测量则是对温度
10、进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业等重要工业领域中,担负着重要的测量任务。在日常生活中,也可广泛实用于地热、空调器、电加热器等各种家庭室温测量及工业设备温度测量场合。但温度是一个模拟量,如果采用适当的技术和元件,将模拟的温度量转化为数字量虽不困难,但电路较复杂,成本较高。1.2课题研究的内容及要求12.1 课题的主要研究的内容 本文所要研究的课题是基于单片机控制的水温控制系统的设计,主要是介绍了对水箱温度的显示、控制及报警,实现了温度的实时显示及控制。水箱水温控制部分,提出了用DS18S20、AT89C51单片机及LED的硬件电路
11、完成对水温的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现对加热电阻丝的实时控制及超出设定的上下限温度的报警系统。而炉内温度控制部分,采用一套PID闭环负反馈控制系统,由DS18S20检测炉内温度,用中值滤波的方法取一个值存入程序存取器内部一个单元作为最后检测信号,并在LED中显示。控制器是用89C51单片机,用PID算法对检测信号和设定值的差值进行调节后输出控制信号给执行机构,去调节电阻炉的加热功率,从而控制炉内温度。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点的温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片D
12、S18S20都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18S20供电,而且不需要额外电源。同时DS18S20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时自动启动加热装置等功能。而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分和人机对话部分来共同实现温度的监测与控制。1.
13、2.2 用单片机实现其具体控制功能如下:(1)能够连续测量水的温度值,用十进制数码管来显示水的实际温度。(2)能够设定水的温度值,设定范围是3090。(3)能够实现水温的自动控制,如果设定水温为85,则能使水温保持恒定在85的温度下运行。(4)用单片机AT89C51控制,通过按键来控制水温的设定值,数值采用数码管显示。2 AT89C51系列单片机介绍及硬件设计2.1 AT89C51系列单片机介绍2.1.1 AT89C51系列基本组成及特性AT89C51是一种带4k字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Me
14、mory)的低电压,高性能CMOS8位微处理器,俗称单片机。而在众多的51系列单片机中,要算 ATMEL 公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。而这种单片机对开发设备的要求很低,开发时间也大大缩短。AT89C51基本功能描述如下:AT89C51是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼
15、容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积, 增加系统的可靠性,降低了系统成本。只要程序长度小于4k, 四个I/O口全部提供给用户。可用5V电压编程,而且写入时间仅10毫秒, 仅为8751/87C51 的擦除时间的百分之一,与8751/87C51的12V电压擦写相比, 不易损坏器件, 没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。AT89C51 芯片提供三级程序存储器锁定加密, 提供了方便灵活而可靠的硬加密手段, 能完全保证程序或系统不被仿制。另外,AT89C51 还具
16、有MCS-51系列单片机的所有优点。1288 位内部RAM, 32 位双向输入输出线, 两个十六位定时器/计时器, 5个中断源, 两级中断优先级, 一个全双工异步串行口及时钟发生器等。AT89C51有间歇、掉电两种工作模式。间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU可根据工作情况适时地进入睡眠状态, 内部RAM和所有特殊的寄存器值将保持不变。这种状态可被任何一个中断所终止或通过硬件复位。掉电模式是VCC电压低于电源下限, 当振荡器停止振动时, CPU 停止执行指令。该芯片内RAM和特殊功能寄存器值保持不变, 一直到掉电模式被终止。只有VCC电压恢复到正常工作范围而且在振
17、荡器稳定振荡后,通过硬件复位、掉电模式可被终止。2.1.2 AT89C51系列引脚功能AT89C51有40引脚双列直插(DIP)形式。其与80C51引脚结构基本相同,其逻辑引脚图如图2-1。 图2-1 AT89C51逻辑引脚图各引脚功能叙述如下:1电源和晶振VCC运行和程序校验时加+5VGND接地XTAL1输入到振荡器的反向放大器XTAL2反向放大器的输出,输入到内部时钟发生器(当使用外部振荡器时,XTAL1接地,XTAL2接收振荡器信号)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位
18、字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。2I/O(4个口,32根)P0口8位、漏极开路的双向I/O口。当使用片外存储器(ROM、RAM)时,作地址和数据分时复用。在程序校验期间,输出指令字节(需加外部上拉电路)。P0口(作为总线时)能驱动8个LSTTL负载。P1口8位
19、、准双向I/O口。在编程/校验期间,用于输入低位字节地址。P1口可驱动4个LSTTL负载。对于80C51,P1.0T2,是定时器的计数端且位输入;P1.1T2EX,是定时器的外部输入端。这时,读两个特殊输入引脚的输出锁存器应由程序置1。P2口8位、准双向I/O口。当使用片外存储器(ROM及RAM)时,输出高8位地址。在编程/校验期间,接收高位字节地址。P2口可以驱动4个LSTTL负载。P3口8位、准双向I/O口,具有内部上拉电路。P3口提供各种替代功能。在提供这些功能时,其输出锁存器应由程序置1。P3口可以输入/输出4个LSTTL负载。3串行口P3.0RXD(串行输入口),输入。P3.1TXD
20、(串行输出口),输出。4中断P3.2INT0外部中断0,输入。P3.3INT1外部中断1,输入。5定时器/计数器P3.4T0定时器/计数器0的外部输入,输入。P3.5T1定时器/计数器1的外部输入,输入。6数据存储器选通P3.6WR低电平有效,输出,片外存储器写选通。P3.7RD低电平有效,输出,片外存储器读选通。7控制线(共4根)输入:RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。EA/Vpp片外程序存储器访问允许信号,低电平有效。在编程时,其上施加21V的编程电压。注意:在加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在F
21、LASH编程期间,此引脚也用于施加12V编程电源(VPP)。输入、输出:ALE/PROG地址锁存允许信号,输出。ALE以1/6的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。在EPROM编程期间,作输入,输入编程脉冲(PROG)。ALE可以驱动8个LSTTL负载。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。注意:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上
22、置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。输出:PSEN片外程序存储器选通信号,低电平有效。在从片外程序存储器取址期间,在每个机器周期中,当PSEN有效时,程序存储器的内容被送上P0口(数据总线)。PSEN可以驱动8个LSTTL负载。2.1.3 AT89C51系列单片机的功能单元1并行I/O接口:单片机芯片内有一项主要功能就是并行I/O口。51系列共有4个8位的并行I/O口,分别记作P0、P1、P2、P3每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且
23、具有字节寻址和位寻址功能。在访问片外扩展存储器时,低八位地址和数据由P0口分时传送,高八位地址由P2口传送。2定时器/计数器定时器/计数器(timer/counter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路都大有好处。C51系列包含有两个16位的可编程定时器/计数器分别称为定时器/计数器T0和定时器/计数器T1;在C51部分产品中,还包含有一个用做看门狗的8位定时器。定时器/计数器的核心是一个加1计数引脚上施加器,其基本功能是加1功能。在单片机的定时器T0或T1中,有一个定时器发生由0到1的跳变时,计数器增1,即为计数功能;在单片机内部对机器周期
24、或其分频进行计数,从而得到定时,这就是定时功能。在单片机中,定时功能和计数功能的设定和控制都是通过软件来进行的。定时器/计数器内部结构及其原理:由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。当定时器/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因为C51系列单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率fc=fosc/12。如果单片机系统采用12MHz晶振,则计数周期为: (2-1) 这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。当定时器/计数
25、器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以最高检测频率为振荡频率的1/24。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。3振荡器 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放
26、大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。当输入至内部时钟信号时要通过一个二分频触发器,而对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉
27、电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。5中断系统中断系统是单片机的重要组成部分。实时控制、故障自动处理、单片机与外围设备间的数据传送往往采用中断系统。中断系统大大提高了系统的效率。C51系统有关中断的寄存器有4个,分别为中断源寄存器TCON和SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP;中断源有5个,分别为外部中断0请求INT0、外部中断1请求INT1、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求R1或T1。5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定
28、的中断入口地址。中断的特点是分时操作,实时处理和故障处理。 简单介绍一下本次设计所需的单片机芯片AT89C51的中断系统中要用到的中断类型。(1) 外部中断源AT89C51有INT0和INT1两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或负边沿两种中断触发方式来输入中断请求信号。AT89C51究竟工作于哪种中断触发方式,可由用户对定时器控制寄存器TCON中IT0和IT1位状态的设定来选取。AT89C51在每个机器周期的S5P2时对INT0、线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。若AT89C51设定为电平触发方式(IT0=0或I
29、T1=0),则CPU检测到INT0、INT1上低电平时就可认定其上中断请求有效;若设定为边沿触发方式(IT0=1或IT1=1),则CPU需要两次检测INT0、INT1线上电平方能确定其上中断请求是否有效,即前一次检测为高电平和后一次检测为低电平时中断请求才有效。(2) 定时器溢出中断源定时器溢出中断由AT89C51内部定时器分的中断源产生,故它们属于内部中断。AT89C51内部有两个16位定时器/计数器,受内部定时脉冲(主脉冲经12分频后)或T0/T1引脚上输入的外部定时脉冲计数。定时器T0/T1在定时脉冲作用下从全“1”变成全“0”时可以自动向CPU提出溢出中断请求,以表明定时器T0或T1的
30、定时时间已到。 (3) 串行口中断源串行口中断由AT89C51内部串行口的中断源产生,也是一种内部中断。串行口中断分为串行口发送中断和串行口接收中断两种。在串行口进行发送/接收数据时,每当串行口发送/接收完一组串行数据时串行口电路自动使串行口控制寄存器SCON中的RI或TI中断标志位置位,并自动向CPU发出串行口中断请求,CPU响应串行口中断后便立即转入串行口中断服务程序执行。因此,只要在串行口中断服务程序中安排一段对SCON中RI和TI中断标志位状态的判断程序,便可区分串行口发生了接收中断请求还是发送中断请求。(4) 中断标志AT89C51在S5P2时检测(或接收)外部(内部)中断源发来的中
31、断请求信号后先使相应中断标志位置位,然后便在下个机器周期检测这些中断标志位状态,以决定是否响应该中断。22 硬件设计本设计采用按键作为输入控制,通过温度多采样单元采集温度信息,经过LM324放大器放大及ADC0809数模转换器将其转换,由主机AT89C51进行处理并将实际温度值和设定温度值分别显示在共阳极数码显示管LED上。2.2.1 温度采样部分温度采样单元用于采集被控制对象的温度采集参数,它由温度电压转换,小信号放大及A/D转换三部分组成,其中将温度转化为电量的温度电压转换由温度传感器热敏电阻实现,A/D转换选择模数转换器ADC0809将采集的温度模拟信号转换为8255能处理的二进制数字信
32、号。ADC0809是位A/D转换芯片,它是采用逐次逼近的方法完成A/D转换的。ADC0809由单+5V电源供电;片内带有锁存功能的8路模拟多路开关,可对8路05V的输入模拟电压分时进行转换,完成一次转换约需100S;片内具有多路开关的地址译码器和锁存器、高阻抗斩波器、稳定的比较器,256电阻T型网络和树状电子开关以及逐次逼近寄存器。ADC0809是引脚双列直插式封装,引脚及其功能(图2.1):1D7D0:8位数字量输出引脚。2IN0IN7:8路模拟量输入引脚。3VCC:+5V工作电压。4GND:接地。5REF(+):参考电压正端。6REF(-):参考电压负端。7START:A/D转换启动信号输
33、入端。8A、B、C:地址输入端。9ALE:地址锁存允许信号输入端。10EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。11OE: 输出允许控制端,用以打开三态数据输出锁存器。12CLK:时钟信号输入端,译码后可选通IN0IN7八个通道中的一个进行转换。图2-1.1 ADC0809的管脚图温度采样单元,如2.2所示,用于采集被控对象的温度参数,它由温度电压转换、小信号放大及A/D转换三部分组成。其中,将温度转化为电量的温度电压转换由温度传感器-热敏电阻实现,小信号放大由桥式放大电路实现,A/D转换选择模数转换器ADC0809,将采集到的温度模拟信号转换为AT89C51能够
34、处理的二进制数字信号。图2-2 温度采样单元该系统的下位机8255单片机作为控制核心,负责采集现场温度值。温度传感器将温度转换为电压信号,经模数转换器ADC0809转换成8位数字量,并经8255的P1口进入单片机保存。上位PC机通过串行口与下位机联络,向下位机发送控制命令和接收下位机上传的数据以及进行人机交互。上位机采用VB 60进行人机交互界面设计,并利用其MSComm控件实现与下位机简单而高效的串行通信。充分发挥了单片机在实时数据采集和PC机对图形处理、显示以及数据库管理上的优点。使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而是形成了以网络为核心的分布式多点系统的发展趋势。2
35、.22 控制温度 单片机是集成了中央处理部件,存储器、定时器和各种输入输出设备等接口部件。具有集成度高,功能强、速度快、体积小、功耗小、使用方便、价格便宜等优点,在工业生产中,电流、电压、温度、压力流量和开关量都是常用的被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉中的温度进行检测和控制。采用单片机对温度进行控制方便、简单、灵活。而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。2.2.3 模数转换部分模数转换是将模拟输入信号转换为N位二进制数字输出信号的技术。采用数字信号处理能够方便地实现各种先进的自适应算法,完
36、成模拟电路无法实现的功能,因此,越来越多的模拟信号处理正在被数字技术所取代。与之相应的是,作为模拟系统和数字系统之间桥梁的模数转换的应用日趋广泛。为了满足市场的需求,各芯片制造公司不断推出性能更加先进的新产品、新技术,令人目不暇接。2.2.4 模数转换技术本次设计还涉及到数模转换技术,而模数转换技术包括采样、保持、量化和编码四个过程。1采样就是将一个连续变化的模拟信号x(t)转换成时间上离散的采样信号x(n)。根据奈奎斯特采样定理,对于采样信号x(t),如果采样频率fs大于或等于2fmax(fmax为x(t)最高频率成分),则可以无失真地重建恢复原始信号x(t)。实际上,由于模数转换器器件的非
37、线性失真、量化噪声及接收机噪声等因素的影响采样速率一般取fs=2.5fmax。通常采样脉冲的宽度tw是很短的,故采样输出是断续的窄脉冲。2要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。3量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。假设噪声信号在量化电平中是均匀分布的,则量化噪声均方值与量化间隔和模数转换器的输入阻抗值有关。4编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的,例如,采样和保持就利用一个电路连续完成,量化和编码也是在转换过程中同时实现的,且所用时间又是保持时间的一部分。2.2
38、.5 积分型模数转换器积分型模数转换器称双斜率或多斜率数据转换器,是应用最为广泛的转换器类型。双斜率转换器包括两个主要部分:一部分电路采样并量化输人电压,产生一个时域间隔或脉冲序列,再由一个计数器将其转换为数字量输出。双斜率转换器由1个带有输人切换开关的模拟积分器、1个比较器和1个计数单元构成。积分器对输入电压在固定的时间间隔内积分,该时间间隔通常对应于内部计数单元的最大计数。时间到达后将计数器复位并将积分器输入连接到反极性(负)参考电压。在这个反极性信号作用下,积分器被“反向积分”直到输出回到零,并使计数器终止,积分器复位。 积分型模数转换器的采样速度和带宽都非常低,但它们的精度可以做得很高
39、,并且抑制高频噪声和固定的低频干扰(如50 Hz或60 Hz)的能力,使其对于嘈杂的工业环境以及不要求高转换速率的应用非常有效。2.2.6 显示部分本部分电路主要使用七段数码管和移位寄存器芯片74LS164.单片机通过I2CC总线将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。由于单片机的时钟频率达到12M,移位寄存器的移位速度相当快,所以我们根本看不到数据是一位一位传输的。从人类视觉的角度看,就仿佛是全部数码管同步显示的一样。移位寄存器74LS164的引脚如图2-6所示:图2-12移位寄存器74LS164引脚图74LS
40、164为串行输入、并行输出移位寄存器,其引脚功能如下:A、B 串行输入端;Q0Q7 并行输出端; 清除端,低电平有效;CLK 时钟脉冲输入端,上升沿有效。多片74LS164串联,能实现多位LED静态显示。每扩展一片164就可增加一位显示。MR接+5V,不清除。在本系统中使用的移位寄存器74LS164时,是用芯片的贴片封装。贴片封装直接焊接在数码管电路的背面,这样既能实现强大的功能又合理利用电路的空间,而且整个显示电路小巧玲珑,在总安装时方便。采用移位寄存器控制数码管显示出本系统的数据,也是本系统的一个优点。图213 LED 显示电路3 软件设计3.1主程序流程图 系统的软件部分由主程序流程图、
41、中断子程序流程图、按键流程图和显示流程图四部分组成。系统的主程序流程图如图4-1,当有信号输入时,主程序启动,根据内部设定的条件逐步运行,达到设计目的。NY初 始 化处理按键、显示设定值启动A/D转换数值处理显示实际温度比较设定温度值和实际温度值是否大于?加 热开 始停 止图4-1主程序流程图3.2 读温度子程序本文选用AD590传感器,读出温度子程序的主要功能包括初始化,判断AD590是否存在。或存在则进行一系列的读操作,若不存在则返回。其程序流程图如图43所示。初始化存储操作命令ROM操作命令开始AD590存在?结束读取温度值否是图43读温度流程图3.3 计算温度子程序计算温度子程序将RA
42、M中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图44所示。开始温度值取补码置“”标志计算小数位温度BCD值温度零下计算整数位温度BCD值置“+”标志结束44计算温度子程序3.4按键流程图图4-3为系统的按键流程图。主要是通过人为的对外部按键的控制来调节系统的温度,从而实现系统对温度的手动和自动控制。NYN中 断P1.4=0?P1.5=0?P1.7=0?P1.6=0?转 IR1转 IR4转 IR2转 IR3返 回NYNYY图4-3 按键流程图3.5 显示流程图 图4-4为系统的显示流程图。主要是通过对传输过来的信号进行显示后,给操作者提供提示。已达到为本系统提供对温度的
43、显示和监控的目的。开 始结 束串行口初始化往缓冲区送数查段码送显示 图4-4 显示流程图 本章节主要讲的是单片机温度系统的软件设计部分的主要的流程图,这也是系统程序设计的基本设计思路,通过依照四部分的流程图进行设计,已达到对系统完整的运行,对温度的显示、监控和控制。结 论本系统能够实现单片机的温度控制系统的设计,在控制过程中主要应用AT89C51、ADC0809、LED显示器、LM324比较器,而主要是通过 DS18B20数字温度传感器采集环境温度,以单片机为核心控制部件,并通过四位数码管显示实时温度的一种数字温度计。这些单片机的功能都为我们实现电路提供了非常有利的条件,同时也为开发环境友好,
44、易用,方便,大大加快本系统设计开发。键盘的使用,是操作更为简洁,易懂,方便,迅速。本制作的设计中使用了继电器控制的只是插座电路,因此,该系统的可扩展性很强,随着插入插座的电器不同,可以实现许多其他功能的电路。本设计的单片机温度控制系统结构简单、测温准确,具有一定的实际使用价值。该智能温度控制器只是DS18B20数字温度传感器在温度控制领域的一个简单实例,还有许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短息的方式发送给用户能够随时对温度进行控制。参考文献1 唐俊翟.单片机原理与应用M. 冶金工业出版社, 2003 78-89 2 付家才.单片机控制工程实践技术M.化
45、学工业出版社 ,2004 69-82 3 陈丽芳.单片机原理与控制技术M. 东南大学出版社 ,2003 4 侯继红.ProtelSE实用技术教程M. 中国电力出版社 , 2004 56-65 5 沈庆阳.8051单片机实践与应用M. 清华大学出版社, 2004 6 朱定华.微机原理与借口技术M. 清华大学出版社 , 2004 7 温冬婵. 汇编语言程序设计M. 清华大学出版社 , 2004 112-1328. 马忠梅.单片机的C语言应用程序设计M. 北京航空航天大学出版社,1998 115-1249. 李晓荃. 单片机原理与应用M. 电子工业出版社,2000年8月10. 何立民. AVR单片机
46、原理与接口技术M. 北京航空航天大学出版社,2002 67-8611. 杨帮文. 新型继电器实用手册M. 北京人民邮电出版社.200412. 何立民. 单片机的语言应用程序设计M. 北京航空航天大学出版社,1997 143-16413.何希才.传感器及其应用电路M.北京:电子工业出版社,2001.131-135.14.丁镇生.传感器及传感技术应用M.北京:电子工业出版社,1998.15.王家桢.传感器与变送器M.北京:清华大学出版社,1996.16.曾巧媛.单片机原理及应用M.北京:电子工业出版社.200217何力民.单片机高级教程M.北京:北京航空大学出版社.200018.金发庆.传感器技术与应用M.北京:北京机械工业出版社.2000谢 辞为期一个月论文(设计)已经接近尾声了,我的大学生涯也即将圈上一个句号。论文是我对这三