时钟程序的设计 (程序编号为:CLOCK.ASM)
时钟功能说明:
1.时间定时采用T0定时4毫秒,中断250次,表示1秒钟到,秒寄存器加1,60秒钟后,分钟加1,同时清秒寄存器,60分钟后,小时寄存器加1, 同时清分钟寄存器,12:59小时后,小时变成1:00.周而复始;
2.开机时,显示12:00;
3.P3.2控制分钟的调整,每按一次,分钟加一;
4.P3.3控制小时的调整,每按一次, 小时加一;
5. 30H放置秒钟值,31H放置分钟值,33H放置小时值;50H放置分钟值个位,51H放置分钟值十位,52H放置小时值个位,53H放置小时值十位;
ORG 0000H
LJMP START
ORG 000BH
LJMP TIMER0
START:
MOV SP,#60H ;指针入堆栈
;MOV 28H,#0 ;显示积存器初值为0
MOV 32H,#12 ;小时寄存器初值为12
MOV 30H,#0 ;分钟寄存器初值为0
MOV 31H,#0 ; 秒寄存器初值为0
MOV TMOD,#01H
MOV TH0,#HIGH(65536-4000) ;设置定时中断初值4毫秒
MOV TL0,#LOW(65536-4000)
MOV IE,#82H ;开中断
MOV R4,#250
SETB TR0 ;开定时
NEXT0:
JB P3.2,NEXT2 ;分钟调整键按下了吗?
CALL DELAY ;是
;MOV A,31H
;ADD A,#01 ;分钟加1
;DA A
INC 31H
MOV A,31H
CJNE A,#13,NEXT1 ;小时到13了吗?
MOV 31H,#1 ; 是,
NEXT1:
JNB P3.2,$ ; 小时调整键松开了吗?
CALL DELAY ;是
NEXT2:
JB P3.3,NEXT0 ;小时调整键按下了吗?
CALL DELAY ;是
INC 32H
MOV A,32H
;ADD A,#01 ;小时加1
;DA A
;MOV 32H,A
CJNE A,#12,NEXT3 ;小时到了12吗?
MOV 32H,#0 ;是,清0
NEXT3:
JNB P3.3,$ ;小时调整键松开了吗?
LCALL DELAY
LJMP NEXT0
TIMER0:
PUSH ACC
PUSH PSW
MOV TH0,#HIGH(65536-4000) ;从新设置定时值
MOV TL0,#LOW(65536-4000)
DJNZ R4,X2 ;中断了250次吗?
MOV R4,#200 ;是,从新设置次数
CALL CLOCK ;调时间调整程序
CALL HECBCD ;将时间转换成BCD码
CALL DISPLAY
X2:
;CALL HECBCD
CALL DISPLAY ;显示时间
POP PSW
POP ACC
RETI
DISPLAY:
MOV A,50H ;显示当前按键值
ADD A,#40H
MOV P2,A
MOV A,51H ;显示第2个按键值
ADD A,#10H
MOV P2,A
MOV A,52H ;显示第3个按键值
ADD A,#20H
MOV P2,A
CALL DELAY
MOV A,53H ;显示第4个按键值
ADD A,#30H
MOV P2,A
RET
CLOCK:
INC 30H ;秒钟加1
MOV A,30H
CJNE A,#3CH,CLOCK1 ;60秒了吗?
MOV A,#0 ;是,清0
MOV 30H,A
INC 31H ;分钟加1
MOV A,31H
CJNE A,#3CH,CLOCK1 ;60分钟了吗?
MOV A,#0 ;是,清0
MOV 31H,A
INC 32H ;小时加1
MOV A,32H
CJNE A,#12,CLOCK1 ;12小时了吗?
MOV A,#0 ;是,清0
MOV 32H,A
CLOCK1:
RET
HECBCD:
MOV A,30H ;分钟值送A
MOV B,#10 ;除以10
DIV AB
MOV 50H,B ;个位放在50H
MOV 51H,A ;十位放在51H
MOV A,31H ;小时值送A
MOV B,#10 ; 除以10
DIV AB
MOV 52H,B ;个位放在52H
MOV 53H,A ; 十位放在53H
MOV A,32H ;小时值送A
MOV B,#10 ; 除以10
DIV AB
MOV 54H,B ;个位放在54H
MOV 55H,A ; 十位放在55H
RET
DELAY:
MOV R6,#10
DELAY1:
MOV R7,#195
DJNZ R7,$
DJNZ R6,DELAY1
RET
END
- 作者:ziqintian | 发布:2013年10月29日
- 分类:IT类别
- 标签:单片机课程,设计,数字电子钟,完整程序
- 转载文章请注明:单片机课程设计之数字电子钟完整程序 | 太极博弈原理官方站|紫欽天|融通百科为我所用|生活全智慧|生活智慧之书
文章是怎么写出来的?
好吧,我承认我想多了
大师受教了,缘来如此。。。
...也许网络安全产业以后会是
此法确实可靠吗?
hello!,I like y
I was suggested
Thanks , I've j