




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的饮水机温度控制系统摘 要 随着计算机在社会领域的渗透, 单片机的应用正在不断地深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及具体应用对象特点的软件结合,以作完善。 本论文从硬件和软件两方面来讲述单片机的温度控制系统,主要以AT89C51单片机为核心,温度信号AD590温度传感器采集,并以数字信号的方式传送给单片机,并通过两位数码管LED显示器显示实时温度的一种数字温度。在软件方面,采用汇编语言来进行程序设计,汇编语言指令的执行速度快,节省存储空间。为了便于为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。系统的过程:首先,通过设置按键,设定恒温运行时的温度值,并且用数码管显示这个温度值,然后,温度传感器 AD590从周围环境的不同位置采集温度,再通过模数转换器,最后,通过单片机 AT89C51 获取采集的温度值,进一步控制报警装置和控制装置。 关键词: 温度传感器 模数转换器 单片机 控制装置 报警系统 Abstract Along with the computer in the social sector penetration and MCU application is continuously thorough, and push the traditional control test on the new beneficial update. In real time detection and automatic control of the microcomputer application system, the MCU is often as a core component to use, only MCU aspects knowledge is not enough, should according to the specific hardware structure, and the specific application of the characteristics of the object software combination to be perfect. From two aspects of hardware and software to tell of the single chip microcomputer temperature control system, mainly AT89C51 as the core, temperature signal chipAD590 collection by the temperature, and the way to digital signal transfer to the single chip microcomputer, and through the four LED display shows real-time digital tube temperature of a digital temperature. In software, the assembly language for program design, assembly language instruction execution speed, save storage space. In order to facilitate the expansion and change, the software design using modular structure, make the program design logical relationship more concise and clear, make the hardware in the software under the control of the harmonious operation. The system process: first, by setting up button, set the temperature constant temperature operation, and with a digital pipe display the temperature, and then, from the surrounding environment temperature sensor AD590 different positions of the collection temperature, again through the adc, finally, through the single-chip microcomputer AT89SC51 obtain collection value and further control alarm device and refrigeration equipment. Keywords: Temperature sensor ,A/D converter ,MCU control device ,alarm system 目录第1章 绪论11.1课题的背景及其意义11.2课题研究的内容及要求61.3课题的研究方案图7第2章 理论基础72.1 AD590温度传感器72.2 ADC0809模数转换器92.3运算放大器OP07112.4单片机的发展历程122.5 AT89C51系列单片机介绍142.5.1 AT89C51系列基本组成及其功能142.5.2 AT89C51系列引脚及其功能152.5.3 AT89C51系列单片机的单元功能172.6数码显示管LED19第3章 硬件电路图设计203.1键盘控制单元203.2温度采样部分223.3模数转换部分223.4显示部分233.5报警部分253.6控制电路部分26第4章 软件流程图设计274.1主程序流程图274.2 A/D转换程序流程图284.3按键流程图294.4控制子程序流图304.5显示子程序流图31第5章 系统调试及结论分析335.1硬件调试335.1.1硬件电路故障及解决方法335.1.2硬件调试方法335.2软件调试345.2.1软件电路故障及解决方法345.2.2软件调试方法355.3结论分析35第6章 总结36总结36参考文献37第一章 前言1.1课题的背景及其意义:二十一世纪是科技高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量。因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制和测量也成为了生活生产中频繁使用的词语,同时它们在各行各业中也发挥着重要的作用。如在日趋发达的工业之中,利用测量与控制温度来保证生产的正常运行。在农业中,用于保证蔬菜大棚的恒温保产等。温度是表征物体冷热程度的物理量,温度测量则是工农业生产过程中一个很重要而普遍的参数。温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断增加丰富来满足生产生活中的需要。在单片机温度测量系统中的关键是测量温度、控制温度和保持温度,温度测量是工业对象中主要的被控参数之一。因此,单片机温度测量则是对温度进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业等重要工业领域中,担负着重要的测量任务。在日常生活中,也可广泛实用于地热、空调器、电加热器等各种家庭室温测量及工业设备温度测量场合。但温度是一个模拟量,如果采用适当的技术和元件,将模拟的温度量转化为数字量虽不困难,但电路较复杂,成本较高。温度控制无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,而当今,我国农村的锅炉取暖等大多数都没有温度监控系统,部分厂矿,企业还一直沿用简单的温度设备和纸质数据记录仪。无法实现温度数据的测量与控制。随着社会经济的高速发展,越来越多的生产部门和生产环节对温度控制精度的可靠性和稳定性等有了更高的要求。传统的温度控制器控制精度普遍不高,不能满足对温度要求较为苛刻的生产环节。此次的智能温度控制系统的设计基于此而设计,针对一些大型公共场合,为达到对其温度的良好控制,从实用的角度以AT89C51为核心设计一套温度智能控制系统。其控制温度不是一个点,而是一个范围。系统以AT89C51单片机为核心,组成一个集温度的采集、处理、显示、自动控制为一身的闭环控制系统。 该智能温度控制系统功耗低,本系统运行情况良好且经济可靠。能利用最少的资源对不同温度进行高精度的测量,信息性能可靠、操作便利,复杂的工作通过软件编程来完成,可以方便的获取结果,在实际的使用中获得了理想的效果。1.2课题研究的内容及要求:1、课题的主要研究的内容: 本文所要研究的课题是基于单片机控制的温制系统的设计,主要是介绍了对温度的显示、控制及报警,实现了温度的实时显示及控制。温度传感器 DS18B20 从设备环境采集温度,单片机 AT89C51 获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备 (压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) 。 2、 设计要求:设计基于单片计算机的温度控制器,用于控制温度。具体要求如下: 1. 温度连续可调,范围为0-90 2. 超调量%20% 3. 温度误差1 4. 人-机对话方便 1.3课题的研究方案图: A T 单 8 9 片 C 5 机 1 温度采集 数据显示 报警装置 键盘设定 制冷和加热装置第2章 理论基础2.1 AD590温度传感器:AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下: 1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即: mA/K 式中;流过器件(AD590)的电流,单位为mA;T热力学温度,单位为K。 2、AD590的测温范围为-55+150。 3、AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 4、输出电阻为710MW。 AD590的管脚图及元件符号如下图所示:AD590的输出电流值说明如下: 其输出电流是以绝对温度零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流Iout=(273+25)=298A。 AD590基本应用电路:注意事项:1、Vo的值为Io乘上10K,以室温25而言,输出值为10K298A=2.982、测量Vo时,不可分出任何电流,否则测量值会不准。 AD590温度传感器实际应用电路:电路分析:1、AD590的输出电流I=(273+T)A(T为摄氏温度),因此测量的电压V为(273+T)A10K=(2.73+T/100)V。为了将电压测量出来又务须使输出电流I不分流出来,我们使用电压跟随器其输出电压V2等于输入电压V。2、由于一般电源供应教多器件之后,电源是带杂波的,因此我们使用齐纳二极管作为稳压元件,再利用可变电阻分压,其输出电压V1需调整至2.73V 3、接下来我们使用差动放大器其输出Vo为(100K/10K)(V2-V1)=T/10,如果现在为摄氏28,输出电压为2.8V,输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线形比例关系。2.2 ADC0809模数转换器ADC0809是位A/D转换芯片,它是采用逐次逼近的方法完成A/D转换的。ADC0809由单+5V电源供电;片内带有锁存功能的8路模拟多路开关,可对8路05V的输入模拟电压分时进行转换,完成一次转换约需100S;片内具有多路开关的地址译码器和锁存器、高阻抗斩波器、稳定的比较器,256电阻T型网络和树状电子开关以及逐次逼近寄存器。ADC0809是引脚双列直插式封装,引脚及其功能: 1D7D0:8位数字量输出引脚。 2IN0IN7:8路模拟量输入引脚。 3VCC:+5V工作电压。 4GND:接地。 5REF(+):参考电压正端。 6REF(-):参考电压负端。 7START:A/D转换启动信号输入端。 8A、B、C:地址输入端。 9ALE:地址锁存允许信号输入端。 10EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。 11OE: 输出允许控制端,用以打开三态数据输出锁存器。 12CLK:时钟信号输入端,译码后可选通IN0IN7八个通道中的一个进行转换。 A、B、C的输入与被选通道的通道关系被选中的通道CBAIN0IN1IN2IN3IN4IN5IN6IN7000011110011001101010101 ADC0809的管脚图2.3运算放大器OP07本次设计所用的运算放大器是OP07,OP07的功能介绍: Op07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路。由于OP07具有非常低的输入失调电压(对于OP07A最大为25V),所以OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A为2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。工作电源电压范围是3V18V;OP07完全可以用单电源供电,5V,-5V绝对没有问题,用单5V也可以供电,但是线性区间太小,单电源供电,模拟地在1/2 VCC. 建议电源最好8V,否则线性区实在太小,放大倍数无法做大,一不小心,就充顶饱和了。通常+12V,-12V双电源供电。特点如下: 1.超低偏移: 150V最大; 2.低输入偏置电流: 1.8nA; 3.低失调电压漂移: 0.5V/; 4.超稳定,时间: 2V/month最大; 5.高电源电压范围: 3V至22V。 OP07 管脚图OP07芯片引脚功能说明: 1和8为偏置平衡(调零端),2为反向输入端,3为正向输入端,4接地,5空脚 6为输出,7接电源+。 输入失调电压调零电路常用的电路图: 典型的偏置电压试验电路 典型的低频噪声放大电路 精密绝对值电路2.4单片机的发展历程:1970年微型计算机研制成功之后,随之即出现了单片机(即单片微型计算机) 美国Intel公司1971年生产的4位单片机4004和1972年生产的雏形8位单片机8008,这也算是单片机的第一次公众亮相。1976年Intel公司首先推出能称为单片机的MCS-48系列单片微型计算机。它以体积小、功能全、价格低等特点,赢得了广泛的应用,同时一些与单片机有关公司都争相推出各自的单片机。1978年下半年Motorola公司推出M6800系列单片机,Zilog公司相继推出Z8单片机系列。1980年Intel公司在MCS-48系列基础上又推出高性能的MCS-51系列单片机。这类单片机均带有串行I/O口,定时器/计数器为16位,片内存储容量(RAM,ROM)都相应增大,并有优先级中断处理功能,单片机的功能、寻址范围都比早期的扩大了,它们是当时单片机应用的主流产品。1982年Mostek公司和Intel公司先后又推出了性能更高的16位单片机MK68200和MCS-96系列,NS公司和NEC公司也分别在原有8位单片机的基础上推出了16位单片机HPC16040和PD783系列。1987年Intel公司又宣布了性能比8096高两倍的CMOS型80C196,1988年推出带EPROM的87C196单片机。由于16位单片机推出的时间较迟、价格昂贵、开发设备有限等多种原因,至今还未得到广泛应用。而8位单片机已能满足大部分应用的需要,因此,在推出16位单片机的同时,高性能的新型8位单片机也不断问世。纵观这短短的20年,经历了4次更新换代,单片机正朝着集成化、多功能、多选择、高速度、低功耗、扩大存储容量和加强I/O功能及结构兼容的方向发展。新一代的80C51系列单片机除了上述的结构特性外,其最主要的技特点是向外部接口电路扩展,以实现微控制器(microcontroller)完善的控制功能为己任。这一系列单片机为外部提供了相当完善的总线结构,为系统的扩展和配置打下了良好的基础。由于80C51系列单片机所具有的一系列优越的特点,获得广泛使用指日可待。2.5 AT89C51系列单片机介绍:2.5.1 AT89C51系列基本组成及其功能:单片机即单片微型计算机,是把中央处理器、存储器、定时/计数器、输入输出接口都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器,但是目前在中国大陆仍多沿用“单片机”的称呼。AT89C51基本功能描述如下:AT89C51是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积, 增加系统的可靠性,降低了系统成本。只要程序长度小于4k, 四个I/O口全部提供给用户。可用5V电压编程,而且写入时间仅10毫秒, 仅为8751/87C51 的擦除时间的百分之一,与8751/87C51的12V电压擦写相比, 不易损坏器件, 没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。AT89C51 芯片提供三级程序存储器锁定加密, 提供了方便灵活而可靠的硬加密手段, 能完全保证程序或系统不被仿制。另外,AT89C51 还具有MCS-51系列单片机的所有优点。1288 位内部RAM, 32 位双向输入输出线, 两个十六位定时器/计时器, 5个中断源, 两级中断优先级, 一个全双工异步串行口及时钟发生器等。AT89C51有间歇、掉电两种工作模式。间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU可根据工作情况适时地进入睡眠状态, 内部RAM和所有特殊的寄存器值将保持不变。这种状态可被任何一个中断所终止或通过硬件复位。掉电模式是VCC电压低于电源下限, 当振荡器停止振动时, CPU 停 止执行指令。该芯片内RAM和特殊功能寄存器值保持不变, 一直到掉电模式被终止。只有VCC电压恢复到正常工作范围而且在振荡器稳定振荡后,通过硬件复位、 掉电模式可被终止。 2.5.2 AT89C51系列引脚及其功能: AT89C51有40引脚双列直插(DIP)形式,其逻辑引脚图:VCC:供电电压。GND:接地。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口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表: 端口功能第二功能端口引脚第二功能RXD(P3.0)串行输入口T0(P3.4)定时/计数器0外部输入TXD(P3.1)串行输出口T1(P3.5)定时/计数器1外部输入INT0(P3.2)外中断0WR(P3.6)外部数据存储器写选通INT1(P3.3)外中断1RD(P3.7)外部数据存储器读选通 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 2.5.3 AT89C51系列单片机的单元功能: 1并行I/O接口:单片机芯片内有一项主要功能就是并行I/O口。51系列共有4个8位的并行I/O口,分别记作P0、P1、P2、P3每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。在访问片外扩展存储器时,低八位地址和数据由P0口分时传送,高八位地址由P2口传送。 2定时器/计数器定时器/计数器(timer/counter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路都大有好处。C51系列包含有两个16位的可编程定时器/计数器分别称为定时器/计数器T0和定时器/计数器T1;在C51部分产品中,还包含有一个用做看门狗的8位定时器。定时器/计数器的核心是一个加1计数引脚上施加器,其基本功能是加1功能。在单片机的定时器T0或T1中,有一个定时器发生由0到1的跳变时,计数器增1,即为计数功能;在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。在单片机中,定时功能和计数功能的设定和控制都是通过软件来进行的。定时器/计数器内部结构及其原理:由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。当定时器/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因为C51系列单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率fc=fosc/12。如果单片机系统采用12MHz晶振,则计数周期为: 这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。当定时器/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以最高检测频率为振荡频率的1/24。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。3振荡器 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。当输入至内部时钟信号时要通过一个二分频触发器,而对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 4芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 5中断系统中断系统是单片机的重要组成部分。实时控制、故障自动处理、单片机与外围设备间的数据传送往往采用中断系统。中断系统大大提高了系统的效率。C51系统有关中断的寄存器有4个,分别为中断源寄存器TCON和SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP;中断源有5个,分别为外部中断0请求INT0、外部中断1请求INT1、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求R1或T1。5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定的中断入口地址。2.6数码显示管LED:数码显示管LED引脚图LED显示器是单片机应用系统中常见的输出器件,而在单片机的应用上也是被广泛运用的。如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。 LED数码管作为显示字段的数码型显示器件,它是由若干个发光二极管组成的。当发光二极管导通时,相应的一个点或一个笔画发亮,控制不同组合的二极管导通,就能显示出各种字符,常用的LED数码管有7段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连在一起,通常此共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极接在一起,通常此共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。本次设计所用的LED数码管显示器为共阳极。LED数码管的使用与发光二极管相同,根据材料不同正向压降一般为1.52V,额定电流为10MA,最大电流为40MA。静态显示时取10MA为宜,动态扫描显示可加大脉冲电流,但一般不超过40MA。第3章 硬件设计本设计采用按键作为输入控制,通过温度多采样单元采集温度信息,经过OP07放大器放大及ADC0809数模转换器将其转换,由主机AT89C51进行处理并将实际温度值和设定温度值分别显示在共阳极数码显示管LED上。单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。 3.1键盘控制单元键盘在单片机应用系统中能实现向单片机输入数据、传送命令功能,是人工干预单片机的主要手段。键盘实质上是一组按键开关集合。通常键盘所用开关为机械弹性开关,均利用了机械触点的合、断作用。键的闭合与否,反映在输出电压是呈现高电平或低电平,如果高电平表示断开的话,那么低电平则表示键闭合,所以通过对电平高低状态的检测,便可确认按键按下与否。为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响,这样才能使键盘在单片机系统中的使用得更加稳定。常用的键盘接口分为独立式按键接口和矩阵式键盘接口。根据本系统的设计特点及要求,键盘的功能主要是用来设置温度上下限,因此本设计采用独立式键盘来完成这一功能要求。其电路连接如图3.1所示。 图3.1 独立式键盘与AT89C51连接图1键盘电路及其说明 独立式按键就是各个按键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线的电平状态就可以很容易的判断出是哪一个按键按下了。独立式按键电路配置灵活,软件简单。但每一个按键需占用一根输入口线,在按键数量较多时学要较多的输入口线且电路结构复杂,故此种键盘适用与按键较少或操作速度较高的场合。本设计,采用四按键键盘,所以在四个I/O口上接四个按键组成一个四按键的简易式键盘。各线通过电阻接+5V,当键盘上没有键闭合时,所有的线断开,呈高电平状态。当键盘上某一个键闭合时,该键所对应的线与连接单片机的线短路。例如:当S1号按键闭合时,它所在的线与连接线短路,使P3.2口为低电平,通过软件里对P3口查寻,如果只有P3.2口为低电平,那么就可以确定是S1键按下了,通过在软件里的设定,行使S1键的功能。如果同时有多个P3口为低电平,则报警显示,然后检查是否有多个键按下,直到只有一个P3口为低电平时,停止报警,那个低电平的P3口上连接的按键则为按下的键,在软件里执行他应该达到的功能。2键盘功能说明S1:模式设置键,按一下进入到加热系统设置状态,再按一下切换到制冷系统设置状态;S2:步进加键,每按一下,要设置的限制值加1;S3:步进减键,每按一下,要设置的限制值减1;S4:确定键,确定前面所设的温度值。当S1键按1下,进入加热或制冷模式后,数码管显示为00,00代表温度设置起点温度。再按下按键S2数码管显示值将逐步从个位数往上加,直到想要设置的温度值,而按键S3是步进减键,按键每下一次,个位数减1。S4键是确定键,通过它来确定前面所设定的数值。3键盘的机械抖动若Y0为低电平,S1号键闭合一次,图中t1和t3分别为键的闭合和断开过程中的抖动期(呈现一串负脉冲),抖动时间长短和开关的机械特性有关,一般为510ms,t2为稳定的闭合期,其时间由按键动作所确定,一般为十分之几秒到几秒,t0、t4为断开期。为了保证CPU对键盘的闭合仅作一次处理,在软件中必须去除抖动,在第一次检测到有按键下时,执行一段延时10ms的子程序后确认该按键电平是否仍保持闭合状态电平,如果闭合状态电平则确认有按键下,从而消除抖动的影响。键盘的机械抖动示意图如图3.2所示。 图3.2 键盘的机械抖动示意图3.2温度采样部分 图3.3 温度采集电路3.3模数转换部分模数转换是将模拟输入信号转换为N位二进制数字输出信号的技术。采用数字信号处理能够方便地实现各种先进的自适应算法,完成模拟电路无法实现的功能,因此,越来越多的模拟信号处理正在被数字技术所取代。与之相应的是,作为模拟系统和数字系统之间桥梁的模数转换的应用日趋广泛。为了满足市场的需求,各芯片制造公司不断推出性能更加先进的新产品、新技术,令人目不暇接。A/D转换器ADC0809共有八路模拟输入端,由于本设计温度采集只有两路,因此只用到两路模拟输入端,其输入通道为IN0、IN1。这两个通道的数据分别是温度采集电路的输出信号V01、V02,也就是转换为电压值的饮水机两个水箱水的温度值。选择这两个通道需要通过设置ADC0809的ADDA、B、C的值,因为它对应的是八路模拟信号,而本系统只有两路模拟信号输入,因此,只需要将低位ADDA连到AT89C51的P2.2口,并根据P2.2口的电压是低电平或高电平来选择要检测哪个通道,当ADDA值为0时选的是IN0通道,当ADDA为1时选的是IN1 通道。而ADDB、ADDC只需接地即可。 图3.4 A/D转换电路3.4 显示电路设计大多数的单片机应用系统,都要配置输入设备和输出设备。本系统的输出设备是显示器,根据本系统的设计特点,采用七段LED数码管作为显示器。而本系统设计要求温度检测范围095,精度1。数码管只需显示两位即可达到要求,因此,显示部分电路采用两个一位的LED数码管来组成显示器,没有要求显示小数点,LED数码管的dp脚悬空。本设计显示电路的应用有两点,一是实时显示水的温度值,另一个是显示键盘设定的温度上、下限值。其电路连接如图3.5所示。 图3.5 显示部分电路通过一个74LS47连接7个100欧姆的电阻来驱动数码管显示。数码管的VCC脚分别连接到两个三极管的共射极,而三极管的共基极连到一起接到+5V电源上。共集极分别连接两个4.7K的电阻接到单片机AT89C51的P1.4、P1.5管脚。LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中应用非常普遍,通常使用的是七段LED,这种显示器有共阳极和共阴极两种,本设计选用的是共阳极。共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压5V。当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。使用LED显示器时,为了显示数字或符号,要为LED显示器提供代码,因为这些代码是通过各段亮与灭来为显示不同字型的。7段发光二极管,再加上一个小数点位,共计8段。因此提供给LED显示器的段码正好一个字节。各字节中对应关系如表2.3所示。表2.3 各段与字节中各位的对应关系表代码位D7D6D5D4D3D2D1D0显示段dp Gfedcba将单片机I/O口的8位线与显示块的发光二极管的引出端(adp)相连,共阳极高电平有效,选通有效后8位并行输出口输出不同的数据就点亮相应的发光二极管,获得不同的数字或字符。共阳极7段显示器显示数字对应的段码关系如表2.4所示。表2.4 7段LED数字与段码对应关系表显示数字0123456789共阳极段码C0HF9HA4HB0H99H92H82HF8H80H90H3.5 报警电路设计 报警电路主要是由发光二极管和蜂鸣器组成的,具有声、光报警功能的简单电路,其电路如图3.6所示。当温度超过设置的上、下限时,P2.2口输出高电平,三极管导通,蜂鸣器工作,发出声音。P2.3口输出高电平时,发光二极管正向导通,发光报警。 图3.6报警电路3.6 控制电路设计 该电路是由两个固态继电器作为控制开关,一个继电器控制加热装置,另一个继电器控制制冷装置。固态继电器是一种无触点通断型电子开关,是四端有源器件,其中两个端子为控制输入端,另外两个为输出受控端。为了实现输入与输出的隔离,器件采用了高耐压的光耦合器。当输入信号有效时,电路呈导通状态,反之,呈断开状态,可以实现类似电磁继电器的开关功能。固态继电器将MOSFET、GTR、普通晶闸管等组合在一起与触发电路封装在一个模块中,而且驱动电路与输出电路隔离。固态继电器是可控硅过零触发器,无触点,不用调节,对电网不会产生波形畸变。因此,非常适合本设计。控制电路工作原理:当AT89C51的RXD口输出一个高电平时,三极管开始工作,驱动继电器J1工作,继电器J1呈导通状态,加热装置开始工作。同样,当AT89C51的TXD口输出一个高电平时,三极管开始工作,驱动继电器J2工作,继电器J2开关闭合,制冷装置开始工作。控制部分电路图如图3.7所示: 图3.7 控制电路第4章 软件流程图设计系统软件设计也就是程序设计,就是在完成了硬件系统的基础上,再编写相应的程序,下载到芯片里,通过执行程序指令控制硬件,从而实现各种功能。一般来讲,软件的功能可分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等。另一类是监控软件,它专门协调执行模块和操作者的关系,在系统中充当组织协调的角色。软件设计就是用计算机所能接受的形式把解决问题的步骤描述出来。简单的说,软件设计就是编制计算机程序。一个好的程序应该完成规定的任务,而且应该层次清晰、易于阅读,并尽可能少占内存,缩短执行时间,但也不要一味地追求少占内存,缩短执行时间。这样做可能会使程序的可读性变差。随着大规模和超大规模集成电路的发展,芯片的内存容量也在不断的增加,计算机执行指令的时间也大大的缩短。因此,程序的长短和执行时间,不再显得那么重要,而程序的易读性和程序的开发周期,显得越来越重要。另外,在较复杂的程序设计中,必须充分考虑程序的可读性、稳定性、可扩展性、兼容性以及容错性等也是衡量与评价程序的优劣的重要指标。 由于用汇编语言编写的程序效率高,占用的内存单元和CPU资源少,执行速度快,还可直接访问存储器、输入/输出接口以及扩展的各种芯片,并可直接处理中断,直接管理和控制硬件设备,适用于实时控制系统,因此,本设计选用汇编语言来编写程序。4.1主程序流程图本设计的软件设计包括主程序、A/D转换子程序、键盘子程序、控制子程序及显示子程序。结合本系统的功能,程序长度不会超过AT89C51内部的程序存储器,所以硬件上不用外扩程序存储器。主程序流程如图4.1所示。本设计主程序工作过程为:首先对系统初始化,由于本系统要实现对饮水机的冷、热两个水箱的检测与控制,因此先要选择控制模式,这主要是经过硬件电路的按键S1来选择的。在确定进入加热或制冷模式后,调用A/D转换子程序对采集到的模拟量进行转换,转换完毕保存数据后,调用键盘子程序,这个子程序主要完成对温度上、下限的设置。完成设置后,调用控制子程序1或子程序2,通过对执行这个程序,实现报警、加热或制冷。最后调用显示子程序来显示温度值。整个系统是一个闭环的,系统工作是循环进行的,这也就实现了实时检测的设计要求。开始初始化进入加热模式?NY调用A/D转换子程序调用A/D转换子程序调用键盘子程序调用键盘子程序调用控制子程序1调用控制子程序2调用显示子程序 图4.1 主程序流程图4.2 A/D转换子程序图在这一模块的软件设计中,主要完成的是将采集电路采集到的模拟信号转换为数字信号,然后送到单片机进行处理,从而完成A/D转换部分的最后功能,该部分程序流程如4.2所示。根据设计的要求,程序先对端口初始化,根据模式选择的结果,选择其中一路的采集来的数据,然后启动A/D转换功能,在转换一段时间后,判断转换是否结束,如果结束就自动进入下一路的转换,否则继续转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗机构设备更新能耗控制实施方案
- 岸桥与场桥协同作业优化方案
- 毕业论文(设计)致谢6篇
- 大学论文致谢7篇
- 桥梁体外预应力加固施工方案
- 2025年肛裂护理知识综合测试答案及解析
- 供水管网与其他管线协调方案
- 施工安全隐患排查整治方案
- 2024年怒江州福贡县义务教育教师专项招聘真题
- 2025年老年医学常见疾病诊治检测答案及解析
- 老挝药品注册管理办法
- 建设工程项目协同作业方案
- GB/T 45972-2025装配式建筑用混凝土板材生产成套装备技术要求
- 电力营销稽查培训课件
- 绿色金融培训课件
- 2025安化事业单位笔试真题
- 文化创意产品设计及案例PPT完整全套教学课件
- 质量检验员培训课件
- 关于全面深化改革若干重大问题的决定
- 江西供电劳务服务收费标准表doc-附件1:江西省供电劳务
- 采购招标评审表【模板】
评论
0/150
提交评论