智能温度测量仪

上传人:ph****6 文档编号:75403785 上传时间:2022-04-15 格式:DOC 页数:20 大小:104KB
收藏 版权申诉 举报 下载
智能温度测量仪_第1页
第1页 / 共20页
智能温度测量仪_第2页
第2页 / 共20页
智能温度测量仪_第3页
第3页 / 共20页
资源描述:

《智能温度测量仪》由会员分享,可在线阅读,更多相关《智能温度测量仪(20页珍藏版)》请在装配图网上搜索。

1、-2.4.1 选择温度传感器器件1本次设计用到电流型两线制集成温度传感器AD5900时为0.2732mA。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。2.4.2 选择单片机器件单片机又称单片微控制器,它不是完成*一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。在大多情况下,理应选择性价比高的单片机及其它器件,但在*些特殊场合,当性能成为决定因素时,应以性能优先原则选择所需的单片机或其它器件。单片机一般分为51系列和52系列,本次设计

2、用到的是52系列即8051单片机。2.4.4 放大器的设计温度传感器的输出电压经过ISO100隔离放大(单增益)后,将输出电压送给测量放大器进展放大,以便放大后的输出电压和A/D转换器的量程相匹配。本设计中选用了AD521,它是美国AD公司生产的第二代单片集成精细仪表放大器。2.4.5 A/D和D/A转换器设计21假设A/D转换器中带锁存器,可与单片机直连;假设A/D片中不带锁存器,则在单片机与A/D之间要家锁存器,如74LS373等。图2 A/D转换与51单片机的接口3.1 系统总体原理框图将集成温度传感器AD5900时为0.2732mA因温度变化,导致电流变化0.001mA/,经OPA转换

3、为电压变化输入ADC0804,输入电压Vin05V之间经过A/D转换之后,其值由8751处理,最后将其显示在D4,D3,D2,D1共四个七段显示器。其中包含了时钟显示电路。该温度测量仪可以实现温度的测量,数据的显示、储存以及日历时间的显示。图6 ADC0804引脚图在使用时应注意以下几点:(1) 转换时序(2) 零点和满刻度调节。(3) 参考电压的调节(4) 接地3.4 单片机及其扩展I/O的设计采用TTL电路扩展I/O口是一种最常见的微机I/O扩展手段。图7 单片机与I/O接口原理图3.4.1 地址锁存器由于8051单片机的PO口是分时复用的地址/数据总线,因此在进展程序存储器扩展时,必须用

4、地址锁存器将地址信号从地址/数据总线中别离开来。74LS373是带三态缓冲输出的八D锁存器,将它的锁存控制端G直接与8031的锁存控制信号端ALE相连,在ALE下降沿进展地址锁存。3.4.2 程序存储器程序存储器的扩展包括三组总线的连接及地址译码等。MCS-51系列单片机程序存储器可扩展64KB。由于大规模的集成电路的扩展,单片存储器的存储容量越来越大,因此,在程序存储器芯片使用的数量上一般采用一片就够了。程序存储器的作用是存放单片机的执行程序,虽然现今的单片机具有片的程序存储器,但是,当程序量超过单片机的片程序存储器时,将采用片外扩展程序存储器,通常采用EPROM、E2PROM、Flash存

5、储器等芯片。3.4.3 数据存储器扩展扩展的数据存储器空间地址同外扩程序存储器一样,由P2口提供高8位地址,PO口为分时提供低8位地址和8为双向数据总线。由8031的RD (P3 .7 )和WR (P3.6)信号控制,而片外程序存储器EPROM的输出允许端( OE)由读选通信号PSEN控制即使与片外数据存储器RAM的读和写EPROM共处一地址空间,但由于控制信号即使用的数据传输指令不同,故不会发生总线冲突3.5 键盘和显示的设计键盘分为独立式键盘和矩阵式键盘。由于本设计中键的数量不是很多,所以在此我们选用独立式键盘控制。在此电路中为8279扩展I/0控制的8位共阴极LED动态显示接口电路。由于

6、所有8位段选线皆由一个I/0口控制,因此,在每一瞬间,8位LED会显示一样的字符。要想每位显示不同的字符,就必须采用扫描方法轮流点亮各位LED,记载每一瞬间只使*一位显示字符。在此瞬间,段选控制I/0口输出相应字符段选码(字型码),而位选则控制I/0口在该显示为送入选通电平(因为LED为共阴,故应送低电平),以保证该位显示相应字符。如此轮流,使每位分时显示该位应显示字符。逐位轮流点亮各个LED,每一位停留lms,在10-20ms之再一次点亮,重复不止,这样,利用人的视觉暂留好似六位LED同时点亮了。在此仪器的设计中,LED显示器的显示方式采用的是动态显示方式。3.6 模拟信号输出局部设计3.6

7、.1 信号输出局部总体设计系统经过数据采集、数据处理之后,获得被测对象的温度值,但在有些时候需要控制被控对象的温度,因此,要由单片机系统发出控制信号,进展系统控制。但是由8031输出的控制信号是数字信号,需将其经过数/模转变为模拟信号,再经功率放大,才能控制加热炉、热处理炉等。这一功能由一片DAC0832来完成,由于DAC0832是一种电流输出型D/A芯片,因此其后端接一片运算放大器构成反相输出电路以实现电压信号输出,然后再接入1片多路模拟开关CD4051,将输出扩展为8路。由上述可知,该局部具有8路模拟信号输出能力。(1) D/A转换器选用DAC0832该芯片是8位分辨率的D/A集成芯片,与

8、微处理机完全兼容,具有价格低廉、接口简单、转换控制容易等优点,主要有如下特点A)可单缓冲或双缓冲数字输入;B)只需在满量程下调整其线性度;C)低功耗,200mW;D)部无参考电压源,须外接参考电压源;E)为电流输出型数模转换器,要获得模拟电压输出时,需外加转换电路;F)有5根控制线;图8 DAC0832的管脚功能第4章 时钟电路的设计4.3.2 LED的段驱动芯片的选择LED的段驱动电路有很多种,在本设计中可以选择BCD-7段锁存/译码/驱动器作为段驱动器。这类芯片的型号有74LS47、74LS48、74LS247、74LS248等。该类芯片具有锁存、译码、驱动的功能。即在输入端输入要显示字形

9、的BCD码,在输出端就可以得到具有一定驱动能力的7段显示字形码。4.3.3 LED的位驱动芯片的选择14LED位驱动较常用的芯片有ULN2003A和ULN2803。前者是具有7个达林顿电路的集成芯片,后者是具有8个达林顿电路的集成芯片。此种芯片集电极可以收集最大达500mA的电流,耐压为30V,能驱动常规的LED显示器。2803芯片的电路原理和2003完全一样,只是在构造上2803比2003多一路驱动器。 在本次设计中选用ULN2003作为位驱动电路,将该芯片的输入端管脚IN0,IN1,IN2,IN3与单片机的P1口或者P3口连接,该芯片的输出端管脚OUT0,OUT1,OUT2,OUT3与LE

10、D显示器的4个位码管脚D1D4相连接。ULN2003的作用是承受来自单片机的位码输入信号,经过反相放大后输出,送到LED显示器的位码管脚,完成对位码信号的反相和驱动的功能。4.3.4 LED驱动电路与单片机的连接采用单片机的P1口作为与LED的输出接口,用P1口的低四位作为LED的段码输出信号,P1口的高四位作为LED位码的输出控制信号。硬件电路连接如图1所示。RP是上拉电阻,作用是保证LED可靠导通与截止,可以选择阻值为8100W的排电阻。该电路的工作原理是:当P1口的低四位输出短码信号的BCD码后,通过74LS48芯片的锁存、译码和驱动作用,输出具有一定驱动能力的7段字形码,由于4-LED

11、的段码输入管脚是并联在一起的,所以每一位LED的段码输入管脚都能获得这个段码信号。假设要控制在每一时刻只有一位LED被点亮,必须靠位码信号在每一时刻只有一位是“1,其他位全为“0,然后按时间顺序改变输出“1的位置,控制在每一时刻只有一位LED被点亮,到达动态显示的目的。4.4 按键电路设计与器件选择电子时钟应用系统工作时应具备两项根本功能,一是随时输入定时闹钟时间,二是随时对当前时间进展调整。要实现这一功能,可以接入键盘输入电路。4.4.1键盘构造的选择在单片机组成的测控系统及智能化仪器中,用得最多的是非编码键盘。键盘构造又可以分为独立式键盘和行列式键盘矩阵式两类。本例只需要4个按键,因此选择

12、独立式键盘。电路由按键和4个电阻组成,按键可以采用轻触开关,按键分别命名为SET、ALM、+1和RET键,电阻可以采用5脚排电阻,阻值为41kW。4.4.2 键盘与单片机的接口电路设计将键盘直接与单片机的P3口连接,有P3.2、P3.3口线通过两个按键SET、ALM接入两个外部中断的请求信号INT0、INT1;P3.0、P3.1管脚作为I/O口使用。四个按键功能的设计思路如下:(1) SET键功能设置当前时间。(2) ALM键功能设置定时闹钟时间。 (3) +1调整键的功能分别对时间值的小时十位、分的十位、分的个位进展+1调整,即该键每按下一次,对应的时间调整位+1。 (4) RET确认键的功

13、能确认。键盘的硬件电路设计只是完成4个按键信号可靠输入,要想实现键盘的输入功能,还要靠软件编程来具体实现。4.5 蜂鸣器电路的设计 设计要求定时闹钟时间到时要有声音提醒信号产生,可选择一只蜂鸣器来实现这一功能。压电式蜂鸣器H作为三级管VT的集电级负载,当VT导通时,蜂鸣器发出鸣叫声音;VT截止时,蜂鸣器不发声。R是限流电阻。该电路的工作原理是:当VT2的基极为低电平时,VT2导通,dp段被点亮,即“:段与LED数码管的第二位一起被点亮;当VT2的基极为高点平时,VT2截止,dp段熄灭。器件选择:R4=20W、R5=100W,VT2选择PNP型三级管9012。至此,我们已经完成了电子时钟的功能,

14、还需要有相应的软件配合,才能到达设计要求。4.6 电子时钟应用程序设计进展应用软件设计时可采用模块化构造设计,其优点是:每个模块的程序构造简单,任务明确,易于编写、调试和修改;程序可读性好,便于功能扩大和版本升级;对于使用频繁的子程序可以建立子程序库,便于多个模块调用;便于分工合作,多个程序员同时进展程序的编写和调试工作,加快软件研制进度。4.6.1电子时钟系统软件设计方案确定根据设计要求,首先要确定软件设计方案,即确定该软件应该完成哪些功能;其次是规划这些功能需要分成多少个功能模块,划分模块时应遵循下述原则:(1) 每个模块应具有独立的功能,能产生一个明确的结果。(2) 模块之间的控制参数应

15、尽量简单,数据参数应尽量少。(3) 模块长度适中,模块语句的长度通常在20100条的围较适宜。根据模块的划分原则,我们将该程序划分成七个模块,如图9所。主程序模块数码管动态扫描模块当前时间计时模块输入闹钟时间模块当前时间调整模块蜂鸣器报警模块数制转换模块图9电子时钟软件设计的模块4.6.2 存空间的分配一般在程序设计前应对存进展合理的分配,这样既可以使得编程时心中有数,也可充分利用单片机部RAM有限的存储空间。电子时钟应用程序设计存分配见表14.6.3 电子时钟应用程序设计(1) 主程序的设计 主程序的容一般包括:主程序的起始地址、中断效劳程序的起始地址、有关存单元及相关部件的初始化和一些子程

16、序调用等。主程序设计框图如图10所示。本设计中,采用硬件定时和软件定时并用的方式,即用T0溢出中断功能实现10ms定时,通过软件延时程序实现1ms的定时。程序清单见附录A第5章 系统软件设计5.1 系统软件总体设计整个温度检测系统是在程序控制下工作的,该系统的软件全部采用汇编语言编写,以提高系统的快速性和实时性。其设计方法与硬件设计相对应,同样采用模块化的设计思想,将该局部设方案分为相应的程序模块,分别进展设计、编制和调试,最后通过主程序和中断处理程序将各程序模块连接起来。这样有利于程序修改和调试,增强了程序的可移植性。整个软件系统主要有以下几局部:主程序、数据采集、数据标度变换处理及键盘显示

17、等程序。完毕语1.本设计所研制的多功能智能化温度测量仪是单片机控制的智能化仪表,它的主要特点如下:(1) 该仪表适用于-55+150温度围的测量可以进展温度的实时显示。(2) 该仪表选用了集成温度传感器AD590作为测温元件,该元件体积小,精度高重要的是它的价格低廉。这样该仪表的本钱就低,可以大规模生产。(3) 该仪器可以进展温度的实时显示还有时间显示及报警功能并且使用方便。(4) 元器件经仔细挑选,抗干扰能力强。2.本设计存在的缺乏之处如下:本仪表只能进展一路测量,在需要进展多路测量时受到限制,因此应进一步完善以能进展多路测量。该仪表没有打印测量温度值可以在原有硬件电路上进展扩展,实现更多的

18、功能。3.可以从两方面考虑进展改进:1) 改变传感器。只需修改软件设计,硬件电路无需大的改动。2 采用黑体空腔理论进展测量。参考文献1王迎旭 . 单片机原理与应用J.机械工业.20042.7 2*科军 . 自动检测和仪表中的共性技术J.清华大学出版.2002 3友德 . 单片微型机原理、应用与实验M.复旦大学.2001 4涵芳,*爱卿.单片机原理及应用M.航空航天大学.19985艳萍 . 单片机及嵌入式系统应用M.高等教育.2002 Education(Asia) 王晓明 .电动机6的单片机控制M.:航空航天大学.2004参考程序清单(1) 时钟电路主程序清单如下: ORG 0000H LJM

19、P MAIN ;转主程序 ORG 0003H ;外部中断0中断效劳程序入口地址 LJMP T0SEV ;转外部中断0中断效劳程序 ORG 000BH ;T0定时中断效劳程序入口地址 LJMP INTB ;转T0定时中断效劳程序 ORG 0013H ;外部中断1中断效劳程序入口地址 LJMP INTB ; 转外部中断1中断效劳程序 ORG 001BH ;T1定时中断效劳程序入口地址 LJMP T1SEV ;转T1定时中断效劳程序 ORG 0030H ;设置主程序起始地址=0030HMAIN:MOV SP,*60H ;设置堆栈指针 MOV A,*00H MOV 3OH,A MOV 31H,A MO

20、V 32H,A MOV 33H,*0CH MOV 34H,A MOC 35H,A MOV 44H,*80H ;LED位选择码 MOV 45H,*40H MOV 46H,*20H MOV 47H,*10H CLR RS0 CLR RS1 ;选择0组工作存放器 MOV R2,*0 MOV R3,*0 ;设置时间初值=12:00 MOV R4,*0 MOV R5,*12 MOV TMOD,*11H ;设置T1、T0的工作方式:定时器。工作方式1 MOV TH1,*3CH MOV TL1,*0B0H ;T1计数初值=3CB0H MOV TH0,*0ECH ;T0计数初值=EC78H MOV TL0,*

21、78H MOV IP,*08H ;设置中断优先级 MOV TCON,*50H ;启动定时器T0、T1 MOV IE,*8FH ;开中断LOP: MOV B,*10 ;将二进制数转换为十进制数BCD码 MOV A,33H ;并送到显示缓冲区40H43H DIV AB MOV 40H,A MOV 41H,B MOV B,*10 MOV A,32H DIV AB MOV 42H,AAA: MOV 43H,B SETB RS2 CLR RS0A1: MOV R2,35H ;判断是否有定时时间 CJNE R2,*0,NT MOV R2,34H CJNE R2,*0,NT SJMP BBNT: MOV A

22、,35H CJNE A,33H,BB ;判断定时时间到否 MOV A,34H CJNE A,32H,BB CLR P3.7 ;时间到,发出报警 SJMP LOPBB: SETB P3.7 SJMP LOP(2) T0定时器中断效劳程序清单如下:TOSEV: PUSH A ;LED定时扫描程序 PUSH PSW ;保护现场 SETB RS1 ;RS1、RS0=11H SETB RS0 ;选择3组工作存放器 CLR TR0 ;停顿T0定时器 MOV R2,*04H ;设置显示器位数 MOV R0,*40H ;设置段码首地址 MOV R1,*44H ;设置位码首地址 GOON: MOV A,R2 ;

23、送显示位数到A CJNE A,31H,NOFLASH ;判断是闪烁位否,不是则转NO、FLASH DJNZ 30H,FLASH ;是闪烁位则转移到FLASH。NOFLASH: MOV A,R1 ;送位码地址到A累加器 ADD A,R0 ;将段码和位码组成8位二进制数 MOV P1,A ;输出段码、位码数据到P1口 LCALL DELAY1 ;调延时子程序,延时1ms FLASH: INC R0 ;段码地址+1 INC R1 ;位码地址+1 DJNZ R2,GOON ;判断4位都显示完否;没完继续显示下一位 MOV TH0,*0ECH MOV TL0,*78H ;重置T0计数初值 POP A ;

24、恢复现场 SETB ET0 ;允许T0中断 SETB TR0 ;启动T0开场定时SETB EA ;开中断 RETI ;中断返回DELAY1: MOV R3,*02H ;延时1ms子程序 AGAIN: MOV R4,*0F8H DELAY: DJNZ R3,AGAIN RET 注意:在T0中断效劳程序中,有调用了延时1ms子程序,因此,T0中断效劳程序有是延时1ms子程序的主程序。(3) 中断效劳程序如下:T1_SEV:MOV TH1,*3CH ;重置T1计数初值 MOV TL1,*0B0H CLR EA ;关中断 PUSH A ;保护现场 PUSH B PUSH PSW CLR RS1 CLR

25、 RS0 ;选择0区工作存放器 INC R2 ;中断次数加1 CJNE R2,*0AH,EN ;判断中断10次否,否则转EN MOV R2,*0 ;T1中断10次的累计时间为1s,计数存放器R2清零 INC R3 ;秒计时单元R3+1 CJNE R3,*3CH,EN ;判断R3=60s否,否则转EN MOV R3,*0 ;60s时间到。R3=0 INC R4 ;分计时单元R4+1 MOV 32H,R4 ;分值送32H单元 CJNE R4,*3CH,EN ;判断R4=60min否,否则转EN MOV R4,*0 ;60min时间到,R4=0 MOV 32H,R4 ;分值送32H单元 INC R5

26、 ;小时单元R5+1 MOV 33H,R5 ;小时值送33H CJNE R5,*18H,EN ;判断R5=24h否,否则转EN标号地址 MOV R5,*0 ;24h时间到。R5=0 MOV 33H,R5 ;小时值送33H单元 EN: POP PSW ;恢复现场 POP B POP A SETB EA ;开中断 RET1 ;中断返回4键盘接收子程序1设置当前时间程序如下:INTA: SETB P3.0 ;输入键值前,先将P3.0、P3.1置1 SETB P3.0 CLR TR1 ;T1停顿定时 CLR ET1 ;T1制止中断 CLR E*0 ;INT0制止中断 CLR E*1 ;INT1制止中断

27、 SETB EA ;开中断 SETB ET0 ;允许T0中断 SETB PT0 PUSH A ;保护现场 PUSH B PUSH PSW MOV 31H,*04H ;31H=04HLED的位数 MOV 29H,*00H ;29H=00H LP0: P3.0,NE*T0 ;判断P3.0键+1键按下否,否则转NE*T0 LCALL DELAY1 ;有键按下,延迟1ms P3.0,LP0 ;判断是否松开,否则转LP0 LP1: JNB P3.0,LP1 ;等待键松开 INC 29H ;键松开后,29H+1 MOV 30H,*1H SJMP LO1 ;转LO1标号地址 NE*T0: P3.1,L1 ;

28、判断P3.1是否按下,否则转L1 LCALL DELAY1 ;有键按下,延迟1ms P3.1,NE*T0 ;是否松开,否则转NE*T0 LD1: JNB P3.1,LD1 ;是否松开,否则转LD1 MOV 29H,*0 MOV 30H,*1 DJNZ 31H,LO1 SJMP LL LO1: MOV A,31H CJNE A,*04H,LO2 ;是时针的十位吗?否则转LO2 MOV A,29H CJNE A,*03H,LA1 ;十位大于3吗.否则转LA1 MOV 29H,*00H ;是的,清0 LA1: MOV 40H,29H ;29H40H SJMP L1 ;转L1 LO2: MOV A,3

29、1H CJNE A,*03H,LO3 ;是时针的个位吗.否则转LO3 MOV A,40H CJNE A,*4,LA2 MOV 29H,*0 SJMP LA2 A1: MOV A,29H CJNE A,*0AH,LA2 ;判断是否大于9,否则转LA2 MOV 29H,*00H ;29H清零 LA2: MOV 41H,29H ;29H41H SJMP L1 ;转到L1 LO3: MOV A,31H CJNE A,*02H,LO4 ;是分针的十位吗.否则转LA3 MOV A,29H CJNE A,*06H,LA3 ;大于6吗.否则转LA4 MOV 29H,*00H ;29H清零 LA3: MOV 4

30、2H,29H ;29H42H SJMP L1 ;转L1 LO4: MOV A,29H CJNE A,*0AH,LA4 ;分针个位大于9吗.否则转LA4 MOV 29H,*00H ;29H LA4: MOV 43H,29H ;29H43H L1: MOV A,31H CJNE A,*00H,LP0 ;31H=0则返回,否则转LP0 LL: MOV A,40H ;将输入的当前时间值BCD码转换为二进制数 MOV B,*10 MUL AB ADD A,41H MOV 33H,A MOV A,42H MOV B,*10 MUL AB ADD A,43H MOV 32H,A PUSH PSW CLR R

31、S0 CLR RS1 MOV R4,32H ;将当前时间置入R4、R5存放器 MOV R5,33H POP PSW ;恢复现场 POP PSW POP B POP A MOV TH1,*3CH ;重置T1计数初值 MOV TL1,*0B0H SETB TR1 ;启动T1定时器 SETB ET1 ;开中断 SETB PT1 SETB E*0 SETB E*1 CLR TR0 MOV TH0,*0FFH MOV TL0,*00H SETB TR0 SETB *T0 RETI ;中断返回2设置定时闹钟时间程序清单如下: INTB: SETB P3.0 ;输入键值前,先将P3.0、P3.1置1 SET

32、B P3.1 CLR E*0 ;关INT0、INT1中断 CLR E*1 SETB EA SETB ET0 SETB ET1 SETB PT0 PUSH A ;保护现场 PUSH B PUSH PSW MOV 31H,*04H ;31H=04H MOV 29H,*00H ;29H=00H LPOB: P3.0,NE*TB ;判断P3.0键,无键按下则转NE*TB LCALL DELAY1 ;有键按下,延迟1ms P3.0,LP0 ;判断是否松开,否则转LP0 LP1B: JNB P3.0,LP1B ;判断是否松开,否则再判断 INC 29H ;P3.0松开后,29H+1 MOV 30H,*1H

33、 SJMP LO1BNE*TB: P3.1,L1B ;判断P3.1是否按下,否则转NE*T0 LCALL DELAY1 ;有键按下,延迟1ms P3.1,NE*TB ;是否松开.否则转LP0 LD1B: JNB P3.1,LD1B MOV 29H,*0 ;是否松开.否则转LD1,再判断 MOV 30H,*1 DJNZ 31H,LO1B ;是,311 SJMP LLB LO1B: MOV A,31H CJNE A,*04H,LO2B ;是时针的十位吗.否则转LO2 MOV A,29H CJNE A,*03H,LA1B ;十位大于3吗.否则转LA1 MOV 29H,*00H ;是的,清0 LA1B

34、: MOV 40H,29H ;29H40H SJMP L1B ;转L1 LO2B: MOV A,31H CJNE A,*03H,LO3B ;是时针的个位吗.否则转LO3 MOV A,40H CJNE A,*2,A1B MOV A,29H CJNE A,*4,LA2B MOV 29H,*0 SJMP LA2B A1B: MOV A,29H CJNE A,*0AH,LA2B ;是否大于9.否则转LA2 MOV 29H,*00H ;29H清零 LA2B: MOV 41H,29H ;29H41H SJMP L1B ;转到L1 LO3B: MOV A,31H CJNE A,*02H,LO4B ;是分针的

35、十位吗.否则转LO4 MOV A,29H CJNE A,*06H,LA3B ;大于6吗.否则转LA3 MOV 29H,*00H ;29H清零 LA3B: MOV 42H,29H ;29H42H SJMP L1B ;转L1 LO4B: MOV A,29H CJNE A,*0AH,LA4B ;分针个位大于9吗.否则转LA4 MOV 29H,*00H ;29清零 LA4B: MOV 43H,29H ;29H43HL1B: MOV A,31H CJNE A,*00H,LP0B ;31H=0返回否则转LP0LLB: MOV A,40H ;将输入的闹钟时间值BCD码转换为二进制数 MOV B,*10 MU

36、L AB ADD A,41H MOV 35H,A MOV A,42H MOV B,*10 MUL AB ADD A,43H MOV 34H,A POP PSW ;恢复现场 POP B POP A CLR TR0 MOV TH0,*0FFH MOV TL0,*00H SETB TR0 SETB E*1 SETB E*0 SETB ET0 SETB EA ;开中断 RETI ;中断返回 END(5) 温度显示程序清单如下: ORG 00H ANL P1,*0F0H ;去除显示器 START: MOV* R0,A ;令ADC0804开场转换 WAIT: P2.0,ADC ;检测ADC0804转换完成

37、否. CALL DISP ;调用显示子程序 JMP WALT ADC: MOV* A,R0 ;将转换好的数据送入累加器 CALL L1 ;调用十进制转换子程序 MOV R1,*0FFH ;显示延时 DISP1: CALL DISP ;调用显示子程序 DJNZ R1,DISP1 JMP START L1: CLR C ;C=0 MOV R5,*00H ;十进制转换的低位存放器 MOV R4,*00H ;十进制转换的高位存放器 MOV R3,*08H ;作为十进制调整,调整的次数 NE*T: RLC A ;将取入值转换十进制 MOV R2,A ;暂存于R2 MOV A,R5 ;R5乘2加C ADD

38、C A,R5 DA A ;做十进制调整 MOV R5,A ;结果存回R5 MOV A,R4 ;R4乘2加C ADDC A,R4 MOV R4,A ;做十进制调整 MOV A,R2 ;结果存回R4 DJNZ R3,NE*T ;做十进制调整完毕否. MOV R7,*02 ;称2两次,即乘4 L2: MOV A,R5 ADD A,R5 ;R5乘2 DA A ;做十进制调整 MOV R5,A ;存入R5 MOV A,R4 ADDC A,R4 ;R4乘2 DA A ;做十进制调整 MOV R4,A ;存回R4 DJNZ R7,L2 ;乘4完成否. RET DISP: MOV A,R5 ANL A,*0FH ;取低4位,即D1的值 ORL A,*10H ;令D1使能+D1值 MOV P1,A ;显示D1 CALL DELAY MOV A,R5 CALL DELAY MOV A,R5 ANL A,*0F0H ;取高4位,即D2的值 SWAP A ;上下4位交换 ORL A,*20H ;令D2使能+D2值 MOV P1,A ;显示D2 CALL DELAY MOV A,R4 ANL A,*0FH ;取低

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!