




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作者 赵鹏雪学号 11141P18系部电子信息学院专业物联网应用技术题目基于单片机的智能温控风扇设计指导教师周波评阅教师完成时间:2014 年 4 月 23 日摘要 : 本次设计的单片机系统是基于单片机的智能电风扇设计。使用的控制芯片是AT89C51, 用数字温度传感器DS18B20检测温度并通过数码管显示,通过继电器来实现小电流的单片机控制大电流的电风扇电机工作,利用单片机内部定时器实现电风扇定时时间的设定。本套系统的软件程序思想主要是通过实时温度与设定的温度上下限值进行比较后,控制电风扇启停、强弱挡,最终使环境维持让人舒适的温度。用户可以根据自身需求自行设定温度上下限值、电风扇启停及工作时
2、间。用户设定的温度上下限值通过软件程序自动保存在数字温度传感器DS18B20内部的EPPROM内存单元中,掉电后数据不会丢失,不必劳烦用户每次启动风扇反复重新设定温度上下限值。【关键词】: 智能,传感器,温控,风扇ABSTRACTThe design is based on single-chip control thermostat fan designed to sensitive sensing temperature sensing and display, the designAT89C51 control center, as the temperature sensor DS18
3、B20 sensor senses the temperature of the internal timer set time set the length to control the intensity and wind speed fan switch The design of single chip microcomputer system is based on single chip microcomputer intelligent temperature control fan design. Through the relay to achieve small curre
4、nt SCM control large current of the electric fan motor work, realize electric fan timing time of internal microcontroller timer setting.This set of system software program thought mainly through real-time temperature and setting temperature upper and lower limit value after comparison, strong or wea
5、k and eventually make the environment to maintain a comfortable temperature .The user can according to their own needs to set temperature upper and lower limit, electric fan start-stop and working time.Users to set the temperature of the upper and lower limit value automatically by the software prog
6、ram stored in the digital temperature sensor DS18B20 the internal EPPROM memory unit, don't need to bother the user with each fan launched again and again to reset temperature limit up and down.KEY WOR】D : Intelligence, sensors, temperature, fan1、引言 12、总体设计 13、硬件设计 23. 1 AT89C51单片机概述 23.1.1 AT89
7、C51单片机组成 33.1.2 AT89C51单片机的引脚结构 43.2 DS18B20 单线数字温度传感器 54、系统电路设计 64.1 单片机最小系统电路设计 64.1.1 AT89C51单片机的最小系统 64.2 按键电路设计 74.3 控制电路设计 84.3.1 温度控制电路设计 84.3.2 声响控制电路设计 84.4 温控自动电路设计 94.4.1 双向晶闸管介绍 94.4.2 继电器介绍 94.4.3 电路设计 94.5 数码显示电路设计 104.6 电源电路设计 114.6.1 LM7805集成稳压器介绍 114.6.2 电路设计 115、软件设计 125.1 总体设计思想 1
8、25.2 各部分的软件框图和程序 125.2.1 主程序流程图 125.2.2 温度显示子程序流程图 13总结 13附录 14附录一电路原理图 14附录二源程序 15致谢 31参考文献 321、引言电扇是人们日常生活中常用的降温工具,从开始的吊扇到现在的USB风扇,无处不见电扇的踪迹。虽然如今空调已经走进千家万户,但是电扇的低位还是无可取代,作为一种节能环保,并且廉价简单的降温工具,电扇还在很多人家发挥着自己独特的作用。顺应时代潮流,各种多功能的风扇逐渐在取代传统风扇。单片机作为一种智能化程度高,控制精度高,操作简单,廉价易得,抗干扰能力强等特点,越来越多的应用于智能化产品之中。市场上智能风扇
9、产品相继问世,制作方法也多种多样,功能也逐渐完善,普遍都具有了手动变速和定时关闭等功能,相对而言,具备人性化,智能化的风扇还是很少,使用也并不广泛,而且在电子工艺高度发展的今天,智能化的步伐也越来越快,尤其是中国这个高速发展的国家,电扇的智能化也该向前迈进一个步伐。在中国市场上风扇还是有一定的市场份额的,几乎每个家庭都有风扇,具备价格便宜,摆放轻便,体积灵巧等特点,使得风扇在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,为提高风扇的市场竞争力,使之在技术含量上有所提高,满足智能化的要求,智能风扇很具竞争力。大学四年即将结束,为了检验自己的学习情况,我决定使用之前所学习到的硬件只是结
10、合相关的软件基础来制作一个基于单片机的智能温控风扇。基于对人性化与智能化相结合的考虑,同时基于对价格的考虑,本设计决定制作一个基于51单片机的智能温控风扇,该风扇具有随温度自动调节风速的功能,并且在无人时可以自动关闭,而且可以根据每个人的不同情况来设定基准温度,从而实现了人性化与智能化的双重目标。2、总体设计本设计的整体思路是:利用温度传感器DS18B20来检测环境温度,并直接输出数字温度给 51 单片机进行处理,并将实时温度、设置温度、风速显示在液晶12864 上。设置温度辅以2 个可调按键,一个提高设置温度,一个降低设置温度,设置温度只能是整数型式,检测到的环境温度可以精确到小数点后一位。
11、本系统还配备一个红外探头,探测出风范围内是否有人,若无人则自动关闭风扇。如图 2-1 所示。5V电源2-1 硬件总体框图3、硬件设计3.1 AT89C51 单片机概述在 20 世纪 70 年代时,当时的微电子技术正处在一个发展阶段,集成电路也属于中规模的发展时期,对于新材料新工艺尚未进入成熟阶段,单片机也是如此,仍处在一个初级的发展阶段,元件集成规模还比较小,功能也比较简单,一般包括CPU、 RAM,有的还包括了一些比较简单的I/O 口,将 I/O 口集成到芯片上,单片机还组要将一些外围的其他处理电路共同构成一个完整的计算系统。类似的单片机还有Z80 微处理器。1976年由INTEL公司推出的
12、MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,因此逐渐推向了市场。MCS-48单片机由于它的体积小,功能全,价格低在市场上得到了广泛的应用,这为单片机的发展奠定了基础,在单片机的发展史上增添了亮丽的一笔,一个重要的里程碑。其后单片机进入多功能强大的发展阶段,由若干但公司研发约有几十个品种,将近300多个系列,此时才算是真正进入单片机时代,普遍的单片机均集成CPU、 RAM、 ROM、I/O 接口也很多、中断系统相当丰富,并且部分单片机还自带A/D 转换器,功能性很强大强大,RAM和 ROM的容量也日趋增长,寻址空间可达64kB,此时的单片机发展到了一个新纪元,应用领域也日趋
13、广泛,单片机控制的智能化的电器也便走上了发展道路。上个世纪90 年代单片机如雨后春笋一般,MOTOROL公司推出AMC68HC系列单片机, 随后NTEL公司推出了80960超级32位单片机并且将相关产品投放市场,成为单片机发展历史上的一个里程碑。3.1.1 AT89C51 单片机组成如图 3-1 所示XTAL2ALEPSENP0P1 P2 P3RSTEA3-1 AT89C51 单片机组成结构图目前使用较为广泛的主要是89C5X系列的单片机,都采用了标准的MCS-51控制内核,并且此系列单片机品种齐全、性能可靠、小体积、价格便宜、供货充足、调试和编程都十分方便,所以应用比较广泛。AT89C51是
14、 CMOS结构8 位单片机,具有低功耗、电压低、性能好等优点,该单片机内部具有一个内存大小为8KB的 FLASHE PPRO,可反复擦除程序M10000次,设计时采用了CMOS和 ATMEL公司的高集成度、数据不易丢失的存储器技术,片内FLASH存储器可以使用常规的非易失性存储编程器进行编写。因此,STC89C52是一种功能强大,使用 灵活并且价格低廉的单片机,可广泛应用于各个控制领域。AT89C51单片机的主要特性如下:1.8KB 可反复擦写程序的FLASH存储器;2. 全表态工作: 0 24HZ;3.256x8 字节的内部RAM;4.32 个外部双向输入、输出IO 口;3.1.2 AT89
15、C51单片机的引脚结构。如图 3-2 所示。图 3-2 AT89C51 单片机的管脚分布表 3-1 AT89C51 单片机的引脚功能引脚引脚功能VCC电源电压GND接地P0口P0 口是双向8 位三态IO 口,每个IO 口都可以独立控制,它不带上拉电路,主要用作数据和地址的输入输出。P1P1 口试一个普通的输入输出口,其内部带有上拉电阻,也就是说不需要外接上拉电阻。在对其进行数据读写操作时方法同P0口。P2P2口与P1 口功能相同,在使用时除像P1 口做驱动口外还与P0口构成地址的高8 位,与P0口形成16位地址的输入输出数据操作。P3P3 端口除普通IO 口功能外,还有第二功能。RST单片机复
16、位引脚,当RST复位引脚上出现两个或两个以上机器周期高电平再变为低电平,单片机将完成复位动作。表 3-2 P3 口的第二功能表端口引脚第二功能P3.0RXD(串行输出口)P3.1TXD(串行输入口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR外部数据写()P3.7RD(外部数据读)XTAL1 :外接时钟引脚。单片机外接晶振电路的输入端。片内震荡电路的输入端。XTAL2 :外接时钟引脚。单片机外接晶振电路的输出端。片内震荡电路的输出端。3.2 DS18B20 单线数字温度传感器温度传感器介绍DS18B20是数
17、字温度传感器。其主要优点是体积小、价格低、精度高。用它做温度测量系统的设计时,可以使电路更简单,在一根通信线以上,可以挂很多的DS18B20温度传感器,使用非常方便。数字温度传感器DS18B20的实物图。如图 3-3 所示图 3-3 DS18B20 实物图DS18B20数字温度传感器主要由4 部分组成:64 位的ROM、温度传感器、非挥发的温度报警触发器TH 和 TL及配置寄存器。数字温度传感器DS18B20的内部结构。如图 3-4 所示。3-4 DS18B20 内部结构图表 3-3 DS18B20 传感器引脚图序号名称DS18B20引脚功能说明1GND地信号2DQ数据输入/输出引脚,单总线接
18、口。3VDD可选择的VDD引脚。4、系统电路设计4.1 单片机最小系统电路设计4.1.1 AT89C51 单片机的最小系统。如图 4-1 所示。图 4-1 AT89C51 单片机的组成结构图(1) 时钟电路时钟电路是能够为AT89C51单片机产生工作所必须的时钟信号,AT89C51单片机本AT89C51单片机在唯一的时钟信号的严格控制下按时, MCU时钟频率会影响速度和稳定性。通常时钟有两种:外部时钟和内部时本系统使用的内部时钟系统提供时钟信号。AT89C51单片机内部自带的震荡器是一XTAL1和 XTAL2分别为芯片外部时钟的输入输出端口,它们跨接对于晶振电路电容的选择,如果所选电容太小,就
19、会影响系统的快速性、稳定性及所以C1、 C2电容一般选在30pf 左右。 晶振一般选用范围为1.2MHZ到 12MH,Z但是这对存储器的存储速度提4-2 所示。4-2 时钟电路图( 2)复位电路AT89C51单片机可以通过RST复位引脚进行初始化操作,其原理是让单片机程序从指定初始化地址开始执行程序。只要让AT89C51单片机的RST复位引脚上出现两个或两个以上机器周期的高电平,就可以使单片机程序复位,但是如果保持RST复位引脚一直是高电平,那么AT89C51单片机就一直循环复位,一旦RST复位引脚由高电平变为低电平后,单片机便复位成功。复位电路如图4-3 所示。图 4-3 复位电路图4.2
20、按键电路设计K1 是功能键,第一次按下时,可以对下限温度进行设置第二次按下时,可以对上限温度进行设置第三次按下时,恢复温度显示。K2 是加一键,可以对上下限温度进行加一调整,长按时执行快速加一操作。K3 是减一键,可以对上下限温度进行减一调整,长按时执行快速减一操作。按键电路如图4-4所示。4-4 按键电路图4.3 控制电路设计4.3.1 温度控制电路设计温度采集电路主要是由数字温度传感器DS18B20组成的。 它能够把采集的温度数据转化成二进制数,经过单片机处理后变为十进制,最后通过数码管显示。如图 4-5 温控传感器电路图 4-5 传感器电路图4.3.2 声响控制电路设计该电路主要由数字温
21、度传感器DS18B20、三个按键、一个PNP型三极管和一个蜂鸣器等组成的。声响电路在每按下按键时会响一声,当没DS18B20数字温度传感器数值超过或低于温度上下限时,单片机就会通过蜂鸣器发出警报声音。声音电路会在每个按键的按下时响一声,当数字温度传感器DS18B20没有温度数据输出时,单片机将通过蜂鸣器发出报警声音。上下限温度值主要是通过按键K1、 K2、 K3来设定。按键K1、 K2、 K3分别接入单片机P1.4、 P1.5、 P1.6 脚。电路如图4-6 所示图 4-6 声响控制电路图4.4 温控自动电路4.4.1 双向晶闸管介绍双向晶闸管,具有对称性的特点,使它能够在两个方向上导通,是一
22、种理想的交流双向晶闸管由N-P-N-P-N 五层半导体制成的,从中引出了三个电极。双向晶闸管也4.4.2 继电器介绍继电器是一种电气控制器件。它具有控制系统和被控制系统。经常用在自动控制电“”。因此继电4.4.3 电路设计该电路的主要功能是根据单片机给出的信号来控制继电器,从而控制电风扇。正常TL 时,继电器1 吸2 吸合,切换到强风档。4-7 所示。4-10 电源电路图图 4-7 温控自动电路4.5 数码显示电路显示电路部分包括5 个共阳极八段数码管,PNP型晶体管,电阻器等。用单片机的P0端口连接共阳极数码管的8位数据端用来提供段选数据,用单片机的P2端口的 P2.3 P2.7 连接数码管
23、的片选端用来提供片选信号输,用 8550( PNP型)三极管搭建驱动电P0口内部没有上拉电阻, 所以在P0接一个10K的排阻P0端口各加一个300欧姆的限流电阻。过P0口把并且通过P2.7 P2.3 五个端口轮流打开数码管的位选通,20ms左右)和人眼视觉暂留,所电路如图4-8 所示。4.6 电源电路4.6.1 LM7805 集成稳压器介绍三端稳压器LM7805是常见的,可以提供5V直流输出电压,其应用范围非常广泛,包含的调节器的过流保护电路和过载保护电路。如果使用散热器,可以继续提供1A的输出电流,如果使用周边设备相互配合,可以提供不同的电压和电流。电路如图4-9 所示 。4-9LM7805
24、 引脚图4.6.2 电路设计本系统设计的电源电路采用9V变压器将220V交流电变为9V交流电,然后经过整流电路、2200uf电解电容滤波后变为较平稳的直流电,再送给LM7805稳压器变为平整的直流220uf电解电容、104pf瓷片电容滤去电压中的毛刺电压,最后得到5V稳压4-10 所示。5、软件设计5.1 总体设计思想本系统是基于AT89C51单片机设计的。首先是软件检测数字温度传感器DS18B20工作是否正常,如果发现系统检测不到数字温度传感器DS18B20采集的温度数据时,蜂鸣器发出报警信息,提示用户检查系统或更换数字温度传感器DS18B20。系统检测正常时,通过3个功能按键K1、 K2、
25、 K3来设定好系统温度上下限值后,按确认键,系统进入正常运行状态。通过对数字温度传感器DS18B20进行数据采集,用数码管显示实时温度。当实时温度低于或高于设定温度上下限时,通过单片机输出信号控制继电器关断从而控制电风扇启停、强弱风挡的切换,从而达到环境温度的调控目的。5.2 各部分的软件框图和程序5.2.1 主程序流程图主程序流程图如图5-1 所示。5-1 主程序流程图5.2.2 温度显示子程序流程图数码管显示子程序流程图如图5-2 所示。总结到目前为止,我的论文基本完成。从最初的无从下手,毫无头绪,再到对思路的清 晰,整个设计过程都是对我的考验。因为我对电路一直都挺感兴趣的,我开始思考我的
26、论文题目,从定下论文题目后, 我开始收集材料,尽量让我的资料更加完整,在之后在写作的过程中,我也遇到了许多 的问题,多亏了老师的指导和同学们的帮助,我才能把论文慢慢成形。当我终于完成了 所有的任务之后,看着我的论文,我觉得一切都是值得的。这次毕业论文的制作过程让 我更加了解了自己,知道了独立思考的重要性。我不会忘记这次在毕业设计中所感受到的一切,这让我知道今后无论遇到任何事, 都需要脚踏实地、认真谨慎,更要有不怕困难,坚持不懈的精神。S1SW-PB电路原理图5VC710uf +P1.0 1P1.2P1.3P1.4 5P1.6P1.7RXD 10TXD 11P3.6P3.75VGNIM附录5VU
27、3P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RSTP0.7RXD/P3.0EA/VppTXD/P3.1ALE/PROGINT0/P3.2PSENINT1/P3.3P2.7T0/P3.4P2.6T1/P3.5P2.5WR/P3.6P2.4RD/P3.7P2.3XTAL2P2.2XTAL1P2.1GNDP2.0U61213141516STC89C52192017188936 P0.334 P0.529283130 ALE24 P2.323 P2.222 P2.121 P2.033 P0.632 P0.738 P0.
28、137 P0.226 P2.525 P2.4ADC0809(VCC)ADC0809(IN5)40INP2.7P2.6R161K+ C3100ULM2575253OUTL1D2IN5819+ C4源程序; 精准温度显示温控自动风扇系统*;* 说明 :;* 1 、 K1 按第一次进入设定低温动作温度值TL 状态:;* 2 、 K1 按第二次进入设定高温动作温度值TH 状态:;* 3、 K1 按第三次显示当前温度值;* 4 、设定过程:K2 加键, K3 减键,可快速调; 5 、当实时温度值在TL和 TH之间时,开启弱风档;当实时温度低于TL时,关闭风扇;当实时温度高于TH时,开启大风档。每次设置的
29、TH和 TL均被保存在DS18B20的 ROM;内 , 掉不需重新设置.*;TIMER_L DATA 23HTIMER_H DATA 24HTIMER_COUN DATA 25HTEMPL DATA 26HTEMPH DATA 27HTEMP_TH DATA 28HTEMP_TL DATA 29HTEMPHC DATA 2AHTEMPLC DATA 2BHTEMP_ZH DATA 2CHBEEP EQU P3.7DATA_LINE EQU P3.3C1EQU P3.4;C1控制口, 接继电器1C2EQU P3.5;C2控制口, 接继电器2FLAG1EQU 20H.0FLAG2EQU 20H.1
30、K1 EQU P1.4K2 EQU P1.5K3 EQU P1.6;=ORG 0000HJMP MAINORG 000BHAJMP INT_T0MAIN: MOV SP,#30HMOV TMOD,#01H ;T0,方式 1MOV TIMER_L,#00H ;50ms 定时值MOV TIMER_H,#4CHMOV TIMER_COUN,#00H ; 中断计数MOV IE,#82H;EA=1,ET0=1LCALL READ_E2MOV 20H,#00HSETB BEEPSETB C1setb C2熄灭符复位与检测DS18B20MOV 7FH,#0AHCALL RESETJNB FLAG1,MAIN
31、1JMP STARTMAIN1: CALL RESETJB FLAG1,STARTLCALL BEEP_BLJMP MAIN1START:MOV A,#0CCH ;跳过ROM匹配CALL WRITE发出温度转换命令MOV A,#044HCALL WRITECALL RESET跳过ROM匹配发出读温度命令MOV A,#0CCHCALL WRITEMOV A,#0BEHCALL WRITECALL READ ;读温度数据CALL CONVTEMPCALL DISPBCDCALL DISP1CALL SCANKEYLCALL TEMP_COMPJMP MAIN1;= ; 功能键扫描子程序;= SCA
32、NKEY:MOV P1,#0F0HJB K1,SCAN_K2CALL BEEP_BLSCAN_K1: CALL ALERT_TLCALL ALERT_PLAYJB K1,SCAN_K1CALL BEEP_BLSCAN_K11: CALL ALERT_THCALL ALERT_PLAYJB K1,SCAN_K11CALL BEEP_BLSCAN_K2:JB K2,SCAN_K3CALL BEEP_BLSCAN_K3:JB K3,SCAN_ENDCALL BEEP_BLLCALL RESETALERTLCALL RE_18B20LCALL WRITE_E2SCAN_END: RET; 设置动作温度
33、值TL, THRESET_ALERT:CALL ALERT_TLCALL ALERT_PLAY JNB K3,$;K3SETB TR0RESET_TL:CALL ALERT_PLAY JNB FLAG2,R_TL01 mov 75H,7fh;mov 76H,7fhCALL ALERT_PLAY JMP R_TL02R_TL01: CALL ALERT_TL mov 75h,7Eh;mov 76h,7Dh CALL ALERT_PLAYR_TL02: JNB K1,K011A JNB K2,K011B JNB K3,RESET_TH JMP RESET_TLK011A:INC TEMP_TLMO
34、V A,TEMP_TL CJNE A,#120,K012A ;MOV TEMP_TL,#0K012A: CALL TL_DEL JMP RESET_TL没有到设定上限值,转为位移键消影送设定值K011B:MOV A,TEMP_TLCJNE A,#00H,K;没有到设定下限值,转MOV TEMP_TL,#120K:DEC TEMP_TLK012B: CALL TL_DELJMP RESET_TL;RESET_TH:CALL BEEP_BLJNB K3,$RESET_TH1:CALL ALERT_PLAYJNB FLAG2,R_TH01mov 75H,7fh;消影mov 76H,7fhCALL A
35、LERT_PLAYJMP R_TH02R_TH01: CALL ALERT_THmov 75h,7Eh;mov 76h,7DhCALL ALERT_PLAYR_TH02: JNB K1,K021AJNB K2,K021BJNB K3,K002JMP RESET_TH1K021A:INC TEMP_THMOV A,TEMP_THCJNE A,#120,K022A ; 没有到设定上限值,转MOV TEMP_TH,#0K022A: CALL TH_DELJMP RESET_TH1K021B:MOV A,TEMP_THCJNE A,#00H,K023B ; 没有到设定下限值,转MOV TEMP_TH,
36、#120K023B: DEC TEMP_THK022B: CALL TH_DELJMP RESET_TH1K002: CALL BEEP_BLCLR TR0 ;关闭中断RET; 键延时子程序;TL_DEL:;设定温度低值TL 延时MOV R2,#0AHTL_DEL1: CALL ALERT_TLCALL ALERT_PLAYDJNZ R2,TL_DEL1RETTH_DEL:;设定温度高值TH延时MOV R2,#0AHTH_DEL1: CALL ALERT_THCALL ALERT_PLAYDJNZ R2,TH_DEL1RET;= ; 闪动显示标记符H 、 L、 O;= TEMP_COMP:启动
37、中断SETB TR0MOV A,TEMP_THSUBB A,#01HSUBB A,TEMP_ZHJC CHULI1MOV A,TEMP_ZH SUBB A,TEMP_TL JC CHULI2JNB FLAG2,T_COMP1MOV 74H,#0AH;LCALL DISP1JMP T_COMP2T_COMP1: MOV 74H,#00HLCALL DISP1 ;T_COMP2:SETB C1;SETB C2;CLR TR0 ;RET; 超温处理;CHULI1:CLR C1CLR C2 ;JNB FLAG2,CHULI10MOV 74H,#0AH;LCALL DISP1JMP CHULI11CHU
38、LI10: MOV 74H,#0DHLCALL DISP1 ;CHULI11:CLR TR0 ;RET;FLAG2=0, 显示标记字符熄灭符显示 "O"继电器1 断开继电器2 断开关闭中断继电器 2 吸合熄灭符显示 "H"关闭中断; 欠温处理CHULI2: CLR C1SETB C2 ;继电器 2 断开JNB FLAG2,CHULI20MOV 74H,#0AH;熄灭符LCALL DISP1JMP CHULI21CHULI20: MOV 74H,#0CHLCALL DISP1 ;显示 "L"CHULI21: CLR TR0RET;WRI
39、TE_E2:CALL RESETMOV A,#0CCH ;跳过ROM匹配LCALL WRITEMOV A,#48H;动作温度设定值拷贝到EEROMLCALL WRITERET;READ_E2:CALL RESETMOV A,#0CCH;跳过ROM匹配LCALL WRITEMOV A,#0B8H;动作温度值拷贝回暂存器CALL WRITERET; 处理温度BCD 码子程序CONVTEMP: MOV A,TEMPHANL A,#80H温度零上转二进制数求补(双字节)取反加 1JZ TEMPC1 ;CLR CMOV A,TEMPL ;CPL AADD A,#01HMOV TEMPL,AMOV A,T
40、EMPH ;CPL AADDC A,#00HMOV TEMPH,A ;TEMPHC HI =MOV TEMPHC,#0BHSJMP TEMPC11符号位TEMPC1:MOV TEMPHC,#0AH ;TEMPC11:MOV A,TEMPHCSWAP AMOV TEMPHC,AMOV A,TEMPLANL A,#0FH ;乘 0.0625MOV DPTR,#TEMPDOTTABMOVC A,A+DPTRMOV TEMPLC,AMOV A,TEMPL ANL A,#0F0H SWAP AMOV TEMPL,A MOV A,TEMPH ANL A,#0FH SWAP AORL A,TEMPL MOV
41、 TEMP_ZH,A LCALL HEX2BCD1 MOV TEMPL,A ANL A,#0F0H SWAP AORL A,TEMPHC MOV TEMPHC,A MOV A,TEMPL整数部分组合后的值存入TEMP_ZHANL A,#0FHSWAP A;TEMPLC HI =个位数 BCDORL A,TEMPLCMOV TEMPLC,AMOV A,R7JZ TEMPC12ANL A,#0FHSWAP AMOV R7,AMOV A,TEMPHCANL A,#0FHORL A,R7MOV TEMPHC,ATEMPC12:RET; 小数部分码表;TEMPDOTTAB: DB 00H,01H,01H
42、,02H,03H,03H,04H,04H,05H,06HDB 06H,07H,08H,08H,09H,09H;=DISPBCD: MOV A,TEMPLCANL A,#0FHMOV 70H,A;小数位MOV A,TEMPLCSWAP AANL A,#0FHMOV 71H,A;个位MOV A,TEMPHCANL A,#0FHMOV 72H,A;十位MOV A,TEMPHCSWAP AANL A,#0FHMOV 73H,A;百位MOV A,TEMPHCANL A,#0F0HCJNE A,#010H,DISPBCD0SJMP DISPBCD2DISPBCD0: MOV A,TEMPHCANL A,#
43、0FHJNZ DISPBCD2MOV A,TEMPHCSWAP AANL A,#0FHMOV 73H,#0AHMOV 72H,A;DISPBCD2: RET十位数是0符号位不显示十位数显示符号; 温度显示子程序DISP1:MOV R1,#70HMOV R5,#7FHPLAY:MOV P0,#0FFHMOV A,R5MOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,AMOV A,R5JB ACC.6,LOOP5CLR P0.7LOOP5:LCALL DLMS指向显示数据首址 扫描控制字初值取显示数据到A取段码表地址查显示数据对应段码段码放入P0口I
44、NC R1MOV A,R5指向下一个地址放回 R5 内JNB ACC.3,ENDOUT中数据循环左移放入 R5 中跳回 PLAY 循环一次显示结束,P0口复位口复位RR A;AMOV R5,A;AJMP PLAY;ENDOUT: MOV P0,#0FFHMOV P2,#0FFH ;P2RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH,0C7H,89HDL_MS: MOV R6,#0AHDL1:MOV R7,#64HDL2:DJNZ R7,DL2DJNZ R6,DL1RET; 单字节十六进制转BCD;HEX2BCD1
45、: MOV B,#064HDIV ABMOV R7,AMOV A,#0AHXCH A,B DIV ABSWAP AORL A,B RET;= ; 报警值TH、 TL 数据转换;= ALERT_TL:MOV 79H,#0CHMOV 78H,#0BHMOV A,TEMP_TLMOV R0,#77HMOV B,#064HDIV ABCJNE A,#01H,ALERT_TL1MOV R0,AJMP ALERT_TL2ALERT_TL1: MOV A,#0BH ;显示“”MOV R0,AALERT_TL2: MOV A,#0AHXCH A,BDIV ABDEC R0MOV R0,AMOV 7DH,ADEC R0MOV R0,BMOV 7EH,BRET;ALERT_TH:MOV 79H,#0DHMOV 78H,#0BHMOV A,TEMP_THMOV R0,#77HMOV B,#064HDIV ABCJNE A,#01H,ALERT_TH1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑工程监理委托合同
- 2025股权转让合同
- 初三学生国旗下演讲稿《轻装上阵迎中考 志存高远勇拼搏》
- 运维服务管理优化汇报
- 模拟有限责任公司设立登记流程
- 脓胸的护理常规
- 2025年环境监测测验试题
- 公司财务报销费用培训
- 2025年中医执业医师考试中药学知识点总结模版
- 新质生产力日报
- 保险医学课件
- 2022年上海市杨浦区四下期末数学试卷
- 《商务文书礼仪》PPT课件(完整版)
- 钢筋混凝土结构桩基工程施工组织设计.
- 日产5000吨水泥熟料生产线窑尾工艺设计
- 6.8相遇问题(课件) 数学四年级下册(共15张PPT)人教版
- -绿化安全技术交底
- 手动液压泵使用说明书
- 人防工程质量监督要点及常见问题培训手册
- 国家开放大学《C语言程序设计》章节测试参考答案
- 建筑工程一切险投保单
评论
0/150
提交评论