基于89C52单片机的电子时钟设计课程设计_第1页
基于89C52单片机的电子时钟设计课程设计_第2页
基于89C52单片机的电子时钟设计课程设计_第3页
基于89C52单片机的电子时钟设计课程设计_第4页
基于89C52单片机的电子时钟设计课程设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计题目基于89C52单片机的电子时钟设计英文题目ElectronicClockDesignBasedon89C52学生姓名陈志仁学号09325202专业电子信息工程系别机械与电子工程系指导教师黄河职称讲师二零一三年六月摘要至今,微处理器的发展已有40多年的历史,起初由美国Intel公司首推的4为微处理器Intel4004,实现将单片处理器和运算器等元件集成在一片电路芯片上。此后微处理器的迅猛发展,微处理器内集成的元件也越来越多,其中包括增加了存储器、I/O接口电路、定时/计数器、串行通信口、中断控制、系统总线以及系统时钟等,大大加强了微处理器的性能,并针对特定的领域制作出最大效率的微处理

2、器。不同功能的微处理器称为微控制器,也被我们简称为单片机。本文主要介绍以单片机ST89C52和DS12C887时钟芯片为核心的电子时钟显示,LCD1602为液晶显示器件,此电子时钟显示具有年月日等基本时间显示,以及秒表计时处理、闹钟定时、蜂鸣、温度的设计。单片机通过对时钟、温度等数据处理后传送至LCD显示输出,也可通过按键对时间进行调节。通过单片机外围接口的扩展实现温度采集等功能。关键词:电子时钟;AT89C52;计时;温度ABSTRACTThisprojectmainlyintroducesthattheelectronicclockwhichbasedonmicrocontrollerST

3、89C52display.LCD1602Liquidcrystaldisplaydevicesselectronicclockdisplayhasthedateandtimedisplay.Stopwatchtimingprocessing,alarmclocktimingandthedesignofbuzzer,temperature.SCMthroughtheclock,temperatureandotherdataprocessingandtransmitssignalstotheLCDdisplayoutput,alsobyadjustingbuttonfortime.Throught

4、heexpansionofsingle-chipperipheralinterfacetoachievetemperatureacquisitionfunctions.Keywords:electronicclock。ST89C52。timing。temperature第一章绪论系统设计的背景和意义1.1.1电子时钟设计的背景随着微电子技术的迅猛发展,电子产品技术也得到了很大的提高,单片机技术也同样水涨船高。单片机是把一个计算机系统集成到一个芯片上,它的产生是近代计算机技术发展史上一个重要的里程碑,它标志这计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。以单片机为核心的智能化产品将计

5、算机技术、信息处理技术和电子测量与控制技术结合在一起,把智能赋予各种机械装置,对传统的产品结构和应用方式产生了本质性的变革。由于其微小的体积和低成本的投入已普遍涉及现代人类生活中所用的电子和机械产品中,其中手机、电话、计算器、家用电器、电子玩具、电脑以及鼠标等电脑配件中都集成有至少1部单片机。1.1.2电子时钟设计的意义从古时的日晷、沙漏计时到近代的机械计时,再延续到现代的通过数字电路实现计时,其定时的准确性和精度都不是非常的理想,随着单片机的体积小、易控制、功能强、价格低廉、稳定可靠、集成度高等优点,注定了它的广泛普及。在智能家居、工业控制、通信、航天等领域有着极大的作用。电子时钟集成的单片

6、机,极大的提高了电子时钟显示的准确性和快捷性,最大化的方便了人们。此外由于单片机的精确性大到工业过程中的大型控制系统,小到早已遍及全世界的儿童玩具和智能家居控制,无时无刻的影响和方便人类的生活。同样的因为单片机的功能强、体积小、质量轻、灵活好用、性价比高等优良的性能,使得它可以更好地融入到更多更全面的系统中,可以构成许多功能不同的微电子产品。根据这种实际情况,设计了只采用一个单片机制作的多功能电子时钟,具备了最基本的时间日期显示功能,定时闹铃功能和温度显示功能,以及秒表功能,还可以针对家电等电气产品的自动控制对其进行相应的扩展,同样可以避免操作繁琐的控制器而产生的失误,准确实现“一对多”的控制

7、;温度传感器的添加,使得此电子时钟可以准确,快捷的进行温度显示,为人们的生活工作提供的极大的便利。对此设计还可以进一步的扩展利用,也可在此设计添加湿度传感器,进而实时进行湿度的显示。1.1.3电子时钟设计的应用电子钟已成为人们日常生活中不可或缺的生活品,广泛是广场,旅店等公共场合的必须设施,给人们的衣食住行带来极大的方便。由于单片机集成系统技术的迅猛发展,使电子时钟具有走时准确、性能稳定、携带方便、性价比高等优点可以构成许多功能不同的微电子产品。方案论证电子时钟电路的种类繁多,有通过数字电路和单片机集成等等,针对各种各样的情况或者不同领域所需要的电子时钟的要求也不尽相同,在生活上需要的电子时钟

8、精度就没有多大的要求,而在工业控制和航天等一些需要精准的时间便需要高精准的电子时钟,本设计的题目是基于89C52单片机的电子时钟设计,此设计的需要正常显示的是年、月、日、星期、时、分、秒。本设计需要硬件系统和软件系统的结合。121方案1基于STC89C52单片机的电子时钟的设计此方案是直接使用STC89C52单片机的集成电路来进行电子时钟的设计。相比于常用的51单片机STC89C52增加了一些功能,核心CPU为8位使用灵巧以及可编程Flash存储器,成为了嵌入式系统的应用变得更加的灵活多样,解决方案也变得有效。首先采用单片机的集成电路来进行计时,便需要此单片机的定时器/计数器每隔一定时间产生的

9、一个中断信号,当中断次数到达一定时会产生一个秒信号,当秒信号累加到了一定值便进行分的累加,依次类推,之后便是时、日、星期、月、年的进位。这样也就实现了利用单片机集成电路的电子时钟的设计。其次通过单片机的集成电路来实现电子时钟的设计,不需要再加入其它的芯片,实现了资源的充分,但是用此方案所设计的电子时钟精度不够,且掉电后数据易丢失,编程复杂。1.2.2方案2基于DS12C887的电子时钟的设计此种方案是在以单片机为核心装置的基础上,加上一个相关的时钟芯片,此类芯片有许多,比如MC146818,DS12887等等。它们虽然可以满足单片机系统对时钟的相关要求,但是此类芯片连接单片机较为复杂,数据总线

10、和地址总线的占用颇多,且芯片的体积相比其它较大,在如今寸土寸金的时代此种芯片已变得越来越不合适,由于近年来愈来愈多串行接口的芯片的广泛应用,也产生了一些串行接口的时钟芯片,其中DS12C887便是其中的一种它的综合性能相比MC146818,DS12887等较好且价格公道的串行接口时钟芯片。通过52单片机的核心控制和DS12C887时钟芯片的辅助,实现单片机的同步信号,加上一些基本必要电路进行集成来构成整个电子时钟设计的完成,其中外加的电路有显示电路、键盘电路、闹铃电路。如果想在此系统进行扩展还可在电路上增设相应的电路。由于在系统设计时,需要考虑诸多因素:功耗、精确度、软件编程的简便,芯片的体积

11、、芯片成本等。结合上述的各种影响DS12C887芯片为最佳选择,故方案2被采用。第二章电子时钟的硬件设计2.1单片机的选择单片微型计算机简称为单片机,是典型的嵌入式微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:存储器、中央处理器(CPU)和I/O接口电路等。因此,单片机只需要配合适当的软件及外部设备,便可成为一个单片机控制系统。单片机经历SCM、MCU、SoC三大阶段的发展,使得单片机具有了多功能、高性能、低电压、低价格、低功耗、大存储容量、强I/O功能及较好的兼容性等优点。1、多功能单片机中尽可能地把诸多模块都集成在一块芯片上,使得单片机可以实现的功能更加繁多

12、。其中把ADC、DAC以及多路模拟开关和采样/保持器乃至LED等显示驱动器集成在单片机芯片中,也就是外围器件的内置化。2、高性能为了提高执行速度和执行效率,单片机开始使用RISC结构、流水线和DSP的设计技术,使单片机的性能有了显著的提高。由于系统资源和系统复杂程度的增加,开始使用高级语言来开发单片机的程序。使用高级语言明显降低开发难度以及缩短了开发的周期,软件的可读性和可移植性也得到了大大的提升,便于改进和扩充功能。3、低电压和低功耗因单片机使用的场合空间有限,对其体积的要求严格,这也决定了单片机具有低电压和低功耗的特性非常重要。目前单片机制造工艺普遍应用CHMOS工艺,其中HMOS工艺为互

13、补金属氧化物具有高速度、高密度的特点,再加上CMOS工艺具备了低功耗的优良特性。由于CHMOS工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。目前,国内生产单片机的种类繁多,在此,我们采用为89C52单片机为主控制器。89C52内置8位中央处理器、256字节内部数据存储器RAM、8k片内部程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模

14、式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52具有PDIP(40pin)和PLCC(44pin)两种封装形式。单片机的基本简介单片机有两种基本结构:一种是在通用微型计算机中广泛采用的,数据存储器和程序存储器共用一个存储器空间的结构,称为“冯诺依曼”(VonNeumann)结构。另一种称为“哈佛”(Harvard)结构是将数据存储器和程序存储器完全分开,采用不同的访问指令进行访问,目前的单片机多采用“哈佛”结构。2.2.189C52单片机主要功能特性标准MCS-51内核和指令系统片内8kROM(可

15、扩充64kB外部存储器)32个双向I/O口256x8bit内部RAM(可扩充64kB外部存储器)3个16位可编程定时/计数器时钟频率3.5-12/24/33MHZ向上或向下定时计数器改进型快速编程脉冲算法6个中断源5.0V工作电压全双工串行通信口布尔处理器帧错误侦测4层优先级中断结构一自动地址识别兼容TTL和CMOS逻辑电平空闲和掉电节省模式PDIP(40)和PLCC(44)封装形式89C52单片机各引脚功能1主电源引脚有VCC、VSS。VCC(40脚):接+5V电源,为程序运行和校检时提供所需的电能。VSS(20脚):为接地端。2外界晶体引脚有XTAL1、XTAL2。XTAL1(18脚):片

16、内它属于一个反向振荡放大器输入端,此放大器构成了片内振荡器,可以提供单片机相应的时钟控制信号。XTAL2(19脚)在单片机内部,接至上述振荡器的反向输出端。当使用内部时钟时,两引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟信号,外部时钟由XTAL1引入,XTAL2处于悬空状态。3控制类引脚包括RESET(即为RST/VPD)、ALE、PSEN、EA,可以提供控制信号,有些具有复用功能。RSR/VPD(9脚):VPD是单片机内部备用电源,为单片机的上电复位和掉电保护端。振荡器工作时,在此引脚加上两个机器周期的高电平将使单片机进行复位(REST)操作。复位后应使此引脚电平保持为

17、不超过0.5V的低电平,以保证单片机正常运行。当电源端出现故障、小于低电平设定值或者掉电,此引脚可接入备用电源(VPD)以保持内部RAM中的数据不出现异常。ALE/PROG(30脚):地址锁存允许信号,以平均每机器周期两次有效的信号输出。在访问片外存储器或I/O时,用于锁存低八位地址,以实现低八位地址与数据的隔离。在不访问外部RAM和ROM时,ALE可以1/6的振荡频率固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。注意:在访问外部RAM期间,ALE脉冲会跳过两个机器周期此信号有效3次,此种状态下便不适合作为时钟输出。PSEN(29脚):片外程序存储器读选通信号,低电平有效。在从片外程序

18、存储器取指期间,在每个机器周期中,当有效时,程序存储器的内容被送上P0口(数据总线)。EA/VPP(31脚):片外程序存储器访问允许控制信号,此控制信号低电平为有效。EA=1(高电平),选择片内程序存储器;EA=0(低电平),则程序存储器全部在片外而不管片内是否有程序存储器4四个输入/输出引脚包括P0口、P1口、P2口和P3口。P0(39脚-32脚)8位、漏极开路的双向I/O口。当使用片外存储器时,复用作低八位地址和数据总线分时复用。P1(1脚-8脚)一8位、准双向I/O口。P2(21脚-28脚)一8位、准双向I/O口。当使用片外存储器时,复用作输出高8位地址。P3(10脚-17脚)一8位、准

19、双向I/O口,具有内部上拉电路。P3口功能表:P3口各引脚的第二功能P3口的位第二功能简要说明P3.0RXD串行数据接收口P3.1TXD串行数据发射口P3.2INTO外部中断0输入P3.3INT1外部中断1输入P3.4TO计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部RAM写信号P3.7RD外部RAM读信号89C52单片机内部结构图:第三章电子时钟的软件设计3.1程序总体设计3.1.1程序总体流程图开始Y功能键闹钟按键结束初始化,设置初值LCD显示时间显示时间确定闹钟控制正常计时调节时间图3.1主程序流程图3.2DS12C887使用说明及流程图主程序运行后,首先DS12C887将

20、会进行初始化的设置,如果串行口中具有相应的数据,然后需要获取时钟信息就必须调用相应的程序来从时钟芯片中获取,最后时钟信息的显示也需要调用相应的程序,依次返复进行。这段程序包括对DS12C887某个单元读写内容和对DS12C887设定时间。DS12C887的流程图如图3.2所示。调用程序获取时钟信送数据显示图3.2DS12C887的流程图3.31602液晶显示屏操作说明及流程图液晶显示屏的显示主要是通过从芯片中加载程序,分别对秒、分、时、星期、日、月、年、温度进行相应的显示,并且对可对时间进行加减操作,可通过键盘进行操作更新时间的显示。1602LCD的流程图如图3.3所示。开始1602初始L-化

21、-读取数据第一行显读取数据第二行显图3.31602LCD的流程图3.4键盘控制说明及流程图当功能键按下时,秒位置闪烁。每次按下功能键按下时,分别在秒、分、时、星期、日、月、年处闪烁。当功能键再次按下时,加一或减一键有效并在相应位置加一或减一。如选定秒位,按下增大键,调整显示位秒的增加,当秒增加至满60后,自动清零,同时调节一次送至下一位显示,显示位置重新回到调节处;当按下减小键时,调整显示位秒的减小,当秒减至0后,自动跳转为59,同时调节一次送至下一位显示,显示位置重新回到调节处;年月日时分的调节原理相同。键盘加一减一流程图如图3-4所示。图3-4键盘加一减一流程图3.5主程序主程序主要对按键

22、进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序,该段程序如下:3.5.1延时程序动态扫描时液晶显示需要用到延时程序,此设计使用的是延时程序,此程序需要反复调用程序如下:DELAY:MOVR4,#0FHDE1:MOVR5,#0FFHDJNZR5,$DJNZR4,DE1RET此类延时程序所延时的程序计算为:由于DJNZ指令执行时间为2个机器周期。假设单片机的工作频率为12MHz,则一个机器周期是lys。上述延时执行的时间0FFHx2ys=512ys,也是循环一次完成的时间,因其循环OFH次,所以其循环完成总的时间约为512ysx0FH=8.192ms。此类延时程序算法与此相同。3.5

23、.2时钟芯片程序下面给出的便是调用时钟芯片DS12C887的初始化和获取内部事件的汇编程序:ORG0000HAJMPSTARTSTART:ACALLSETTIME。设置初始时间LOOP:ACALLGETTIME。循环读取当前时间AJMPLOOP。SETTIME:MOVDPTR,#7D0AH。DS12C887的A寄存器MOVA,#20HMOVXDPTR,A。打开DS12C887的内部晶振并使RTC(实时时钟)记录时间INCDPTR。DS12C887的B寄存器MOVA,#08HMOVXDPTR,A。设十进制BCD码,24小时制,不定时MOVDPTR,#7D0DH。DS12C887的D寄存器MOVX

24、A,DPTR。如果D寄存器的第7位为0表示电池耗尽JNBACC.7,ERRORMOVDPTR,#7D00H。DS12C887的秒单元MOVA,#00HMOVXDPTR,A。写入秒MOVDPTR,#7D02H。DS12C887分单元MOVA,#21HMOVXDPTR,A。写入分MOVDPTR,#7D04H。DS12C887时单元MOVA,#03HMOVXDPTR,A。写入时MOVDPTR,#7D06H。DS12C887星期单元MOVA,#03HMOVXDPTR,A。写入星期MOVDPTR,#7D07H。DS12C887日单元MOVA,#20HMOVXDPTR,A。写入日MOVDPTR,#7D08

25、H。DS12C887月单元MOVA,#07HMOVXDPTR,A。写入月MOVDPTR,#7D09H。DS12C887年单元MOVA,#05HMOVXDPTR,A。写入年时间ERROR:RETGETTIME:MOVDPTR,#7D0AHMOVXA,DPTRJBACC.7,GETTIME。REGISTERA的UIP位=0时才可以读数据MOVDPTR,#7D00HMOVXA,DPTRMOVR2,A。SECONDSACALLDISPLAYMOVDPTR,#7D02HMOVXA,DPTRMOVR1,AACALLDISPLAY。MINUTESMOVDPTR,#7D04HMOVXA,DPTRMOVR0,A

26、。HOURSACALLDISPLAYACALLDELAYRETDISPLAY:MOVDPTR,#TABMOVSCON,#00HMOVR3,AANLA,#0FHMOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,R3SWAPAANLA,#0FHMOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTIRETDELAY:MOVR4,#0FHDE1:MOVR5,#0FFHDJNZR5,$DJNZR4,DE1RETTAB:DB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H,11H,0C1H,63H,85H,61H,71HEND日期的显示,

27、秒表的显示,倒计时的显示,调闹铃,调定时的显示,闪烁的显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句ACALL调用;有点直接嵌套在相应的程序里面,顺序执行,或者用调转语句AJMP调用。3.5.2液晶时钟显示调用程序四个按键控制液晶时钟的显示,P3.2为调时选择键,按第1次为秒钟调整,按第2次为分钟调整,按第3次为时钟调整。P3.3为加1键。P3.4为减1键。P3.5为确认键。RSBITP2.0RWBITP2.1EBITP2.2LCDEQUP0H_BITEQU20HM_BITEQU21HS_BITEQU22HHHEQU23HMMEQU24HSSEQU25HHH_BITEQ

28、U26HMM_BITEQU27HSS_BITEQU28H。=ORG00HAJMPMAINORG0BHAJMPTIME0ORG30H。=主程序=MAIN:MOVSP,#60HMOVP1,#00HMOVR5,#00HMOVH_BIT,#00HMOVM_BIT,#00HMOVS_BIT,#00HMOVHH_BIT,#00HMOVMM_BIT,#00HMOVSS_BIT,#00HMOVHH,#00HMOVMM,#00HMOVSS,#00HMOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBEASETBET0SETBTR0MOVLCD,#01HLCALLLCDWCLOOP:LC

29、ALLEYLCALLKEYLCALLEYYLJMPLOOP。=显示子程序=EY:LCALLLOOP1LCALLLCDSETMOVDPTR,#TAB1MOVA,H_BITLCALLDISPMOVA,HH_BITLCALLDISPMOVA,#58MOVLCD,ALCALLWRRMOVA,M_BITLCALLDISPMOVA,MM_BITLCALLDISPMOVA,#58MOVLCD,ALCALLWRRMOVA,S_BITLCALLDISPMOVA,SS_BITLCALLDISPRET。=bcd码转换子程序=LOOP1:MOVA,SSMOVB,#10DIVABMOVS_BIT,AMOVSS_BIT,

30、BMOVA,MMMOVB,#10DIVABMOVM_BIT,AMOVMM_BIT,BMOVA,HHMOVB,#10DIVABMOVH_BIT,AMOVHH_BIT,BRET。=中断子程序=TIME0:PUSHAccPUSHPSWMOVTH0,#3cHMOVTL0,#0B0HINcR5cJNER5,#20,LOOP2MOVR5,#00HINcSSMOVA,SSCJNEA,#60,LOOP2MOVSS,#00HINCMMMOVA,MMCJNEA,#60,LOOP2MOVMM,#00HINCHHMOVA,HHCJNEA,#24,LOOP2MOVHH,#00HLOOP2:POPPSWPOPACCRET

31、I。=按键检测子程序=KEY:clreaJNBP3.2,SS_KEYKEY1:setbeaRET。=秒钟调整子程序=SS_KEY:LCALLEY1LCALLDIS1JNBP3.2,SS_KEYSSA:LCALLEY1JNBP3.3,S_ADDKEYJNBP3.4,S_DECKEYLCALLDIS1JNBP3.2,MM_KEYJNBP3.5,KEY3LJMPSSAKEY3:LJMPKEY1。=秒加1=S_ADDKEY:lcalley1LCALLDIS1JNBP3.3,S_ADDKEYINCSSMOVA,SSCJNEA,#60,SS_KEY1MOVSS,#00HSS_KEY1:LJMPSSA。=秒

32、减1=S_DECKEY:lcalley1LCALLDIS1JNBP3.4,S_DECKEYMOVA,SSCJNEA,#00,SS_KEY2MOVSS,#60SS_KEY2:DECSSLJMPSS_KEY1。=分钟调整子程序=MM_KEY:LCALLEY2LCALLDIS1JNBP3.2,MM_KEYMMA:LCALLEY2JNBP3.3,M_ADDKEYJNBP3.4,M_DECKEYLCALLDIS1JNBP3.2,HH_KEYJNBP3.5,KEY4LJMPMMAKEY4:LJMPKEY1。=分加1=M_ADDKEY:lcalley2LCALLDIS1JNBP3.3,M_ADDKEYINC

33、MMMOVA,MMCJNEA,#60,MM_KEY1MOVMM,#00HMM_KEY1:LJMPMMA。=分减1=M_DECKEY:lcalley2LCALLDIS1JNBP3.4,M_DECKEYMOVA,MMCJNEA,#00,MM_KEY2MOVMM,#60MM_KEY2:DECMMLJMPMM_KEY1。=时钟调整子程序=HH_KEY:LCALLEY3LCALLDIS1JNBP3.2,HH_KEYHHA:LCALLEY3JNBP3.3,H_ADDKEYJNBP3.4,H_DECKEYLCALLDIS1JNBP3.2,SSBJNBP3.5,KEY5LJMPHHAKEY5:LJMPKEY1

34、。=时加1=H_ADDKEY:lcalley3LCALLDIS1JNBP3.3,H_ADDKEYINCHHMOVA,HHCJNEA,#24,HH_KEY1MOVHH,#00HHH_KEY1:LJMPHHA。=时减1=H_DECKEY:lcalley3LCALLDIS1JNBP3.4,H_DECKEYMOVA,HHCJNEA,#00,HH_KEY2MOVHH,#24HH_KEY2:DECHHLJMPHH_KEY1SSB:LJMPSS_KEYDISP:MOVCA,A+DPTRMOVLCD,ALCALLWRRRETLCDSET:MOVLCD,#38HLCALLLCDWCMOVLCD,#06HLCAL

35、LLCDWCMOVLCD,#0CHLCALLLCDWCMOVLCD,#0C4HLCALLLCDWCRETLCDWC:CLRRSCLRRWCLRELCALLLCDBFSETBERETWRR:SETBRSCLRRWCLRELCALLLCDBFSETBERETLCDBF:MOVLCD,#0FFHCLRRSSETBRWCLRENOPSETBEJBLCD.7,LCDBFRETEYY:MOVLCD,#80HLCALLLCDWCMOVDPTR,#TAB2MOVR2,#16MOVR1,#00HEYY1:MOVA,R1LCALLDISPINCR1DJNZR2,EYY1RETEY1:MOVLCD,#0C4HLCA

36、LLLCDWCMOVR4,#02EY11:LCALLHINDDJNZR4,EY11LCALLLOOP1MOVA,S_BITLCALLDISPMOVA,SS_BITLCALLDISPRETEY2:MOVLCD,#0C4HLCALLLCDWCLCALLHINDLCALLLOOP1MOVA,M_BITLCALLDISPMOVA,MM_BITLCALLDISPLCALLHINDRETEY3:MOVLCD,#0C4HLCALLLCDWCLCALLLOOP1MOVA,H_BITLCALLDISPMOVA,HH_BITLCALLDISPMOVR4,#02EY33:LCALLHINDDJNZR4,EY33RE

37、THIND:MOVR3,#3HIND1:MOVA,#MOVLCD,ALCALLWRRDJNZR3,HIND1RET。=延时程序=DIS1:MOVR6,#20DJNZR6,$RET。=段码表=TAB1:DB30H,31h,32H,33H,34H,35H,36H,37H,38H,39HTAB2:DBZhiRenChenDesignend温度显示调用程序TEMPER_LEQU36HTEMPER_HEQU35HTEMPER_NUMEQU60HFLAG1BIT00HDQBITP3.3RSEQUP3.7。RSv-P2.0RWEQUP3.6。R/WP2.1EEQUP3.5。EP2.2LCD_DBEQUP1A

38、AA:MOVSP,#70HLCALLGET_TEMPERLCALLTEMPER_COVLCALLDISPLAY。调用显示子程序LJMPAAANOP。读出转换后的温度值GET_TEMPER:SETBDQ。定时入口BCD:LCALLINIT_1820JBFLAG1,S22LJMPCC。若DS18B20不存在则返回S22:LCALLDELAY1MOVA,#0CCH。跳过ROM匹配0CCLCALLWRITE_1820MOVA,#44H。发出温度转换命令LCALLWRITE_1820NOPLCALLDELAYLCALLDELAYCBA:LCALLINIT_1820JBFLAG1,ABCLJMPCBAABC:LCALLDELAY1MOVA,#0CCH。跳过ROM匹配LCALLWRITE_1820MOVA,#0BEH。发出读温度命令LCALLWRITE_1820LCALLREAD_18200。READ_1820RET。读DS18B20的程序,从DS18B20中读出一个字节的数据READ_1820:MOVR2,#8RE1:CLRCSETBDQNOPNOPCLRDQNOPNOPNOPSETBDQMOVR3,#7DJ

温馨提示

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

评论

0/150

提交评论