单片机时钟程序

单片机时钟程序 ,汇编和C语言

单片机电子时钟程序

定时器T0、T1溢出周期为50MS,T0为秒计数用,T1为调整时闪烁用,

; P3.5为调整按钮,P0口为字符输出口,P2口为位选端,采用共阳显示管。

; 时间调整方法:按P3.5未超过1s进入省电模式,数码管不亮,内部时钟计时; 按P3.5超过1s进入调整模式,要调整的时间会闪动,此时,按下P3.5超过0.5S,

; 进入下位调整,按下P3.5未超过0.5S,当前位加一

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; 中断入口程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;

ORG 0000H ;程序执行开始地址

LJMP START ;跳到标号START执行

ORG 0003H ;外中断0中断程序入口

RETI ;外中断0中断返回

ORG 000BH ;定时器T0中断程序入口

LJMP INTT0 ;跳至INTTO执行

ORG 0013H ;外中断1中断程序入口

RETI ;外中断1中断返回

ORG 001BH ;定时器T1中断程序入口

LJMP INTT1 ;跳至INTT1执行

ORG 0023H ;串行中断程序入口地址

RETI ;串行中断程序返回

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; 主程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;

START: MOV R0,#70H ;清70H-7AH共11个内存单元

MOV R7,#0BH ;

CLEARDISP: MOV @R0,#00H ;

INC R0 ;

DJNZ R7,CLEARDISP ;

MOV 20H,#00H ;清20H(标志用)

MOV 7AH,#0AH ;放入"熄灭符"数据

MOV TMOD,#11H ;设T0、T1为16位定时器

MOV TL0,#0B0H ;50MS定时初值(T0计时用)

MOV TH0,#3CH ;50MS定时初值

MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用) MOV TH1,#3CH ;50MS定时初值

SETB EA ;总中断开放

SETB ET0 ;允许T0中断

SETB TR0 ;开启T0定时器

单片机时钟程序的相关文档搜索

单片机时钟程序相关文档

最新文档

返回顶部