标题:
51单片机汇编电子秒表
[打印本页]
作者:
三三五五
时间:
2017-12-8 20:30
标题:
51单片机汇编电子秒表
IMG_2616.PNG
(245.11 KB, 下载次数: 56)
下载附件
2017-12-8 20:30 上传
单片机汇编语言源程序如下:
LED_0 EQU 30H ;存放三个数码管的段码
LED_1 EQU 31H ;十位
LED_2 EQU 32H ;百位
LED_3 EQU 33H ;千位
ADC EQU 35H ;存放转换后的数据
CLOCK BIT P1.4 ;定义0809时钟位
ST BIT P1.5
OE BIT P1.7
EOC BIT P1.6
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
ORG 30H
START: MOV LED_0,#00H
MOV LED_1,#00H
MOV LED_2,#00H
MOV DPTR,#TABLE ;送段码表首地址
MOV TMOD,#02H
MOV TH0,#245
MOV TL0,#00H
MOV IE,#82H
SETB TR0
WAIT: CLR ST
SETB ST
CLR ST ;启动转换
JNB EOC,$ ;等待转换结束
SETB OE ;允许输出
MOV ADC,P2 ;暂存转换结果
CLR OE ;关闭输出
MOV A,ADC ;将AD转换结果转换成BCD码
MOV R7,A
MOV LED_3,#00H
MOV LED_2,#00H
MOV A,#00H
LOOP1: ADD A,#20H ;一位二进制码对应20mv电压值
DA A
JNC LOOP2
MOV R4,A
INC LED_2
MOV A,LED_2
CJNE A,#0AH,LOOP4
MOV LED_2,#00H
INC LED_3
LOOP4: MOV A,R4
LOOP2: DJNZ R7,LOOP1
ACALL BTOD1
LCALL DISP
SJMP WAIT
ORG 200H
BTOD1: MOV R6,A
ANL A,#0F0H
MOV R5,#4
LOOP3: RR A
DJNZ R5,LOOP3
MOV LED_1,A
MOV A,R6
ANL A,#0FH
MOV LED_0,A
RET
INT_T0: CPL CLOCK ;提供0809时钟信号
RETI
DISP: MOV A,LED_0 ;数码显示子程序
MOVC A,@A+DPTR
CLR P1.3
MOV P0,A
LCALL DELAY
SETB P1.3
MOV A,LED_1
MOVC A,@A+DPTR
CLR P1.2
MOV P0,A
LCALL DELAY
SETB P1.2
MOV A,LED_2
MOVC A,@A+DPTR
CLR P1.1
MOV P0,A
LCALL DELAY
SETB P1.1
MOV A,LED_3
MOVC A,@A+DPTR
CLR P1.0
MOV P0,A
LCALL DELAY
SETB P1.0
RET
DELAY: MOV R6,#10 ;延时5毫秒
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H ;共阴极数码管七段值
DB 6DH,7DH,07H,7FH,6FH
END
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1