資源描述:
《51單片機(jī)電子鐘程序》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、51單片機(jī)電子鐘程序點(diǎn)擊:1016,文章入庫(kù)日期:2008-04-1807:14:52,來(lái)源:www.picavr.com來(lái)源:?jiǎn)纹瑱C(jī)應(yīng)用與實(shí)踐???作者:佚名;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;?定時(shí)器T0、T1溢出周期為50MS,T0為秒計(jì)數(shù)用,T1為調(diào)整時(shí)閃爍用,;?P3.5為調(diào)整按鈕,P0口為字符輸出口,P2口為位選端,采用共陽(yáng)顯示管。;?時(shí)間調(diào)整方法:按P3.5未超過(guò)1s進(jìn)入省電模式,數(shù)碼管不亮,內(nèi)部時(shí)鐘計(jì)時(shí);?按P3.5超過(guò)1s進(jìn)入調(diào)整模式,要調(diào)整的時(shí)間會(huì)閃動(dòng),此時(shí),按下P3.5超過(guò)0.5S,;?進(jìn)入下位調(diào)整,按下P3.5未超過(guò)
2、0.5S,當(dāng)前位加一;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;??????????中斷入口程序?????????????;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;?????????????ORG0000H???????;程序執(zhí)行開(kāi)始地址?????????????LJMPSTART??????;跳到標(biāo)號(hào)START執(zhí)行?????????????ORG0003H???????;外中斷0中斷程序入口?????????????RETI????????????;外中斷0中斷返回?????????????ORG
3、000BH???????;定時(shí)器T0中斷程序入口?????????????LJMPINTT0??????;跳至INTTO執(zhí)行?????????????ORG0013H???????;外中斷1中斷程序入口?????????????RETI????????????;外中斷1中斷返回?????????????ORG001BH???????;定時(shí)器T1中斷程序入口?????????????LJMPINTT1??????;跳至INTT1執(zhí)行?????????????ORG0023H???????;串行中斷程序入口地址?????????????RETI????????????;串行中斷程序返回;?;
4、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;?;;??????????主程序????????????????;;?;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;???????????START:MOV??R0,#70H???????;清70H-7AH共11個(gè)內(nèi)存單元??????????????????MOV??R7,#0BH???????;??????CLEARDISP:?MOV??@R0,#00H??????;??????????????????INC??R0????????????;????????????????
5、??DJNZ?R7,CLEARDISP??;??????????????????MOV??20H,#00H??????;清20H(標(biāo)志用)??????????????????MOV??7AH,#0AH??????;放入"熄滅符"數(shù)據(jù)??????????????????MOV??TMOD,#11H?????;設(shè)T0、T1為16位定時(shí)器??????????????????MOV??TL0,#0B0H?????;50MS定時(shí)初值(T0計(jì)時(shí)用)??????????????????MOV??TH0,#3CH??????;50MS定時(shí)初值??????????????????MOV??TL1,#0B0
6、H?????;50MS定時(shí)初值(T1閃爍定時(shí)用)??????????????????MOV??TH1,#3CH??????;50MS定時(shí)初值??????????????????SETB?EA????????????;總中斷開(kāi)放??????????????????SETB?ET0???????????;允許T0中斷??????????????????SETB?TR0???????????;開(kāi)啟T0定時(shí)器??????????????????MOV??R4,#14H???????;1秒定時(shí)用初值(50MS×20)??????????START1:LCALLDISPLAY???????;調(diào)用顯示
7、子程序??????????????????JNB??P3.5,SETMM1???;P3.5口為0時(shí)轉(zhuǎn)時(shí)間調(diào)整程序??????????????????SJMP?START1????????;P3.5口為1時(shí)跳回START1??????????SETMM1:LJMP?SETMM?????????;轉(zhuǎn)到時(shí)間調(diào)整程序SETMM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;??????????1秒計(jì)時(shí)