单片机简易数字电子钟设计Word格式文档下载.docx
《单片机简易数字电子钟设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机简易数字电子钟设计Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
N
Y
3、按键处理:
N
Y
N
Y
5、拆分时间的十位及个位:
N
5、显示:
Y
6、闹铃
四、RAM的分配
秒:
分:
时:
分个位:
分十位:
时个位:
时十位:
延时用:
闹铃时:
闹铃分:
蜂鸣标志:
SECEQU30H
MINEQU31H
HOUEQU32H
AMILEQU40H
AMIHEQU41H
AHOLEQU42H
AHOHEQU43H
NEQU44H
MEQU45H
BELHEQU48H
BELMEQU49H
FMBZEQU50H
五、程序清单
WEIEQU46H
NZKGEQU52H;
闹钟开关
K1BITP3.2
K2BITP3.3
K3BITP3.4
BELLBITP2.7
ORG00H
LJMPMAIN
ORG0BH
LJMPTIMER1
ORG28H
MAIN:
MOVR1,#30H
START:
MOV@R1,#0
INCR1
CJNER1,#55H,START
SETBBELL
MOVSCON,#00H;
初始化
MOVTMOD,#01H
MOVTH0,#HIGH(65536-50000)
MOVTL0,#LOW(65536-50000)
SETBEA
SETBET0
SETBTR0
LOOP:
LCALLSMKEY
LCALLCLKEY
CJNER7,#20,LOOP0
MOVR7,#0
INCSEC
MOVA,SEC
CJNEA,#60,LOOP0
MOVSEC,#0
INCMIN
MOVA,MIN
MOVMIN,#0
INCHOU
MOVA,HOU
CJNEA,#24,LOOP0
MOVHOU,#0
LOOP0:
;
LCALLDELAY10
MOVA,BELH
CJNEA,#0,NEXT09
MOVA,BELM
MOVNZKG,#0
JMPNEXT08
NEXT09:
MOVNZKG,#1
NEXT08:
MOVA,BELH
CJNEA,HOU,NEXT10
CJNEA,MIN,NEXT10
MOVFMBZ,#1
LCALLFENGM
JMPNET11
NEXT10:
NET11:
LCALLWORK_T
MOVA,AHOH
CJNEA,#0,XIANS
MOVAHOH,#10
XIANS:
LCALLDISPLAY2
LCALLDISPLAY
AJMPLOOP
FENGM:
PUSHACC
MOVA,NZKG
CJNEA,#1,FMRET
MOVA,FMBZ
CLRC
MOVA,#4
SUBBA,R3
JNCFMRET
CPLBELL
FMRET:
POPACC
RET
TIMER1:
INCR7;
定时
INCR3;
闪烁标志
CJNER3,#8,NET
MOVR3,#0
NET:
RETI
WORK_T:
PUSHACC
MOVB,#10
DIVAB
MOVAMIH,A
MOVAMIL,B
MOVA,HOU
MOVAHOH,A
MOVAHOL,B
RET
DISPLAY2:
PUSHACC
LCALLDELAY10;
静态显示
MOVR0,#40H
MOVR2,#4
LOOP1:
MOVDPTR,#DUTAB
MOVA,@R0
MOVCA,@A+DPTR
MOVR4,A
CJNER2,#2,DIS3
MOVA,#10
SUBBA,R7
MOVA,R4
JNCDIS3
CLRACC.7
DIS3:
MOVSBUF,A
JNBTI,$
CLRTI
DECR0
INCR0
DJNZR2,LOOP1
POPACC
RET
DELAY:
PUSHPSW
MOVM,#20
DEL:
MOVN,#100
DJNZN,$
DJNZM,DEL
POPPSW
RET
DELAY10:
PUSHPSW
LCALLDELAY
POPPSW
SMKEY:
MOVR6,#0
SETBC
MOVK1,C
MOVC,K1
JCKK2;
K1没有按下,看K2
LCALLDELAY10
JCKK2
JNBK1,$
MOVR6,#1
AJMPRETURN
KK2:
MOVK2,C
MOVC,K2
JCKK3
JNBK2,$
MOVR6,#2
KK3:
MOVK3,C
MOVC,K3
JCRETURN
JNBK3,$
MOVR6,#3
RETURN:
OVER0:
AJMPOVER
CLKEY:
MOVA,R6
CJNEA,#1,OVER0
JS:
LCALLSMKEY
CJNER6,#1,NEX1
INCA
NEX1:
CJNER6,#2,ELS
CJNEA,#1,INCM
INCHOU
MOVR5,HOU
CJNER5,#24,NEXT1
MOVHOU,#0
INCM:
CJNEA,#2,INCBH
MOVR5,MIN
CJNER5,#59,NEXT1
INCBH:
CJNEA,#3,INCBM
INCBELH
MOVR5,BELH
MOVBELH,#0
INCBM:
CJNEA,#4,ELS
INCBELM
MOVR5,BELM
MOVBELM,#0
NEXT1:
MOVR6,#0
ELS:
CJNER6,#3,XS
CJNEA,#1,DECM
DECHOU
CJNER5,#255,DECM
MOVHOU,#23
DECM:
CJNEA,#2,DECBH
DECMIN
CJNER5,#255,XS
MOVMIN,#59
DECBH:
CJNEA,#3,DECBM
DECBELH
CJNER5,#0,XS
MOVMIN,#23
DECBM:
CJNEA,#4,XS
DECBELM
MOVBELM,#59
XS:
MOVR4,A
JNCQM
PUSHMIN
PUSHHOU
CJNEA,#3,NET0
MOVMIN,BELM
MOVHOU,BELH
JMPSANBEL
NET0:
CJNEA,#4,SANBEL
SANBEL:
POPHOU
POPMIN
LCALLDISPLAY2
LCALLDELAY10
JMPSMK
QM:
CJNEA,#1,SANH
MOVAHOL,#10
MOVAHOH,#10
JMPSMK
SANH:
CJNEA,#2,SANBH
MOVAMIL,#10
MOVAMIH,#10
LCALLDISPLAY
JMPSMK
SANBH:
CJNEA,#3,SANBL
PUSHMIN
MOVHOU,BELH
MOVMIN,BELM
LCALLWORK_T
MOVAHOL,#10
SANBL:
CJNEA,#4,SMK
PUSHHOU
MOVMIN,BELM
MOVAMIL,#10
SMK:
CJNEA,#5,JS00
CLRA
OVER:
JS00:
AJMPJS
DUTAB:
DB0C0H,0F9H,0A4H,0B0H,99H,092H,082H,0F8H,80H,90H,0FFH
END
六、设计总结:
通过这次课程设计,更加深刻地了解了8051单片机的工作原理,加深了对汇编语言的掌握。
但在本次设计中,还有很多没有完善的地方,比如,校准时间的程序没有用指针操作,所以导至程序冗余。
七、参考资料:
李全力《单片机原理及应用》清华大学出版社。