基于AT89C51单片机温度控制系统的实现1

山东科技大学继续教育学院 毕业设计 第 53 页 共53页基于AT89C51单片机温度控制系统的实现(时雷 08级自动化)摘 要:本文以AT89C51单片机组成温度检测、显示控制系统采用AD590检测温度值,通过A/D转换器输入单片机进行显示,并控制温度在给定范围内变化该系统具有功能强、可靠性好、控制简单等特点关键词:单片机,AD590,温度Key words:Single chip microcomputer, AD590,temperature,The system of signal chip microcomputer temperature control is made up of mcs51 series signal control microcomputer and all type of silicon chip .It forms a closed-loop control system about the measurement and control of temperature. Because the signal chip microcomputer has the advantage of powerful ability, cheap and convenient, the system made up with it is high depend, control simply and high accuracy. The design measures temperature by A/D converter. The signal chip microcomputer makes the error measurement by subtract the design value. It takes proportion control algorithm. This system controls the temperature by D/A converter. On the course of temperature measurement and control, the silicon chip 8279 monitor the temperature. The design value of temperature and proportion control parameter are taken to the signal chip microcomputer by operate. The design has the circuitry of temperature measurement by the resistance change. The output control is hold-space proportion control. The system displaying the control by the time of lamp on or off. If there are big difference between temperature design value and temperature measurement, the lamp light more long. And on the opposite, if the error is litter, the lamp turn on little time and turn off more time.It is said the turn on of lamp represent the course of heat and the turn off represent doesn’t heat. This is a perfect closed-loopily appliancontrol system. This system can used to famce office equipment and industry production. So we can say this system has well useable value.Key Words: closed-loop control system, proportion control algorithm, hold-space proportion control.目 录摘 要..............................................................................................................1第一章 单片机简介....................................................................................... 51-1. 单片机的发展历史...............................................................................51-2.单片机的结构与组成.............................................................................51-3.单片机系统框图.....................................................................................81-4.单片机编程语言介绍 ...........................................................................81-5.微控制器的抗干扰软件编程方法.........................................................9刷新端口引脚(Refreshing port pins).......................................................10 检测输入脚(Polling inputs)...................................................................10 标记通过(Token Passing)......................................................................10 未使用的内存(Unused Memory)..........................................................11第二章 单片机温度控制系统的硬件设计....................................................112-1.系统描述.................................................................................................112-2.性能介绍.................................................................................................122-3.系统结构框图.........................................................................................122-4.系统硬件设计.........................................................................................122-4-1.AT89C51单片机简介.........................................................................122-4-2.温度采集与显示电路设计..................................................................20一、温度采集电路...................... ...................................................................20集成温度传感器AD590简介....... ................................................................20OP07的作用....................................................................................................23数模转换器ADC0809.....................................................................................24二、显示电路..................................................................................................28三、键盘接口..................................................................................................31四、输出控制..................................................................................................32第三章 单片机温控系统的软件设计..........................................................333-1.系统总体电路设计................................................................................333-2.系统主程序............................................................................................343-3.系统子程序............................................................................................393-3-1.温度检测部分.....................................................................................393-3-2.显示部分.............................................................................................413-3-3.报警电路部分.................................................................................... 433-3-4.温度控制部分.....................................................................................453-3-5.键盘部分.............................................................................................48第四章 总 结 ............................................................................................52主要参考文献. ......................................... ......................................................53第一章 单片机简介1-1.单片机的发展历史单片微机(Single-Chip Microcomputer)简称单片机,也有的叫做微处理(Micro-Processor简写μP)或微控制器(Micro- Controller 简写μC),通常统称微型处理部件(Micro Controller Unit 简写MCU)。
通常单片机是在一块硅片上集成CPU、RAM、ROM、定时器/计数器和多种I/O的完整的数字处理系统二十世纪微电子、IC集成电路行业发展迅速,其中单片机行业的发展最引人注目单片机功能强、价格便宜、使用灵活,在计算机应用领域中发挥着极其重要的作用INTEL公司于1971年生产的第一个单片机Intel-4004,开创了电子应用的"智能化"新时代单片机以其高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的"霸主"地位,在PC机以286、386、Pentium、PIII高速更新换代的同时,单片机却"始终如一"地保持旺盛的生命力例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点1-2 单片机的结构与组成目前,单片机系统结构有两类:一是将程序和数据存储器分开使用,即哈佛(Harvard)结构,当前的单片机大都采用这种结构二是采用和PC机冯·诺依曼(Von Neumann)类似的原理,对程序和数据存储器不作逻辑上的区分,即普林斯顿(Princeton)结构ROM用来存放用户程序,可分为EPROM、OTP、ROM和FLASH等类 EPROM型存储器编程后其内容可用紫外线擦除,用户可反复使用,故特别适用于开发过程,但EPROM型单片机价格很高。
ROM型(掩膜型)存储器的单片机价格最低,它适用于大批量生产由于ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用 户要更改程序代码就十分不便,在产品未成熟时选用ROM型单片机风险较高 OTP型 (一次可编程)单片机介于EPROM和ROM型单片机之间,它允许用户自己对其编程, 但只能写入一次OTP型单片机生产多少完全可由用户自己掌握,不存在ROM型有最小起订量和掩膜费问题,另外,该类单片机价格已同掩膜型十分接近,故特别受中小批量客户的欢迎 Flash型(闪速型)单片机允许用户使用编程工具或在线快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎Flash型单片机即可用于开发过程,也可用于批量生产,随着制造工艺的改进,Flash型单片机价格不断下降,使用越来越普遍,它已是现代单片机的发展趋势随机存储器(RAM):用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百个字节RAM的内容是易失性(也有的称易挥发性)的,掉电后会丢失最近出现了EEPROM或FLASH型的数据存储器,方便用户存放不经常改变的数据及其它重要信息。
单片机通常还有特殊寄存器和通用寄存器,它们是单片机中存取速度最快的存储器,但通常存储空间很小中央处理器(CPU):是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成CPU就象人的大脑一样,决定了单片机的运算能力和处理速度并行输入/输出(I/O)端口:通常为独立的双向口,任何口既可以用作输入方式,又可以作输出方式,通过软件编程来设定现代的单片机的I/O口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备I/O是单片机的重要资源,也是衡量单片机功能的重要指标之一串口输入/输出口:用于单片机和串行设备或其他单片机的通信串行通信有同步和异步之分,这可以用硬件或通用串行收发器件来实现不同的单片机可能提供不同标准的串行通信接口,如USART、SPI、I2C、MicroWire等定时器/计数器(T/C):单片机内部用于精确定时或对外部事件(输入信号如脉冲)进行计数,有的单片机内部有多个定时/计数器 系统时钟:通常需要外接石英晶体或其他振荡源来提供时钟信号输入,也有的使用内部RC振荡器以上是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等等。
1-3.单片机系统框图1-4 单片机编程语言对于51系列单片机,现有四种语言支持,即汇编、PL/M,C和BASICBASIC通常附在PC机上,是初学编程的第一种语言 PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言,是一种结构化语言C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来 51的汇编语言非常像其他汇编语言指令系统比第一代微处理 器要强一些1-5 微控制器的抗干扰软件编程方法微控制器越来越多地用于各种电子应用之中,例如自动化、工业控制和用户产品市场中在嵌入式微控制器内部,对于内部产生的电磁辐射,采用软件措施的效果并不明显因为辐射主要是由于CPU中的内部时钟和噪声所引起,而且高速开关电流是由微控制器中的多种不同的门所形成如果芯片版面设计没有考虑电磁兼容性,那么外部的PCB(印制电路板)将会大大的增强那些不必要的噪声信号所以在很多设计中,采用软件很难消除这种固有的电子发射影响但是,在控制器应用中,抑制外来干扰的效果却可采用软件的方式来加强在很多的应用中,用简单的抗干扰设计,就可以对一个微控制器的干扰抑制效果大大提高。
这种抗干扰设计的魅力就在于实现该设计的费用较低,还可以节省PCB板上硬件成本抗干扰设计的常用技巧如下: 刷新端口引脚(Refreshing port pins):抗干扰软件最简单的一个例子就是可以不断地更新I/O端口和一些重要的寄存器在大多数微控制器的应用中,软件将会执行一个有规律的主循环由于微控制器的I/O端口通常位于靠近连接焊点(bond pads),而这些焊点通常是位于芯片的边沿当一个确定振幅的噪声施加到微控制器时,噪声将会从芯片的边沿向内传入硅晶体中这意味着芯片边沿的逻辑电路最容易被外部噪声源所破坏,输入/输出电路就属于这种类型因此有规律的更新数据寄存器和数据说明寄存器,就可以把这种故障的威胁降低 检测输入脚(Polling inputs):另一个方法就是采用多次读输入脚数据,且取平均值作为该脚的正确数据方式其典型应用就是用软件每隔10ms读一次键盘,以保证真实的键入发生这种表决式做法被称作反弹跳保护作为一种高频率检测某个端脚的HC05代码程序的问题在于当输入引脚是处于很嘈杂的环境时,CPU将会按这个程序持续很长时间,这在那些对时间要求较苛刻的应用中是不实际的更好的一个程序就是多次读出输入引脚,并使寄存器递增,如果结果小于某个数,那么就将它当作 0;如果大于某个数,就作为1。
这个程序通常会在有限时间内退出,以保证不会妨碍到该应用中其他程序的运行 标记通过(Token Passing):在一些重要的处理中,标记通过以确认任务已进入受控方式而未失去控制标记通过可以利用RAM里未用到的空间来完成在 应用的一段特定时间间隔里,该软件将通过许多未用的RAM空间循环一个1在任何一个重要任务被执行之前,这种循环检查将会得出结果如果检测通过,该任务将会被执行如果没通过,则说明微控制器是从未指定的跳转进入该任务,那么就跳转去执行一个初始化程序 未使用的内存(Unused Memory):在大多数的应用中,程序的存储器总有一些区域未使用如果在一些事件中,程序计数器(Program Counter)被破坏且跳转进入未用的存储空间,那么有些应该执行的控制就会起作用例如,在16K字节的程序空间里存在未使用的500Byte的子块如果我们用"SWI"指令填满这些未用空间, 那么任何指向未用地区的无效激励将会导致微控制器去读取SWI矢量,而该向量是被编程跳转到程序中的已知区域(Known Place)的的起始位置同样,在微控制器的应用中,SWI也可用其它函数来替代,以填充那些未用的区域。
第二章 单片机温度控制系统的硬件设计§2-1 系统描述本单片机温度控制系统是由AT89C51单片机扩展各种芯片,从而组成温度检测、控制的闭环系统单片机由于具备功能强、价格低廉、小巧方便等特点,由它组成控制系统可靠性高,控制简单,准确性高本设计由AD590采样温度值,通过A/D转换器与单片机AT89C51中设定值做比较判断,由LED数码管时时显示温度值,通过SSR实现对加热炉开关控制从而实现升温控制在温度采样和控制过程中通过单片机AT89C51对温度值实施监控,温度设定值参数由单片机扩展的4×4矩阵式键盘输入这是一个完整的闭环控制系统如果对其进一步完善和调整可用于家用电器、办公设备,以及工业生产过程中,因此,该系统具有很好的实用价值§2-2 性能介绍1.温度控制范围50℃~150℃2.显示精度为0.1℃ 3.特别适用于有要求恒定温度的环境 §2-3 系统结构框图P0 单片机AT89C51AD590SSRLCD显示器4×4拨码盘ADC080474LS47温度采集电路数字显示电路控制驱动电路加热炉控制输出电路环境温度放大器 §2-4.系统硬件设计2-4-1. 核心部件的选择比较几种MCS-51系列单片机产品特性,我们发现8031内部没有程序存储器;8051芯片采用HMOS,功耗是630mW,约是89C51的5倍;AT89C51是一种带4K字节Flash只读存储器的低电压,高性能CMOS 8位微处理器,该器件采用ATMEL高密度非易失存储器制造技术制造,支持12时钟和6 时钟操作。
本设计采用高性能的静态89C51为核心部件,与工业标准的MCS-51指令集和输出管脚相兼容由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案AT89C51单片机简介AT89C51包含128字节RAM、32条I/O口线、3个16位定时器/计数器、6输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信、I/O扩展或全双工UART)以及片内振荡器和时钟电路此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0)可实现两个由软件选择的节电模式——空闲模式和掉电模式空闲模式冻结CPU,但RAM、定时器、串口和中断系统仍然工作掉电模式保存RAM 的内容,但是冻结振荡器,导致所有其它的片内功能停止工作,由于设计是静态的,时钟可停止而不会丢失用户数据,运行可从时钟停止处恢复AT89C51单片机特性89C51 核心处理单元—4k 字节FLASH 89C51X2—128 字节RAM 89C51X2—布尔处理器—全静态操作12 时钟操作,可选6个时钟(通过软件或并行编程器)存储器寻址范围—64K字节ROM和64K字节RAM电源控制模式―时钟可停止和恢复―空闲模式―掉电模式两个工作频率范围—6时钟模式时为0到20MHz—12时钟模式时为0到33MHz双数据指针3 个加密位4 个中断优先级6 个中断源4 个8 位I/O 口全双工增强型UART―帧数据错误检测―自动地址识别3个16位定时/计数器T0,T1(标准80C51)和增加的T2(捕获和比较)可编程时钟输出异步端口复位低EMI (禁止ALE以及6时钟模式)掉电模式可通过外部中断唤醒表(2-4-1-1) 操作模式、电源电压以及最大外部时钟频率之间的关系操作模式电源电压最大时钟6-clock5V±10%20MHz12-clock5V±10%33MHz表(2-4-1-2) 产品编号含义AT89C51X21=128字节RAM 4K字节FLASH2=256字节RAM 8K字节FLASH4=256字节RAM 16K字节FLASH8=256字节RAM32K字节FLASHX2=可选6时钟9=FLASH存储器温度范围(B)封装B=0℃~70℃F= 40℃~ +85℃A=PLCCN=DIP BD=LQFPAT89C51引脚图图(2-4-1-1)AT89C51引脚图AT89C51X2端口描述P0口(39-32):P0口是开漏双向口,可以写为1使其状态为悬浮用作高阻输入。
P0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉电阻输出1P1口(1-8):P1口是带内部上拉电阻的双向I/O口,向P1口写入1时,P1口被内部上拉为高电平,可用作输入口,当作为输入脚时,被外部拉低的P1口会因为内部上拉而输出电流P1口第2功能:T2 (P1.0):定时/计数器2的外部计数输入/时钟输出(见可编程输出)T2EX(P1.1) :定时/计数器2 重装载/捕捉/方向控制P2口(21-28):P2口是带内部上拉电阻的双向I/O口,向P2口写入1时,P2口被内部上拉为高电平,可用作输入口当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流在访问外部程序存储器和外部数据时分别作为地址高位字节和16位地址(MOVX@DPTR),此时通过内部强上拉传送1当使用8位寻址方式(MOV @Ri )访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容P3口(10-17):P3口是带内部上拉电阻的双向I/O口,向P3口写入1时,P3口被内部上拉为高电平,可用作输入口当作为输入脚时,被外部拉低的P3口会因为内部上拉而输出电流P3口还具有以下特殊功能:RxD (p3.0):串行输入口TxD(P3.1):串行输出口INT0(P3.2):外部中断0INT1(P3.3):外部中断T0(P3.4):定时器0 外部输入T1(P3.5):定时器1 外部输入WR(P3.6):外部数据存储器写信号RD(P3.7):外部数据存储器读信号FLASH EPROM 存储器特性89C51在10000次擦除和编程之后仍能可靠保存FLASH存储器的内容。
存储单元的设计使得擦除和编程结构最优化此外,先进的沟道氧化工艺和低内部电场的结合使擦除和编程操作更加可靠其特性如下:带片擦除的FLASH EPROM内部程序存储器内部程序存储器禁止时EA=0外部程序存储器最多可达 64K可编程加密位每字节最少10000次擦除/编程周期数据最少可保存10年从一般销售商处可获得编程支持振荡器特性图(2-4-1-2)晶体振荡电路XTAL1 和XTAL2 为输入和输出,可分别作为一个反相放大器的输入和输出此管脚可配置为使用内部振荡器要使用外部时钟源驱动器件时,XTAL2可以不连接而由XTAL1驱动外部时钟信号无占空比的要求,因为时钟通过触发器二分频输入到内部时钟电路但高低电平的最长和最短时间必须符合手册的规定 可编程时钟输出可从P1.0编程输出50%占空比的时钟信号P1.0除了作为常规I/O口外还有两个可选功能它可编程为:1.用于定时/计数器2 的外部时钟输入2.使用16MHz 操作频率时,12时钟模式下输出50%占空比61Hz~4MHz时钟信号(6时钟模式时为122Hz~8M Hz)要将定时/计数器2配置为时钟发生器,C/T2(T2CON.1)必须清零,而T2MOD中的T20E位必须置位。
要启动定时器2 还必须将TR2(T2CON.2)置位时钟输出频率由振荡器频率和定时器2捕获寄存器的重新装入值确定公式如下:此处:n = 16(6时钟模式)或32(12时钟模式)(RCAP2H,RCAP2L)=RCAP2H和RCAP2L的内容作为一个16位无符号整数在时钟输出模式中,定时器2的翻转将不会产生中断,这和它作为波特率发生器时相似定时器2 可同时作为波特率发生器和时钟发生器但需要注意的是波特率和时钟输出频率相同图(2-4-1-3)AT89C5复位电路复位电路在振荡器工作时,将RST脚保持至少两个机器周期高电平(12时钟模式为24个振荡器周期,6时钟模式为12振荡器周期)可实现复位为了保证上电复位的可靠,RST保持高电平的时间至少为振荡器启动时间(通常为几个毫秒)再加上两个机器周期复位后,振荡器以12 时钟模式运行(当已通过并行编程器设置为6 时钟模式时除外)2-4-2.温度采集与显示电路设计传统的温度测量方法,大都使用那些利用固、液体的热膨胀原理而制造的传统温度计,它们都具有一定的局限性,特别是在深度和远距离测温场合中,其不足表现的更为突出本文所述的温度采集法完全克服了传统方法的缺点,它是使用温度传感器将温度信号转化为电信号,经过ADC0804转换为数字量,输入单片机,然后用晶体管显示器进行温度指示。
既可制做成一个测温装置,也可制成由探测头和显示装置组成的电子温度测试仪一、温度采集电路温度采集电路 图(2-4-2-1) 温度采集电路集成温度传感器AD590简介AD590是一种两端集成电路式半导体温度传感器,输出电流与它所感受的温度成线性关系,工作电压可以从+4~+30V范围内选用,测温范围为-55~150度,属于低温传感器它与大多其他形式的温度传感器相比,不存在线性问题,与热电阻相比不需要设计输入电桥和微弱信号放大器,与热电偶相比不需要进行冷端补偿,而且它是以高阻抗恒流源形式输出输出,传输线上的压降不影响输出电流值,可以进行远距离传输因此,它具有使用方便抗干扰能力强的特点,特别适用于远距离的温度巡回检测系统的设计方法该系统根据待检测温度点分布的特点和要求,选用AD590作为温度传感器AD590是美国模拟器件公司生产的单片集成两端感温恒流器件,输出的电流值与它所测的绝对温度有精确的线性关系由于厂家生产是采用激光微调来校正集成电路内的薄膜电阻,使其在摄氏零度(对应绝对温度为273.2K)输出电流为273.2uA,灵敏度为1uA/K,当其感受温度升高或降低时,输出电流以1uA/K的速率增大或减小,从而将被测温度线性转换为电流形式输出,在测量线路中,将其电流转换为电压,则可用电压形式来表示对应温度的大小。
AD590集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用集成温度传感器的输出形式分为电压输出和电流输出两种电压输出型的灵敏度一般为10mV/K,温度0℃时输出为0,温度25℃时输出2.982V电流输出型的灵敏度一般为1mA/K 它的主要特性如下:1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:式中:——流过器件(AD590)的电流,单位为mA; T—热力学温度,单位为K2、AD590的测温范围为-55℃~+150℃3、AD590的电源电压范围为4V~30V电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1KAD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏4、 输出电阻为710MW5、 精度高AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃在被测温度一定时,AD590相当于一个恒流源,把它和5~30V的直流电源相连,并在输出端串接一个1kΩ的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mV/K的电压信号。
图(2-4-2-2)AD590封装及基本应用电路R1R2图(2-4-2-2)(a)是AD590的封装形式,图(2-4-2-2)(b)是AD590用于测量热力学温度的基本应用电路因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器R2的电阻之和为1kW时,输出电压VO随温度的变化为1mV/K但由于AD590的增益有偏差,电阻也有误差,因此应对电路进行调整调整的方法为:把AD590放于冰水混合物中,调整电位器R2,使VO=273.2mV或在室温下(25℃)条件下调整电位器,使VO=273.2+25=298.2(mV)但这样调整只可保证在0℃或25℃附近有较高精度由于AD590输出电流审计为1uA/K与开式温标对应,而且工作电压范围大,应此,在实际应用中应注意一下几个问题:AD590在零摄氏度时,输出电流值为273.2uA,它与热力学温度273.2K相对应而人们习惯用摄氏温度表示温度,摄氏温标与开氏温标的转化关系即T(K)=273.2 + t)(度),在信号处理时,应将开氏温度转换为摄氏温度AD590的工作电压虽可以在4~30V范围内选用,但某一工作电压一经确定后,应尽可能使其稳定,因为工作电压波动将引起AD590输出电流在一定程度上的相对漂移。
造成测量误差AD590输出电流在远距离传输时,虽然它对导线产生的压降不敏感,但应避免传输导线回路受电磁干扰影响产生感应电势而导致回路电路电流变化,造成测量误差OP07的作用使用AD590采集到温度值后,将温度的模拟量输入到功率放大器OP-07,实现电压隔离、零点调整、电压放大等作用, 将温度信号转换成0—5的电压信号,再将其转换为数字信号ADOP—07是低漂移运放,其温度系数为0.2µV/ºC它还具有较高的共模输入电压范围(±14V)和共模抑制比(126dB),电源电压范围从±3V~±18V2Vs+IN-IN+V-Vs-V+OUTNC1347865图(2-4-2-3)OP-07引脚图图(2-4-2-4)温度采集输入通道数模转换器ADC0804 A/D转换器的种类很多,选择主要从以下几个方面考虑:① 分辨率和精度 应根据系统对数据采集总精度要求,合理确定A/D转换器的分辨率和精度② 转换时间 选择何种转换速率的转换器主要取决于被测信号变化的快慢和对转换精度的要求③ 除上述两个主要因素外,还应考虑环境参数,工作温度,功耗等;输入信号的类型;输出数据形式,性能价格比我们选择ADC0804作为A/D转换器。
ADC0804是CMOS集成电路,属于逐位逼近比较型的转换器,分辨率为8位,转换时间为100微秒,数据输出端内部具有三态输出锁存器,可与单片机的数据总线直接连接;而且有8路模拟开关,可直接连接8个模拟量,并可程控选择对其中一个模拟量进行转换他与单片机的接口简单,使用方便ADC0804是8通道8位逐次逼近A/D转换器,是美国国家半导体公司产品,是目前国内应用最为广泛的8位通用A/D芯片1、主要性能指标分辨率为8位最大不可调误差:0804为±1LSB单电源+5V供电,基准电压由外部提供,典型值为+5V,此时允许输入模拟电压为0~5V具有锁存控制的8路模拟开关可锁存三态输出,输出电平与TTL电平兼容功耗15mW转换速度取决于芯片的时钟频率时钟频率范围:10-1280KHz,当CLK=500KHz时,转换时间为128微秒图(2-4-2-5)ADC0804引脚图 图(2-4-2-6)ADC0804与单片机的连接二、显示电路LED七段数码显示器简介1.LED与单片机的连接图(2-4-2-7)显示电路原理图LED显示器的结构图(2-4-2-10)及其段名如图(2-4-2-9)所示,连同小数点在内,一共是8个LED,点亮合适的字段, 图(2-4-2-10)七段LED内部结构图(2-4-2-9)七段LCD电极分配即能显示0~9的数字和某些字符,符号,这种显示器有两种形式:一种是发光二极管的阴极连在一起的共阴极显示器,另一种是连在一起的共阳极显示器,虽然7段显示器的字型可能有些失真,能显示的字符数量较少,但控制简单,使用方便,故在数字显示器和智能仪表中得到了广泛的应用。
显示器的工作原理点亮显示器的方法有两种分别为,静态和动态两种,所谓静态显示,就是当显示器显示一个字符时,相应的发光二极管恒定的通以电流,静态显示时,较小的电流能得到较高的亮度,故可由输出直接驱(锁存器)控制当显示位数很少时,采用此方法是合适的当显示位数较多时,用静态显示所需的I/O口太多,此时可采用动态显示方法所谓动态显示就是轮流点亮各位显示器,该方法只需一个8位段输出口和一个8位扫描输出口(显示器位数不超过8位时),后者的作用是依次接通各位LED,动态显示需要较大的驱动电流,故在输出口之后尚需加接驱动器显示器的亮度既同驱动电流有关,也同点亮时间与间隔时间的比例有关,调整电流和时间参数,可实现亮度较高且较稳定的显示将数据或字符转化成相应的段代码,可采用硬件译码的方法来实现,为了方便显示器与单片机的接口,可选用能输出7段代码的译码/驱动电路用硬件译码电路实时性好,但电路复杂,成本较高,在智能仪表中通常采用简便易行的软件法进行译码,即用软件查表将字符转换成7段代码,再输出到锁存器7段LED显示器和一位字段式LED的显示原理相同,这种LED显示器的内部结构如图(2-4-2-9)所示A、B、C和 D四个输入端用于输人被显数符的 BCD码,经七段译码器和异或门电路后,在a、b、c 、d、e、f 和g端产生驱动信号,用于点亮LED显示器工作。
LED某位显示电路的真值表如表(2-4-1-5)所列,a、b、c、d、e、f、g 的排列见图(2-4-2-9)表(2-4-1-5) LED某位显示电路的真值表A B C D a b c d e f g 被显数符0 0 0 01 1 1 1 1 1 000 0 0 10 1 1 0 0 0 010 0 1 01 1 0 1 1 0 120 0 1 11 1 1 1 0 0 130 1 0 00 1 1 0 0 1 140 1 0 11 0 1 1 0 1 150 1 1 01 0 1 1 1 1 160 1 1 11 1 1 0 0 0 071 0 0 01 1 1 1 1 1 181 0 0 11 1 1 1 0 1 1974LS47简介图(2-4-2-10)74LS47引脚图三、键盘接口图(2-4-2-11) 键盘与单片机的连接为使系统简单紧凑,键盘只设置四个功能键,分别是启动,”百位+”,”十位+”和”个位+”键.由P1口低4位作为键盘接口.利用+1按键可以分别对预置温度的百位,十位和个位进行加1设置,并在LED上显示当前的设置值.连续按动相应位的加1键即可实现0°C-500°C温度设置. 键盘在单片机系统中是一个很重要的部件。
为了输入数据,查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段 按键开关在电路中的连接如下图所示按键未按下时,A点电位为高电平5V;按键按下时,A点电位为低电平A点电位就用于向CPU传递按键的开关状态但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间 +5VA图(2-4-2-12)按键开关连接图还会接触不稳定,引起A点电平不稳定键盘的抖动时间一般为5—10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误因此必须设法消除抖动的不良后果消除抖动的不良后果的方法有硬,软件两种在本设计中用软件去抖动根据抖动的特性,在第一次检测到按键按下后,执行一段延时10ms子程序后再确认该键是否确实按下,从而消除抖动的影响按照键盘与CPU的连接方式可以分为独立式按键和矩阵式键盘独立式按键是各按键相互独立,每个按键占用一根I/O口线,每跟I/O口线上的按键工作状态不会影响其他I/O口线上按键的工作状态独立式按键电路配置灵活,软件结构简单,但每个按键须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大,且电路结构显得繁杂本设计由于按键数量不多,故在此采用矩阵式按键。
四、输出控制图(2-4-2-13)控制输出电路本系统使用单片机的P3.5端口输出控制命令,采用R2003作为驱动单元,并起隔离作用采用固态继电器(SSR)作为动作单元第三章 单片机温控系统的软件设计3-1. 系统总体电路设计图(3-1-1)系统原理电路图3-2. 系统主程序ORG 0000HJMP MAIN ;主程序ORG 000BHJMP TT0 ;T0中断子程序MAIN: MOV SP,#60H MOV TMOD,#01H ;T0工作在方式1MOV TH0,#3C ;50ms一次,65536-50000;------------------------------------MOV TL0,#0AFH SETB TR0 ;启动T0 MOV IE,#82H ;T0中断允许 MOV 24H,#0FFH ;设定温度RAM值 ANL P1,#00H ;清除显示器 MOV R0,#14 ;至TABLE的取码指针初值W1: MOVX @R0,A ;另ADC0804开始转换WR=0WAIT: JNB P21 SET0 ;是否设定温度 JB P35,ADC ;ADC0809是否转化完成 JMP WAIT ;------------------------------ADC: MOVX A,@R0 ;是否将转化值载入累加器 CALL Y1 ;调用十进制转换子程序 CALL DISP ;调用显示子程序 JMP W1 CLR C ;C=0 MOV 20H,#00H ;十进制转换的低位寄存器 MOV 21H,#00H ;十进制转换的高位寄存器 MOV R3,#08H ;作为十进制调整,调整的次数NEXT: RLC A ;将取入的数转换成十进制 MOV R2,A ;暂存于R2 MOV A,20H ;(20H)乘2加C ADDC A,20H DA A ;十进制调整 MOV 20H,A ;结果存回20H MOV A,21H ;(21H)乘2加C ADDC A,21H MOV 21H,A ;结果存回21H MOV A,R2 DJNZ R3,NEXT ;作十进制调整结束 MOV A,20H ADD A,20H ;(20H)乘2 DA A ;作十进制调整 MOV 20H,A ;存入20H MOV A,21H ADDC A,21H ;(21H)乘2 DA A ;作十进制调整 MOV 21H,A ;存入21H RET;---------------------------DISP: MOV A,20H ;取D2值,(20H)RAM的高4位 ANL A,#0FH SWPA A ;变为低4位存入(22H)RAM MOV 22H,A MOV A,21H ;取D3值,(21H)RAM的低4位 ANL A,#0FH SWAP A ;变为高4位 ORL A,#22H ;D3、D2合成8位出入室温地址 MOV 23H,A MOV P1,A ;输入P1显示温度 MOV R7,#0FFH ;延时 DJNZ R7,$ RETSET0。