内容发布更新时间 : 2025/1/8 14:09:55星期一 下面是文章的全部内容请认真阅读。
(二)程序功能描述
s1 EQU 30H
s2 EQU 31H s3 EQU 32H s4 EQU 33H
;第一个数码管显示的数值 ;第二个数码管显示的数值 ;第三个数码管显示的数值 ;第四个数码管显示的数值
ORG 0000H
AJMP MAIN ORG 0003H AJMP CHULI
ORG 0033H MAIN: MOV SP,#60H
MOV TMOD,#09H
;计数器T0工作在方式1 门控信号为1
;外部中断低电平触发处理
MOV TH0,#00H
MOV TL0,#00H ;计数器TO清零
MOV IE,#81H ;开放定时器中断 开总中断 外部中断0
MOV TCON,#11H ;T0允许计数且当外部中断输入为高时计数
外部中断0为边沿触发方式 下降沿有效
MOV R5,#50H
LOOP: ACALL BCD ;十六位二进制转十进制
ACALL UBCD ;压缩BCD码,转非压缩BCD码 ACALL DISP ;显示程序
ACALL DELAY ACALL DISP ACALL DELAY
;显示程序
ACALL DISP ACALL DELAY ACALL DISP ACALL DELAY
;显示程序
;显示程序
ACALL DISP ACALL DELAY ACALL DISP ACALL DELAY ACALL DISP
XX: ACALL DELAY
ACALL DISP ACALL DELAY
ACALL DISP ACALL DELAY ACALL DISP DJNZ R5,XX AJMP LOOP CHULI: MOV 41H,TH0
MOV 40H,TL0 MOV TH0,#00H MOV TL0,#00H TT: RETI BCD: CLR A
MOV 38H,41H MOV 37H,40H MOV 34H,A MOV 35H,A MOV 36H,A MOV R7,#16 LOOP1: CLR C MOV A,37H RLC A
;显示程序
;显示程序
;显示程序
;显示程序 ;显示程序 ;显示程序
;循环处理显示计数器T0采集得数
;将计数器T0中的数转移到40H,41H中 ;重新将定时器T0清零
;将41H 40H中的数值转换成BCD码分别按高低存储在34H 35H 36H中
MOV 37H,A MOV A,38H RLC A MOV 38H,A MOV A,36H ADDC A,36H DA A MOV 36H,A MOV A,35H ADDC A,35H DA A MOV 35H,A MOV A,34H ADDC A,34H DA A MOV 34H,A DJNZ R7,LOOP1 RET UBCD: MOV A,34H
CJNE A,#00H,QUSHU MOV R1,#35H MOV R0,#36H MOV A,#00H
XCHD A,@R0 MOV 30H,A MOV A,@R0 SWAP A MOV 31H,A
;判断第五位数值是否为0 为零则按四位
有效值处理 不为零按5位有效值处理
;当有4位有效效值时取后四位显示小数
点加在第一位