首页 数字测温仪程序

数字测温仪程序

举报
开通vip

数字测温仪程序;数字测温仪程序编制说明 ; -------杨叶珍 ;本程序工作过程如下: ;1、开机后首先进行初始化,初始化后显示“P”1秒,提示系统进入测试工作状态,显 ; 示完成后,进行温度测试。 ;2、温度测试的过程是这样的: ; * T0置为计数方式,对T0脚(即P3.5)的脉冲计数,工作方式2,初值为255 ; * 将T1置为定时方式,工作方式2,初值为0 ; * 从P3.4口送单稳触发脉冲,使555输出单稳脉冲(正脉冲),该脉冲宽度随热敏 ; ...

数字测温仪程序
;数字测温仪程序编制说明 ; -------杨叶珍 ;本程序工作过程如下: ;1、开机后首先进行初始化,初始化后显示“P”1秒,提示系统进入测试工作状态,显 ; 示完成后,进行温度测试。 ;2、温度测试的过程是这样的: ; * T0置为计数方式,对T0脚(即P3.5)的脉冲计数,工作方式2,初值为255 ; * 将T1置为定时方式,工作方式2,初值为0 ; * 从P3.4口送单稳触发脉冲,使555输出单稳脉冲(正脉冲),该脉冲宽度随热敏 ; 电阻阻值而变化。 ; * 开T0、T1中断,启动T0、T1。此时T1自动对内部机器周期计数,当TL1溢 ; 出时,产生T1中断。在T1中断处理程序中,将RAM 21H单元加1(即21H单 ; 元存放脉冲宽计数值高位)后返回主程序。 ; * 当来自P3.5的单稳脉冲结束(即下降沿到来)时,TL0计数器加1并溢出,产 ; 生T0中断。在T0中断处理程序中,关T0、T1中断,并将TL1中的的内容读 ; 到RAM 20H单元(20H单元存放脉宽计数值的低位)。 ; * 查 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 求温度值 ; NTTAB是脉宽计数值与温度的对照表,按低温到高温的次序存放,即第一、第 ; 二单元存放-100C时的脉宽计数值,依此类推,第121和122单元则存放+500C ; 时的脉宽计数值。 ; 将20H、21H中的计数值与NTTAB中的计数值依次进行比较,直至20H、21H ; 中的值小于NTTAB中的计数值为止。而比较的次数就对应温度的整数值,二计 ; 数值之差与对照表相邻两计数值的商即为小数位。 ;3、程序中除了对-100C到+500C进行测试外,还有开路(计数值过大)、短路检测(计 ; 数值过小)、负超温检测、正超温检测,并有相应的显示。 ;4、将检测值(温度值或其他结果)显示1秒,然后再重复温度检测。 ;需要说明的是:本程序虽包括了测温的全过程,但未考虑软硬件的自检,软件滤波等部 ;分。 ;关于99年第51期电路图中元件参数说明 ;1、C5为0.1μ。 ;2、电容C4、热敏电阻RT的参数决定单稳脉冲的宽度,而最终的计数值除了与单稳 ; 脉冲的宽度有关外,还与晶振频率有关,因而在RT的型号确定后要根据系统对精 ; 度和分辨率等的要求选择C4的值。本程序中NTTAB脉宽计数值与温度对照表是在 ; 热敏电阻为MF53-1型负温热敏电阻加12K精密电阻与之并联,C4为1μ,晶振为 ; 4MHz的条件下得到的。数据不十分准,仅做参考。读者在元件参数定了后,可在 ; 调试程序时用可变电阻箱代替热敏电阻,在程序测出计数值处设断点,读出每个标 ; 准阻值所对应的计数值(即20H、21H中的内容),自己将NTTAB建立起来。 ; * * * * * * * * * * * * * * * * * * * * * * * * * * ; * 用89C2051控制的数字测温仪 * ; * 源程序清单 * ; * * * * * * * * * * * * * * * * * * * * * * * * * * ORG 0000H AJMP MAIN ;转主程序 ORG 000BH AJMP WT0 ;T0中断入口 ORG 001BH AJMP WT1 ;T1中断入口 ;主程序 ORG 030H MAIN: MOV IE,#00H ;关中断 MOV SP,#40H ;设堆栈指针SP为40H SETB P3.5 ;将P3.5口置”1” MOV 30H,#0CH ;“P3 ”送显示缓冲区30H~33H MOV 31H,#0EH MOV 32H,#0EH MOV 33H,#0EH MAIN0: ACALL D1S ;调显示1秒子程序 MOV P1,#0FFH ;关显示 CLR 20H ;清脉宽计数值存放区20H~21H CLR 21H CLR 22H ;清单稳脉冲结束标志22H MOV TH0,#0FFH ;置T0计数初值255 MOV TL0,#0FFH MOV TH1,#00H ;置T1的计数初值0 MOV TL1,#00H MOV TMOD,#26H ;置T0为计数方式,方式2;T1为定时方式。方式2 SETB EA ;允许T0、T1中断 SETB ET0 SETB ET1 SETB TR0 ;开T0中断 CLR P3.5 ;送单稳触发脉冲 NOP NOP NOP NOP SETB P3.5 SETB TR1 ;开T1中断 MAIN1: CJNE 22H,#01H,MAIN2 ;单稳脉冲未结束,转检查是否超时 AJMP MAIN3 ;单稳脉冲结束,转取脉宽计数值 MAIN2: CJINE 21H,#08H,MAIN1 ;未超时,转等待单稳脉冲结束 CLR EA CLR ET0 CLR ET1 CLR TR0 CLR TR1 MOV 30H,#0DH ;开路提示“E1”送显示缓冲区,转显示 MOV 31H,#01H MOV 32H,#0EH MOV 33H,#0EH AJMP MAIN0 MAIN3: CJNE 21H,#00H,MAIN4 ;单稳脉冲结束,先判断是否短路。不是,转查表程序。 MOV 30H,#0DH ;短路,短路提示“E2”送显示缓冲区,转显示 MOV 31H,#02H MOV 32H,#0EH MOV 33H,#0EH AJMP MAIN0 MAIN4: ACALL NTTR ;调查表子程序 AJMP MAIN0 ;查表求温度值子程序 NTTR: MOV R2,#00H ;清计数与温度对照表偏移量寄存器R2 MOV DPTR,NTTAB ;DPTR指向计数与温度对照表首址 NTTR1: CLR C ;20H、21H中的内容与NTTRB相减,并将差值存23H、24H MOV R3,#02H MOV R0,#20H MOV R1,#23H NTTR2: MOV A,R2 MOVC A,@A+DPTR SUBB A,@R0 MOV @R1,A INC R0 INC R1 INC R2 CJNE R2,#122,NTTR3 ;若未到NTAB表尾,继续比较 POVER:JC NTTR30 ;到表尾,查到对应温度,转求温度值 MOV 30,#0EH ;到表尾,查到对应温度,正超温提示“UUU”送显缓区 MOV 31H,#0BH MOV 32H,#0BH MOV 33H,#0BH RET ;返回主程序 NTTR3: DJNZ R3,NTTR2 JNC NTTR1 ;未查到对应温度值,继续查表 NTTR30:MOV A,R2 ;已查到对应温度,由偏移量求出整数部分,暂存R4 CLR C SUBB A,#02H RR A MOV R4,A MOV R1,#23H ;求温度值的小数部分:+X/2送B MOV A,@R1 CPL A INC A RR A MOV B,A NTTR4: DEC R2 ;Ni+1送20H、21H MOV R0,#21H MOV A,R2 MOVC A,@A+DPTR MOV @R0, A DEC R0 DEC R2 MOV A, R2 MOVC A,@A+DPTR MOV @R0, A DEC R2 ;求+i/2从A DEC R2 MOV R3,#02H CLR C NTTR5: MOV A,R2 MOVC A,@A+DPTR SUBB A,@R0 JNC NTTR50 CLP A INC A NTTR50:RR A MOV R5,A MOV A,B ;+x/2*10/+i得到温度值的小数部分 JZ NTTR6 MOV B, #05H MUL AB MOV B,R5 DIV AB MOV 20H,A ;小数部分送20H AJMP NTTR7 NTTR6: MOV 20H,#00H NTTR7: MOV A,#0AH ;判整数部分为正还是负 CLR C SUBB A,R4 JC PTEMP NTEMP:CJNE A,#0AH,NTEMP1 ;为负 MOV 30H,#0EH ;“-X”送显示缓冲区高三位 MOV 31H,#0AH MOV 32H,A AJMP NTEMP2 NTEMP1:MOV 30H,#0AH ;“-10” 送显示缓冲区高三位 MOV 31H,#01H MOV 32H,#00H NTEMP2:MOV A,#0AH ;修正小数部分后,将小数部分送显缓低三位 CLR C SUBB A,20H MOV 33H,A RET ;返回主程序 PTEMP: MOV 30H,#0EH ;为正。“ ”送显缓最高位 MOV A,R4 ;温度值整数部分送显缓中间两位 MOV B,#0AH DIV AB JNZ PTEMP1 ] MOV 31H,#0EH JMP PTEMP2 PTEMP1:MOV 31H,A PTEMP2:MOV 32H,B MOV 33H,20H ;小数部分送显缓最低位 RET ;返回主程序 ;显示子程序(将显缓区的内容循环显示一遍,每位显示1ms后,关显示返回主程序) DSP: MOV R2,#01H MOV R0,#30H MOV DPTR,#TAB DSP1: MOV A,@R0 MOVC A,@A+DPTR MOV P1,A ORL P3,R2 ACALL D1MS MOV A,R2 RL A MOV R2,A CJNE R2,#10H,DSP2 ANL P3,#0F0H RET DSP2: INC R0 AJMP DSP1 ;延时1ms子程序 D1MS: MOV R7,#166 D1MS1: DJNZ R7,D1MS1 RET ;显示1秒子程序 D1S: MOV R6,#04H D1S1: MOV R5,#250 D1S2: ACALL DSP DJNZ R5,D1S2 DJNZ R6,D1S1 RET ;段码表 TAB: DB 40H,79H,24H,30H,19H :0.,1.,2.,3.,4. DB 12H,02H,78H,00H,10H :5.,6.,7.,8.,9. DB 3FH,41H,0CH,06H,0FFH :-.,U.,P.,E.,灭 ;T0中断处理程序 WT0: MOV A,TL1 ;将T1计数值送20H MOV 20H,A CLR EA ;关中断 CLR TR0 ;T0停止计数 CLR TR1 ;T1停止计数 MOV 22H,#01H ;置单稳脉冲结束标志 RETI ;返回主程序 ;T1中断处理程序 WT1: INC 21H ;脉宽计数值高位加1 RETI ;返回主程序 ;脉宽计数与温度对照表 NTTBL: DB 0D0H,05H,0B2H,05H,96H,05H,72H,05H DB 52H,05H,35H,05H,15H,05H,0F6H,04H DB 0D8H,04H,0B9H,04H,9CH,04H,81H,04H DB 65H,04H,4AH,04H,30H,04H,14H,04H DB 0FAH,03H,0E0H,03H,0C6H,03H,0ADH,03H DB 95H,03H,7CH,03H,64H,03H,4CH,03H
本文档为【数字测温仪程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_146940
暂无简介~
格式:doc
大小:38KB
软件:Word
页数:5
分类:互联网
上传时间:2018-09-10
浏览量:19