单片机课程设-消毒柜控制电路_第1页
单片机课程设-消毒柜控制电路_第2页
单片机课程设-消毒柜控制电路_第3页
单片机课程设-消毒柜控制电路_第4页
单片机课程设-消毒柜控制电路_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

消毒柜控制电路专业课程设计报告 题目名称: 消毒柜控制电路 姓 名:专 业:通信工程班级学号:同 组 人:指导教师:2010年 07 月 10 日摘 要 随着现代科学技术的不断发展,微电脑控制技术开始逐步渗透到各个领域中,包括工业、农业以及家庭生活。温度的变化对人们的生产和生活有一定的影响,通过对环境的检测,分析,掌握其变化规律并合理利用,以改善人类的生活。消毒柜就是为了人们日常生活中的餐具消毒而设计的,采用微电脑控制技术,精确地控制消毒柜内的温度和加热时间,很大程度上改善了人们的饮食卫生,提高了人们的生活水平。本设计采用电桥电路将PT-100电阻值的变化转换成电压变化,再经运放TL084放大成05伏电压,整形滤波使得信号稳定后,送至ADC0809数模转换电路,转化成8位数字信号送8051单片机系统,8051单片机对采集的数据处理后送7279键盘显示电路,实时动态地显示当前的温度及倒计时时间。对温度的控制主要由单片机控制继电器动作来管理加热器的启动和停止,并且对温度的控制为精确的闭环控制。关键字: 单片机 数据处理 显示目录第一章 前言.11.1课题的背景和意义.11.2国内外研究概况及发展方向.11.3 本文主要研究内容.2第二章系统的组成及工作原理. 32.1 系统设计要求. . . 32.2系统组成框图.32.3 系统工作原理.3第三章 硬件电路设计. . . .43.1方案讨论.432 方案确定.53.3单片机最小系统设计.63.4温度转换与放大电路.73.5数模转换电路.83.6键盘控制电路.93.7显示模块.10第四章 系统软件设计.124.1 系统软件设计原理.124.2主程序设计.124.3 系统子程序设计.13 4.3.1温度采样及AD子程序.14 4.3.2显示处理子程序.15 4.3.3消毒子程序.15 4.3.4保温子程序.16 4.3.5停止子程序.17 4.3.6键盘处理子程序.18第五章 调试与结果分析.20 5.1硬件调试.20 5.2软件调试.20 5.3调试结果.21第六章 结论.22 6.1实现功能.22 6.2不足之处及改进意见.22参考文献.23附录.24附录一 电路原理图.24附录二 源程序.25消毒柜控制器的设计第一章 前言11 课题的背景和意义 随着社会的发展,科技的进步,测温控温仪器的广泛应用,智能控温已经是当今控制系统的主流方向,特别近年来温度控制系统已经应用的人们生活的各个方面但温度控制却是一个一直未开发的领域,却是与人们息息相关的问题。而该课题是设计一个消毒柜其实就是设计一个智能的温度控制系统,消毒柜主要通过加热到一个指定温度,对餐具等卫生洁具进行高温消毒,消毒柜将高温控制在一个指定的范围内,并维持一定时间,杀灭细菌,极大地增强了人们的饮食卫生,大大降低了疾病的交叉传染,为提高人们的身体健康起了重要的作用。12 国内外研究概况及发展方向基于国内外对消毒柜的研究大体分为三个方向:首先是基于温度控制,通过对温度的控制来达到消毒的目的分为高温型电子消毒柜杀和低温型消毒柜,其次是市场上的一些通过臭氧消毒,最后就是通过紫外线消毒的消毒柜。这三类消毒柜其中高温消毒柜高温型电子消毒柜杀灭细菌和病毒的效果好,升温速度快,时间短,一次消毒的时间一般不超过25分钟,同时,在消毒过程中不产生气体,因此容易被用户接受。高温型电子消毒柜适用于不锈钢、铝、陶瓷、玻璃制成的餐具、茶具,但不适于消毒不耐热的塑料、漆 、木、竹制品,选购时要考虑这一点。一般家中电子消毒柜耗电功率多在600-700瓦左右, 每次消毒耗电相对低温型要多一些。低温型消毒柜杀菌消毒的时间较长,一次消毒时间需要60分钟才能完成,若柜门门封密封不好,会有少量臭氧的难闻气味逸出。但适用任何材料,包括塑料制成的奶瓶奶嘴、茶具和餐具都可以进行消毒。低温型电子消毒柜耗电量一般都较小,家中使用的多在200瓦以下,价格较便宜。根据中国预防医学科学院消毒研究中心测试的数据表明:消毒柜内部的温度必须达到125,而且持续保持10分钟,才能把对人身体有害的牙孢菌及肝炎病菌杀死。出于这个原因,只有单一远红外线消毒功能的消毒柜中不宜存放塑料器皿,因为要想在柜内达到125,不论是采用石英管还是电热丝发热,发热元件附近的温度肯定会大大高于125,塑料容器在长时间的烘烤之下,很容易变形。纵观国内外市场中的消毒柜产品,其发展方向是系统采用微电脑控制,VFD动态显示当前系统工作情况及其他参数,同时采用数码控制定时开关、自动除臭,采用高新纳米磁性门封材料、排气孔特设防虫网。 13本文主要的研究内容本文主要研究基于AT89S51单片机控制的消毒框系统,设计中由于是采用实验室实箱的滑动变阻器来代替前端温度传感器,来实现模拟温度值的输入,然后再经ADC0809的转换最后输入到单片机里进行处理,在经过8255的键盘显示控制电路实现温度的时实显示。第二章 系统的组成及工作原理21 系统设计要求设置三个功能键消毒、保温、停止。(1)按消毒键,接通加热继电器加热,当测到125时,停止加热。(2)按保温键,在50以下接通加热器,到70关闭,一直持续工作。(3)按停止键,则停止工作。22 系统组成框图AD590电压放大A/D功能键盘单片机数码显示加热装置图2.1 系统组成框图23 系统工作原理该系统是基于AT89S51单片机的智能温度控制的且实现通过高温来杀灭病毒的消毒柜系统,该系统主要四大块部分组成第一部分是由温度传感器采集温度转换成模拟电压,再通过电压放大电路进行信号的放大,第二部分的电路时由ADC0809的模数转换电路把采集到的模拟信号转换成数字数字信号,输入到以单片机为主温度控制部分,最后把经过处理的信号通过8255键盘处理电路实时显示出来。 AT89S51单片机对键盘的扫描结果和即时温度值的处理,实现对温度的实时控制,系统设计了加热,保温,停止三个键,按下加热功能键时,单片机控制加热器,开始加热,当温度到达125度时停止加热,按下保温键时,温度低于50度,加热器开始加热,温度高于70度,停止加热,当按下停止键时,一切动作停止。第三章 硬件电路设计31 方案论证方案一: 在此方案中也采用铂热电阻温度传感器PT-100,由含铂热电阻PT-100为桥臂的电桥,工作过程中其温度的变化将引起PT-100电阻值的改变,最终转换成电压的变化,但电桥输出的电压最多只能是几十毫伏,所以必须经LM35放大后才输出工作电压430V的电压,再经ADC0809转换成8位数字信号送单片机开发系统。单片机开发系统对所采集的数据经滤波、变换等处理后送入7279进行显示,以实现对温度值的测量。测量出即时的温度值之后要进行的就是根据温度的值和7279对键盘的扫描结果进行相应的处理,如加热、保温、停止等,这些就要靠软件程序来辅助完成,通过加热装置来进行相应的操作,从而完成此次设计的基本要求。加热器由单片机控制,安全管理加热器的启动与停止,加热装置将单片机核心系统与加热器隔离,防止加热器的高温对系统造成损害,起到了以小电流控制大电流的安全控制的作用。方案一系统方框图如下所示:图3.1 方案一系统方框图方案二: 在此方案中采用了AD590是电流输出型温度传感器,其工作电压是430V,检测温度范围为-55+150度的温度范围符合实验要求,由于AD590是集成温度传感器,其输出信号经过10K电阻取出电压信号,经零点调整,小信号放大以后经A/D转换数字量由AT89S51单片机处理,由单片机处理完后经过8255数码显示电路实时显示在数码管上,且通过8255的键盘控制电路来实现对温度智能控制。方案二:系统方框图如下:图3.2 方案二系统方框图32 方案确定经过两种方案的比较第一种方案由于PT100的温度采集不稳定且而AD590是集成的温度传感器,相对比较稳定采样的温度值先对比较准确,且连线上相对比较少,且在试验箱上有固定的8255的数码显示电路在硬件电路上比较方便也方便后面的对程序编写打下了坚实的基础所以综合各方面的因素最终确定采用方案二。33单片机最小系统设计单片机采用的是ATMEL公司的AT89S51芯片该款芯片是一种低功耗、高性能CMOS8位微控制器,具有 4K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S51为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S51具有以下标准功能: 4k字节Flash,128字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,两个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S51可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 4K 字节在系统可编程 Flash AT89S51。单片机最小系统电路图如图3.2所示。AT89S51 的复位端是一个史密特触发输入,高电平有效,而系统中的时钟接口和CAN 总线接口的复位信号都是低电平有效。在复位电路中,按一下复位开关就使在RS端出现一段时间的高电平,经过74LS14 的一次反相整形,提供给单片机复位端。再经过一次反相整形,通过I/ORST 端提供给外部接口电路。外接12M 晶振和两个20P 电容组成系统的内部时钟电路。图3.2 单片机最小系统电路图34 温度转换与放大电路由于本方案采用的集成温度传感器AD590其内部的电路如下:图3.3 温度转换与放大电路AD590是电流输出型温度传感器,其工作电压为430V,检测温度范围55度到+150度,它有非常好的线性,灵敏度为1ua/k。AD590输出信号通过10k电阻取出的电压信号,经零点调整,小信号放大,输出VT,提供AD0809采样用温度Ad590电流经10k电压零点调整后电压放大5倍后电压VTADC0809数字量0273.2uA2.732V0.0V0V00H10283.2uA2.832V0.1V0.5V1AH20293.2uA2.932V0.21.0V33H30303.2uA3.302V0.3V1.5V4DH40313.2uA3.132V0.4V2V66H50323.2uA3.232V0.5V2.5V80H60333.2uA3.332V0.6V3V99H70343.2uA3.432V0.7V3.5VB3H80353.2uA3.532V0.8V4VCCH90363.2uA3.632V0.9V4.5VE6H100373.2uA3.732V1.0V5VFFH表3.3AD590温度参数表35 数模转换电路该部分采用的是ADC0809芯片进行模数转换,且ADC0809是由两部分组成,第一部分为8通道多路模拟开关以及相应的通道地址锁存,及译码电路,可以实现8路模拟信号的分时采集,而其A,B,C决定那一路模拟信号被选中并送到内部A/D转换器中进行转换。第二部分为一个逐位逼近式的A/D转换啊器,它由比较器,控制逻辑,三态输出缓冲器、逐位逼近寄存器以及开关树和256R梯形电阻网络组成。其中由开关树和256R梯形网络构成D/A转换器。硬件电路图如下:图3.4 数模转换电路3、接地。模数、数模转换电路中要特别注意到地线的正确连接,否则干扰很严重,以至影响转换结果的准确性。A/D、D/A 及取样保持芯片上都提供了独立的模拟地(AGND)和数字地(DGND)的引脚。在线路设计中,必须将所有的器件的模拟地和数字地分别连接,然后将模拟地与数字地仅在一点上相连。其中:Vin(+)为模拟电压输入端, A-GND 为模拟地,作为输入模拟电压和基准电压基地端的接地参考点。VREF 为基准电压输入端,接MC1403提供稳定的参考电压。WR 和RD 接89C51 的读写端。ADC0804 在数据采集系统中的工作过程:采集数据时,首先微处理器执行一条传送指令,在该指令执行过程中,微处理器在控制总线的同时产生CS、WR 低电平信号,启动A/D 转换器工作,ADC0804经100us 后将输入模拟信号转换为数字信号存于输出锁存器,并在等待转换结束后,通知微处理器可来取数。微处理器立即执行输入指令,以产生CS、RD 低电平信号到ADC0804 相应引脚,将数据取出并存入存储器中。整个数据采集过程中,由微处理器有序的执行若干指令完成。本次设计在AD 采样部分电路设计没有选用中断方式,因为在加热装置选取的部分,选用的为小功率加热器,在一定时间内温度的变化不是很明显。在本系统实时要求不是很高情况下,采用延时方式对系统执行速度影响不大。36键盘控制电路硬件电路如下:图3.5键盘接口电路该接口键盘接口电路时通过8255扩展接口,其中8255的PA口作为输入口,作为键盘扫描的列扫信号,而PC口的低四位作为行扫信号的扫描回键盘的键值。本模块通过编制程序,扫描键盘,来比对键盘的值,来设置三个功能键,设置,消毒、保温、停止三个功能键。37 显示模块8255为可编程的并行接口芯片,其具有三个8位的并行I/O口,分别为PA口,PB口,PC口,其中PC口又分为高四位PC7PC4,和低四位口的PC3PC0,它们都可以通过编程来控制来改变I/O口的工作方式。,显示模块也是采用的是8255,扩展口,通过编制相应的程序来改变I/O口的工作方式,其中8位共阴极LED数码管与8255构成动态显示接口,8255的A口作位扫描口,经同相驱动器75451接数码管的公共极,B口作为数据口经同相驱动器75451后接显示器的各个段极。显示时先使PA0为低电平,PA1-PA5为高电平,经75451同相驱动后,仅第一位数码管被选通,同时PB口输出第一个要显示的数据,持续一秒后,使PA0为高,关闭第一个数码管,随后使PA1为低电平,选通第二位数码管,并由PB口输出第二位要显示的数据,并延时1MS左右,依次选通第 3、4、6,位数码管,并通过循环显示,便可在数码管上稳定的显示所需要显示的内容。其数码管的字形表如下:代码D7D6D5D4D3D2D1D0字形HHGFEDCBAC0110000000F9111110101A4101001002B0101000003991001100149210010010582100000106F81111100078010000000890100100009表3.6.1字形表硬件电路如下:图3.6.2显示电路图第四章 系统软件设计41 系统软件设计原理本程序设计根据通过温度传感器采样来的温度值,经过AD转换,然后把转换后的值经过放大,然后再经过二十进制转换,把转换后的数值寄存在寄存器中然后调用显示程序进行温度的事实显示。对于各个功能键的程序是从P0口读数、再转换成十进制数、送显缓区、再根据键盘扫描的结果对温度值进行比较判断,当按下的键是加热功能键时,系统要控制加热器,开始加热,当温度到达125度时停止加热,当按下保温键时,当温度低于50度时,加热器开始加热,当温度高于70度,停止加热,当按下停止键时;一切动作停止。通过在主程序里面设立标志,该程序是通过延时的方法来确保AD转换已完成的方法实现温度与按键的统一和“同步”,实时的控制加热器的工作,以达到人们所要求达到的效果。42 主程序设计主程序主要完成8255控制字初始化、送7279显示、键盘扫描以及键处理等功能,其中初始化又涉及内存单元,显缓区,堆栈,及各寄存器的初始化,其流程框图见图4.1。有键按下否?是加热键否?是消毒键否?是停止键否?开始初始化8255键盘扫描清保温标志,置消毒标志,启动加热器清加热标志,置保温标志清消毒、保温标志,关闭加热器rtrrtNNNYYYNY图4.1 主程序框图43 系统子程序设计本软件设计中,系统子程序的设计是整个程序设计的重中之重,子程序以模块化的方式实现各个独立功能,再通过主程序来调用功能子程序,使整个程序实现完整的功能。431 温度采样及AD子程序温度采样进来,通过ADC0809的0通道,启动AD转换,然后延时120US,确保AD转换已完成,然后再进行数值处理,经过二十进制转换,分离个、十、百位,然后送到R0、R1、R2中保存。程框图如图4.3 所示开始启动AD0809的0通道分离个位送R1分离十位送R2分离百位送R3返回选中ADC0809的端口地址启动采样,采样值送R7中给B中初值10Y图4.3 AD采样滤波子程序流程框图432 显示处理子程序该程序采用8255并行送显,先给7EH到7AH四个显缓单元付初值,然后建立显缓指针R0,且将显示码送R1,然后查表显示,然后使修改指针,消隐,循环动态显示显示处理子程序流程框图如图4.4所示开始显缓指针R0、显示码R1、循环次数R7初始化置CS为低电平,并延时50us延时5us,去除片选信号,修改R0和R1发显示码到8255,R0单元内容查表,将得到的字形码发送至8255R7-1=0?返回YN图4.4 显示处理子程序流程框图433 消毒子程序消毒子程序主要是将消毒用红色指示灯表示,将保温用绿色指示灯表示,消毒子程序流程框图如图4.5所示。、开始扫描键盘P1.1置为0,点亮消毒指示灯是否停止键?温度大于125度?启动加热,置P1.1为低停止加热,置P1.1高关消毒指示灯返回YNYN图4.5 消毒子程序流程框图434 保温子程序保温子程序主要用于当用户按下保温键时对系统进行保温。先点亮保温指示灯,若没到则再检测当前系统的温度是否在50-70度之间,大于70度时关加热器,小于50度时开加热器。直接停止保温,其流程框图如图4.6所示。开始返回启动加热,置P1.1为低温度小于50度?关消毒指示灯停止加热,置P1.2高NY温度大于70度?YNNY键盘扫描是否停止键?P1.2置为0,点亮保温指示灯图4.6 保温子程序流程框图435 停止子程序停止子程序主要在用户按下停止键以后被调用,停止子程序运行后将消毒、保温指示灯熄灭,关闭加热器。其流程图如图4.7所示。开始清除消毒、保温标志关数码管显示。关指示灯和加热器7EH送R0,31H送R1,04H送R7R0送R1R7-1=0?返回NY图4.7停止子程序流程框图436 键盘处理子程序键盘处理主要是不断的扫描8255模块中的键盘,若有键按下时,则根据得到的键值查表求出其键号,将键号存放于寄存器R3中供主程序处理。其流程图如图4.8所示。 开始置8255的CS有效,并延时30us送列信号#0FEH回读行扫信号置键标志00HA为0否清键标志00H由键值查键号返回YN图4.8 键盘处理子程序流程图第五章 调试与结果分析51 硬件调试(1)由于本次课设才用的是实验相,通过设计方案,在试验箱上找出各部分电路分布,然后根据实验指导书上的各功能芯片的端口地址,连接号各部分电路,先进行温度采样部分的电路调试。 (2).检测8255键盘显示模块,因为通过键盘显示,可以直观的知道程序是否基本运行正常,是否按时预定的显示。(3) 调试AD转换模块电路,看是否转换正常,以及数码显示部分是否够实现温度的实时显示。(4) 最后进行整体硬件电路的联调。52 软件调试软件调试是个很重要的过程,由于软件出现错误的话就基本上各部分功能都实现都有困难,所以软件的调试时重中之重。(1)第一步是进行的是AD转换的软件的调试,通过转换后通过合理的内存单元的分配,存储AD采样的值,然后同过二十进转换程序的看是否实现在数码管上显示实时温度值。(2)键盘扫描部分程序的调试,该部分是程序中的功能键实现的最主要的部分如果该部分程序出现错误的话,逻辑就会出现混乱,各功能键将不能实现,在调试的过程中,我们发现,我们的键盘电路的接法不一样,所以在扫描键盘的时候编写相应键值表的编写出现一定困难,一旦键值表搞错的话,就会出现按键的功能的混乱,所以在这一步分的调试上最主要是把握键盘的分析。(3) 最后一部分调试显示程序的调试,该部分程序的调试,关系到该课设是否够直观的体现温度值,以及建立一个直观的人机对话界面,在该部分程序的调试的过程中面临的最大困难就是对于显缓单元的分配,以及各个标志位设立,如果显缓单元分配有冲突的话,就会导致程序逻辑错误,所以应该仔细调试该部分应该边编写边调试。53 调试结果经过详细的硬件调试和软件调试之后,系统工作正常,8255模块6位数码管后三位实时显示当前温度在0-200范围内。按下“消毒键”时,系统接通加热器,点亮加热指示灯,当温度到达到125度时,停止加热;按下“保温键”,当温度低于50度时,系统启动加热,当温度高于70度时,系统停止加热;按下“停止键”时,系统回到初始状态。第六章 总结61 实现功能此次设计采用以单片机AT89S51为核心的消毒柜系统设计,前端测温基于AD590集成温度传感器,键盘及显示采用基于8255A的键盘显示模块,实现了以下功能:1具有友好便捷的键盘、显示接口;2实时稳定的显示当前温度3消毒、保温功能62不足之处及改进意见本次课设一个不足之处就是没有完成到定时加热的功能,对于单片机的定时器并没有用到,浪费单片机的内部资源,对于键盘扫描电路,还存在缺憾,并不能完全掌握该键盘显示部分程序的编写。本课程设计采用的是实验箱上根据现有的硬件电路来编制程序,这使得我们不用自己去焊接电路,一定程度上降低课程设计的难度,但是真正对我们设计电路却是一个盲点,所以希望能够自行设计硬件电路根据自己设计的硬件电路来编制相应的程序在对我们掌握各硬件部分电路有更好的理解,也一定程度上复习了以前所学的其基础知识,也能更好的掌握一些电气知识。参考文献【1】 万福君.潘松峰.刘芳.MSC-51单片微型机原理、系统设计及应用【M】.北京:清华大学出版社,2009.9【2】 陈黎娟.万在红.吴开志.聂鹏程.单片微型计算机实验教程【M】.南昌航空大学,2006.2【3】 张永瑞. 电子测量技术基础【M】.西安:西安电子科技大学出版社,2009.1【4】 刘同法.陈忠平.彭继卫.单片机外围接口电路与工程实践【M】.北京:北京航空航天大学出版社, 2009.3【5】 王港元.电工电子实践指导【M】. 江西:江西科学技术出版社, 2003.1【6】 何立民.单片机应用技术选编 (1-8). 北京:北京航空航天大学出版社. 2001【7】 邬宽明.单片机外围器件实用手册. 数据传输接口器件分册M.北京:北京航空航天大学出版社,1998 【8】 鲍健等. 用单片机直接驱动液晶显示器.量子电子学报J.2005.2(4):651652 【9】 王春林.中国电子报第四版.北京:中国电子报社,2006.2 【10】 白英彩.微型计算机常用芯片手册M. 上海:上海科学出版社出版, 1984.12 附录一 电路原理图附录二 源程序ORG0000HLJMPMAIN;*;主程序;*MAIN:LCALLCSH8255;调8255初始化子程序LCALL DIR;调显示程序L9:MOV DPTR,#0FF20H;指向8255的A口MOV A,#0FEH;列扫描信号从最低位开始MOVX DPTR,AMOV DPTR,#0FF22H;C口行扫描信号MOVX A,DPTR;读回行扫描信号CJNE A,#0BH,L3;看是否为加热键SJMP HEATL3:MOV DPTR,#0FF20HMOV A,#0FDHMOVX DPTR,AMOV DPTR,#0FF22HMOVX A,DPTRCJNE A,#0BH,L4;判断是否为保温键LJMPBAOWENL4: MOV DPTR,#0FF20H;指向8255的A口MOV A,#0FEH;列扫描信号从最低位开始MOVX DPTR,AMOV DPTR,#0FF22H;C口行扫描信号MOVX A,DPTR;读回行扫描信号CJNE A,#07H,L5;判断是否为停止键 ACALL STOP;调用停止子程序 SJMP L9L5 : LJMP MAIN;*;加热消毒子程序;*HEAT:MOV DPTR,#0FF20H;MOV A,#0FDHMOVX DPTR,AMOV DPTR,#0FF22HMOVX A,DPTRCJNE A,#0BH,L8 ;判断是否为保温键SJMPBAOWENL8:MOV DPTR,#0FF20H ;指向8255的A口MOV A,#0FEH ;列扫描信号从最低位开始MOVX DPTR,AMOV DPTR,#0FF22H ;C口行扫描信号MOVX A,DPTR;读回行扫描信号CJNE A,#07H,L7;判断是否为停止键 ACALL STOP;调用停止子程序LJMP L9L7:CLRP1.1;置加热灯SETBP1.4LCALLADZH;调AD转换LCALLDIGIMOVR4,#3EH;显示各位LCALLWSMMOVA,R1LCALLCBXSLCALLDELAYMOVR4,#3DH;显示十位LCALLWSMMOVA,R2LCALLCBXSLCALLDELAYMOVR4,#3BH;显示百位LCALLWSMMOVA,R3LCALLCBXSLCALLDELAYPDBF:MOVA,R7SUBBA,#125JCHEAT;小于99继续热SETBP1.1CLRP1.2LCALLJIAN;*;保温键子程序;*BAOWEN: MOV DPTR,#0FF20H;指向8255的A口 MOV A,#0FEH;列扫描信号从最低位开始 MOVX DPTR,A MOV DPTR,#0FF22H;C口行扫描信号 MOVX A,DPTR;读回行扫描信号 CJNE A,#07H,L6;判断是否为停止键 ACALL STOP;调用停止子程序 LJMP L9L6: SETBP1.1;熄灭加热指示灯SETBP1.3SETBP1.4CLRP1.2;保温指示灯点亮LCALLADZH;掉A-D转换子程序LCALLDIGI;掉二十进制转换MOVR4,#3EH;送显示个位LCALLWSMMOVA,R1LCALLCBXSLCALLDELAYMOVR4,#3DH;显示十位LCALLWSMMOVA,R2LCALLCBXSLCALLDELAYMOVR4,#3BH;显示百位LCALLWSMMOVA,R3LCALLCBXSLCALLDELAYPDBW:MOVA,R7;将结果送累加器A中SUBBA,#50;与50度比较JNC BAOWEN;大于则继续保温LJMPHEATAGAIN;小于就跳到继续加热子程序;*;继续加热子程序;*HEATAGAIN: SETB P1.3CLRP1.1LCALLADZHLCALLDIGIMOVR4,#3EHLCALLWSMMOVA,R1LCALLCBXSLCALLDELAYMOVR4,#3DHLCALLWSMMOVA,R2LCALLCBXSLCALLDELAYMOVR4,#3BHLCALLWSMMOVA,R3LCALLCBXSLCALLDELAYGAO65:MOVA,R7SUBBA,#70jCHEATAGAINLJMPBAOWENDDFF:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH;*;初始化8255子程序;*CSH8255:MOVA,#81HMOVDPTR,#0FF23HMOVXDPTR,ARET;*;AD转换子程序;*ADZH:MOVDPTR,#0FF80HMOVA,#0MOVXDPTR,AMOVR0,#120;120微妙延时DJNZR0,$MOVDPTR,#0FF80HMOVXA,DPTR MOVB,#200 ;最高显示100度MULABMOV A,BMOVR7,A;R7存放取样的数字量RET;*;二进制转十进制子程序;*DIGI: MOVB,#10DIVABMOVR1,BMOVB,#10DIVABMOVR2,BMOVR3,ARET;*;8255位扫描子程序;*WSM:MOVDPTR,#0FF20HMOVA,R4MOVXDPTR,ARET;*;8255查表显示子程序;*CBXS:MOVDPTR,#DDFFMOVCA,A+DPTRMOVDPTR,#0FF21HMOVXDPTR,ARETJIAN:MOV DPTR,#0FF20H;指向8255的A口MOV A,#0FDH;列扫描信号从最低位开始MOVX DPTR,AMOV DPTR,#0FF22H;C口行扫描信号MOVX A,DPTR;读回行扫描信号CJNE A,#0BH,LP;看是否为加热键LJMP BAOWENLP:LJMPMAINRETDELAY: MOVR4,#08H;延时子程序DELAY1:MOV R5,#0A0H DJNZR5,$ DJNZR4,DELAY1 RET;*;停子键子程序;*STOP: MOV DPTR,#0FF20H MOV A,#0FFH MOVX DPTR,A CLR P1.4 SETBP1.3 SETBP1.2 SETBP1.1RET;*;动态显示GOOD子程序;*DIR:MOV SP,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论