原创 電子鐘

2009-2-27 10:24 1021 6 6 分类: MCU/ 嵌入式

此電子鐘是我用計數器改裝的,經測試15天快3秒


S_1EQU30H;秒寄存器



M_1EQU31H;分寄存器



H_1EQU32H;時寄存器



ORG00H



LJMPSTART



ORG0BH;定時中斷入口



LJMPTIMER



ORG30H



START:



MOVS_1,#0;秒、分、時寄存器清0



MOVM_1,#0



MOVH_1,#0



MOV20H,#10;0.5秒鐘中斷次數,0.5s=500ms=50msx10



MOV21H,#2;2個0.5秒即為1秒



MOVSP,#40H;堆棧指針設置



MOVIE,#82H;開定時器0中斷及總中斷



MOVTMOD,#01H;定時器0模式1



MOVTH0,#03CH;50ms初值



MOVTL0,#0B0H



SETBTR0;啟動定時器0



LOOP:



ACALLDISP;調用顯示



JNBP3.4,MT;查詢分調整鍵



JNBP3.5,HT;查詢時調整鍵



AJMPLOOP



MT:;分調整



ACALLDISP



JNBP3.4,MT;鍵消抖



INCM_1;分加1



MOVA,M_1



CJNEA,#60,LOOP;沒到60分返回,到60分清0



MOVM_1,#0



AJMPLOOP



HT:;時調整



ACALLDISP



JNBP3.5,HT



INCH_1



MOVA,H_1



CJNEA,#24,LOOP



MOVH_1,#0



AJMPLOOP



DISP:;顯示子程序



MOVDPTR,#NUMTAB;表地址送數據指針



MOVA,M_1;分送A



MOVB,#10



DIVAB;十進制調整



ADDA,R0;查表偏移量調整



MOVCA,@A+DPTR;查表



MOVP1,A;分十位送p1口顯示



CLRP3.2;開分十位顯示



ACALLD1MS;延時1ms



SETBP3.2;關顯示



MOVA,B;分個位p1口顯示



ADDA,R0



MOVCA,@A+DPTR



MOVP1,A



CLRP3.3



ACALLD1MS



SETBP3.3



MOVA,H_1;時送A



MOVB,#10



DIVAB



ADDA,R0



MOVCA,@A+DPTR



MOVP1,A



CLRP3.0;顯示時十位



ACALLD1MS



SETBP3.0



MOVA,B



ADDA,R0



MOVCA,@A+DPTR



MOVP1,A



CLRP3.1;顯示時個位



ACALLD1MS



SETBP3.1



RET;返回



TIMER:;定時中斷程序



PUSHACC;數據保護



PUSHPSW



MOVTL0,#0B9H;重置50ms定時值



MOVTH0,#03CH



DJNZ20H,RETI_1;到0.5秒了嗎?



MOV20H,#10



CPL25H.0;取反秒點閃爍標志位



JNB25H.0,T_1;標志位為0轉T_1



MOVR0,#0;查表偏移量寄存器置0(不顯示秒點)



AJMPT_2



T_1:



MOVR0,#10;查表偏移量寄存器置10(顯示秒點,秒點每秒閃爍1次)


 


T_2:



DJNZ21H,RETI_1;到1秒了嗎?



MOV21H,#2



INCS_1;秒加1



MOVA,S_1



CJNEA,#60,RETI_1;到60秒了嗎?



MOVS_1,#0;到60秒清0



INCM_1;分加1



MOVA,M_1



CJNEA,#60,RETI_1;到60分了嗎?



MOVM_1,#0



INCH_1;時加1



MOVA,H_1



CJNEA,#24,RETI_1;到24小時了嗎?



MOVH_1,#0



RETI_1:



POPPSW



POPACC



RETI



D1MS:;1毫秒延時



MOVR7,#2



D_1:



MOVR6,#250



DJNZR6,$



DJNZR7,D_1



RET



NUMTAB:



DB10H,0D3H,48H,41H,83H,21H,20H,53H,00H,01H;不顯示秒點



DB14H,0D7H,4CH,45H,87H,25H,24H,57H,04H,05H;顯示秒點



END


 


 


 



专业无线总汇
QQ:1002421875 无线技术交流群(群号81069762(满)65332649)
MSN:yunjiakeji@hotmail.com
Skype:yunjiakeji EMAIL:myb33695@163.com
PHONE:13430970167    http://shop35991384.taobao.com

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条