这是一款2只共阴数码管0-99定时,单片机是AT89C51,程序是汇编语言的,可供初学都学习。压缩包内付有源程序、仿真文件包。
(原文件名:2只共阴数码管0-99定时.jpg)
SECOND EQU 30H
COUNT EQU 31H
ORG 00H
LJMP START
ORG 0BH ;定时器0中断入口
LJMP INT_T0
START: MOV SECOND,#00H
MOV COUNT,#00H
MOV DPTR,#TABLE ;段码表首地址
MOV P0,#3FH ;数码管显示初始化
MOV P2,#3FH
MOV TMOD,#01H ;设置定时器0工作方式
MOV TH0,#(65536-50000)/256 ;定时50毫秒
MOV TL0,#(65536-50000) MOD 256
SETB TR0 ;启动定时/计数器0
MOV IE,#82H ;开中断
LJMP $ ;等待中断
INT_T0: MOV TH0,#(65536-50000)/256 ;定时50毫秒
MOV TL0,#(65536-50000) MOD 256
INC COUNT ;计数值加1
MOV A,COUNT
CJNE A,#20,I2 ;是否计够1秒
MOV COUNT,#00H
INC SECOND
MOV A,SECOND
CJNE A,#60,I1 ;是否计够60秒
MOV SECOND,#00H
I1: MOV A,SECOND
MOV B,#10
DIV AB ;分离计数值十位和个位
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A ;显示计数值
I2: RETI ;中断返回
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
END
点击此处下载
ourdev_714925UYHTBY.zip(文件大小:954K) (原文件名:2只共阴数码管0-99定时.zip)
LZ还少个蜂鸣器“嘀嘀嘀……” 哈...
一周热门 更多>