已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)89C2051實(shí)現(xiàn)可編程時(shí)鐘 (一) 設(shè)計(jì)思路 時(shí)鐘的最小計(jì)時(shí)單位是秒,但使用單片機(jī)定時(shí)器來(lái)進(jìn)行計(jì)時(shí),若使用6.0MHz的晶振,即使按工作方式1工作,最大的計(jì)時(shí)時(shí)間也只能到131ms,所以我們可把每個(gè)定時(shí)時(shí)間取125ms,這樣定時(shí)器溢出8次(125ms8=1000ms)就得到最小的計(jì)時(shí)單位秒。而要實(shí)現(xiàn)8次計(jì)數(shù)用軟件方法實(shí)現(xiàn)是輕而易舉的。 我們使用定時(shí)器1,以工作方式1工作,定時(shí)器進(jìn)行125ms定時(shí)。采用中斷方法進(jìn)行溢出次數(shù)的累計(jì),當(dāng)計(jì)滿8次即得到1秒的計(jì)時(shí)。 一個(gè)時(shí)鐘的計(jì)時(shí)累加,要實(shí)現(xiàn)分、時(shí)的進(jìn)位,要用到多種進(jìn)制,秒、分、時(shí)中的進(jìn)位是十進(jìn)制,秒向分進(jìn)位和分想時(shí)進(jìn)位卻是六十進(jìn)制,而每天又有十二小時(shí)制或二十四小時(shí)制,它們分別又是十二進(jìn)制和二十四進(jìn)制。從秒到分和從分到小時(shí)可以通過(guò)軟件累加和數(shù)值比較方法實(shí)現(xiàn)。 在單片機(jī)的內(nèi)部RAM中,需要設(shè)置顯示緩沖區(qū),顯示的時(shí)、分、秒值是從顯示緩沖區(qū)中取出的,在RAM中設(shè)置四個(gè)單元作為顯示緩沖區(qū),分別是7AH、7BH、7CH。為使電路和原理敘述方便,我們這里不顯示秒值,秒的進(jìn)位我們通過(guò)閃爍分值實(shí)現(xiàn)。這樣我們一共有四位LED分別顯示時(shí)和分值。同時(shí)時(shí)鐘都需要校準(zhǔn)的。在程序中還需設(shè)置顯示碼表,要顯示的數(shù)值通過(guò)查表指令將顯示用的真正碼值送到LED上。我們用單片機(jī)AT89C2051的PP3.4和P3.5兩個(gè)I/O口外接微動(dòng)開(kāi)關(guān)來(lái)實(shí)現(xiàn)時(shí)和分的校正,每按一次小時(shí)或分值加1,連續(xù)按下數(shù)值累計(jì)下去,實(shí)現(xiàn)時(shí)鐘的校準(zhǔn)。 (二) 源程序 ; ;中斷入口程序; ; ORG0000H LJMPSTART ORG0003H RETI ORG000BH LJMPINTT0 ORG0013H RETI ORG001BH LJMPINTT1 ORG0023H RETI ORG002BH RETI ; ;主程序; ; START:MOVR0,#70H MOVR7,#0BH MOV20H,#00H CLEARDISP:MOVR0,#00H INCR0 DJNZR7,CLEARDISP MOV7AH,#0AH MOVTMOD,#11H MOVTL0,#0B0H MOVTH0,#3CH MOVTL1,#0B0H MOVTH1,#3CH SETBEA SETBET0 SETBTR0 MOVR4,#14H start1:LCALLDISPLAY JNBP3.7,SETMM1 SJMPStart1 SETMM1:LJMPSETMM ; ;1秒定時(shí)程序; ; INTT0:PUSHACC PUSHPSW CLRET0 CLRTR0 MOVA,#0B7H;中斷同步修正 ADDA,TL0 MOVTL0,A MOVA,#3CH ADDA,TH0 MOVTH0,A SETBTR0 DJNZR4,OUTT0 ADDSS:MOVR4,#14H 作者: lull0815 2006-7-4 00:22 回復(fù)此發(fā)言 2基于單片機(jī)89C2051實(shí)現(xiàn)可編程時(shí)鐘 MOVR0,#71H ACALLADD1;加1程序 MOVA,R3 CLRC CJNEA,#60H,ADDMM ADDMM:JCOUTT0 ACALLCLR0 MOVR0,#77H ACALLADD1 MOVA,R3 CLRC CJNEA,#60H,ADDHH ADDHH:JCOUTT0 ACALLCLR0 MOVR0,#79H ACALLADD1 MOVA,R3 CLRC CJNEA,#24H,HOUR HOUR:JCOUTT0 ACALLCLR0 OUTT0:MOV72H,76H MOV73H,77H MOV74H,78H MOV75H,79H POPPSW POPACC SETBET0 RETI ; ;閃動(dòng)調(diào)時(shí)程序; ; INTT1:PUSHACC PUSHPSW MOVTL1,#0B0H MOVTH1,#3CH DJNZR2,INTT1OUT MOVR2,#06H CPL02H JB02H,FLASH1 MOV72H,76H MOV73H,77H MOV74H,78H MOV75H,79H INTT1OUT:POPPSW POPACC RETI FLASH1:JB01H,FLASH2 MOV72H,7AH MOV73H,7AH MOV74H,78H MOV75H,79H AJMPINTT1OUT FLASH2:MOV72H,76H MOV73H,77H MOV74H,7AH MOV75H,7AH AJMPINTT1OUT ; ;加1程序; ; ADD1:MOVA,R0 DECR0 SWAPA ORLA,R0 ADDA,#01H DAA MOVR3,A ANLA,#0FH MOVR0,A MOVA,R3 INCR0 SWAPA ANLA,#0FH MOVR0,A RET ; ;清零程序; ; CLR0:CLRA MOVR0,A DECR0 MOVR0,A RET ; ;時(shí)鐘調(diào)整程序; ; SETMM:cLRET0 CLRTR0 LCALLDL1S JBP3.7,CLOSEDIS MOVR2,#06H SETBET1 SETBTR1 SET2:JNBP3.7,SET1 作者: lull0815 2006-7-4 00:22 回復(fù)此發(fā)言 3基于單片機(jī)89C2051實(shí)現(xiàn)可編程時(shí)鐘 SETB00H SET4:JBP3.7,SET3 LCALLDL05S JNBP3.7,SETHH MOVR0,#77H;加1分程序 LCALLADD1 MOVA,R3 CLRC CJNEA,#60H,HHH HHH:JCSET4 LCALLCLR0 CLRC AJMPSET4 CLOSEDIS:SETBET0 SETBTR0 CLOSE:JBP3.7,CLOSE LCALLDISPLAY JBP3.7,CLOSE WAITH:JNBP3.7,WAITH LJMPSTART1 SETHH:CLR00H SETHH1:JNBP3.7,SET5 SETB01H SET6:JBP3.7,SET7 LCALLDL05S JNBP3.7,SETOUT MOVR0,#79H LCALLADD1 MOVA,R3 CLRC CJNEA,#24H,HOUU HOUU:JCSET6 LCALLCLR0 AJMPSET6 SETOUT:JNBP3.7,SETOUT1 LCALLDISPLAY JNBP3.7,SETOUT CLR01H CLR00H CLR02H CLRTR1 CLRET1 SETBTR0 SETBET0 LJMPSTART1 SET1:LCALLDISPLAY AJMPSET2 SET3:LCALLDISPLAY AJMPSET4 SET5:LCALLDISPLAY AJMPSETHH1 SET7:LCALLDISPLAY AJMPSET6 SETOUT1:LCALLDISPLAY AJMPSETOUT ; ;顯示程序; ; DISPLAY:MOVR1,#70H MOVR5,#0FEH PLAY:MOVA,R5 MOVP3,A MOVA,R1 MOVDPTR,#TAB MOVCA,A+DPTR MOVP1,A LCALLDL1MS INCR1 MOVA,R5 JNBACC.5,ENDOUT RLA MOVR5,A AJMPPLAY ENDOUT:SETBP3.5 MOVP1,#0FFH RET TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ; ;延時(shí)程序; ; ;DL1MS:MOVR6,#14H DL1:MOVR7,#19H DL2:DJNZR7,DL2 RET DS20MS:ACALLDISPLAY ACALLDISPLAY ACALLDISPLAY RET DL1S:LCALLDL05S LCALLDL05S RET DL05S:MOVR3,#20H DL05S1:LCALLDISPLAY DJNZR3,DL05S1 RET END (三) 硬件實(shí)現(xiàn) 硬件實(shí)現(xiàn)方面電路我們以低價(jià)的AT89C2051單片機(jī)為微處理單元,這個(gè)芯片兼容C51指令系統(tǒng),在C51上編寫(xiě)的程序,無(wú)需任何修改即可方便地移植到這個(gè)芯片上來(lái)。我們以P0口作為L(zhǎng)ED的字段位驅(qū)動(dòng)輸出,秒的“進(jìn)位”采用分值閃爍提示,亮0.5秒,熄0.5秒。,P3.1P3.3用于位驅(qū)動(dòng),使用動(dòng)態(tài)掃描方式顯示,每位LED的顯示時(shí)間1025ms之間均可,掃描頻率不能太高,否則每位LED顯示的時(shí)間過(guò)短,亮度太低,不易于觀看,以肉眼不感覺(jué)到LED閃爍為宜。為了直觀,我們的驅(qū)動(dòng)輸出沒(méi)有采用集成電路,而是使用了分立元件三極管,但工作原理卻是一致的 電路原理圖如下 作者: lull0815 2006-7-4 00:22 回復(fù)此發(fā)言 4回復(fù):基于單片機(jī)89C2051實(shí)現(xiàn)可編程時(shí)鐘 (一)電子鐘 利用實(shí)驗(yàn)平臺(tái)上4個(gè)LED數(shù)碼管,設(shè)計(jì)帶有鬧鈴功能的數(shù)字時(shí)鐘,要求: 1 在4位數(shù)碼管上顯示當(dāng)前時(shí)間。顯示格式“時(shí)時(shí)分分” 2 由LED閃動(dòng)做秒顯示。 3 利用按鍵可對(duì)時(shí)間及鬧玲進(jìn)行設(shè)置,并可顯示鬧玲時(shí)間。 4 當(dāng)鬧玲時(shí)間到由P1.7控制蜂鳴器發(fā)出聲響,并可通過(guò)按鍵使它停止。 作者: lull0815 2006-7-4 00:26 回復(fù)此發(fā)言 5回復(fù):四火的程序 ORG5000H TABLE:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H MAIN:ACALLPULSE MOVR0,#00H MOVR1,#00H MOVR2,#00H MOVR3,#00H MOVTMOD,#06H MOVTL0,#0C4H MOVTH0,#0C4H START:SETBTR0 CLRTF0 WAIT:JNBTF0,WAIT CLRTR0 CJNER0,#09H,L1 CJNER1,#05H,L2 CJNER3,#02H,L3 CJNER2,#03H,L4 MOVR0,#00H MOVR1,#00H MOVR2,#00H MOVR3,#00H SID:ACALLDISPLAY ACALLCLOCK INT:JNBP1.2,M0 ACALLZD1 M0:JNBP1.7,M1 ACALLZD2 M1:JNBP2.1,M2 ACALLZD3 M2:AJMPSTART L1:INCR0 AJMPSID L2:INCR1 MOVR0,#00H AJMPSID L3:CJNER2,#09H,L5 INCR3 MOVR2,#00H MOVR1,#00H MOVR0,#00H AJMPSID L5:INCR2 MOVR1,#00H MOVR0,#00H AJMPSID L4:INCR2 MOVR1,#00H MOVR0,#00H AJMPSID PULSE:SETBp2.0;? LOOP:MOVR4,#250 DELAY1:MOVR5,#100 DELAY2:DJNZR5,DELAY2 DJNZR4,DELAY1 CPLP2.0 LJMPLOOP RET DISPLAY:MOVDPTR,#5000H MOVP1,#78H MOVA,R0 MOVCA,A+DPTR ACALLFIRSTBIT MOVA,R1 MOVCA,A+DPTR ACALLSECONDBIT MOVA,R2 MOVCA,A+DPTR ACALLTHIRDBIT MOVA,R3 MOVCA,A+DPTR ACALLFORTHBIT FIRSTBIT:MOVR6,#8 CLRP1.3 LOOP1:SETBP1.1 CLRCY RLCA MOVP1.0,C CPLP1.1 DJNZR6,LOOP1 SETBP1.3 RETSECONDBIT:MOVR6,#8 CLRP1.4 LOOP2:SETBP1.1 CLRCY RLCA MOVP1.0,C CPLP1.1 DJNZR6,LOOP2 SETBP1.4 RET THIRDBIT:MOVR6,#8 CLRP1.5 LOOP3:SETBP1.1 CLRCY RLCA MOVP1.0,C CPLP1.1 DJNZR6,LOOP3 SETBP1.5 RETFORTHBIT:MOVR6,#8 CLRP1.6 LOOP4:SETBP1.1 CLRCY RLCA MOVP1.0,C CPLP1.1 DJNZR6,LOOP4 SETBP1.6 RET RET CLOCK: CJNER0,#00H,RETURN;? CJNER1,#00H,RETURN CJNER2,#07H,RETURN CJNER3,#00H,RETURN CLRP1.7 R
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 售后維修委托協(xié)議
- 2025版無(wú)產(chǎn)權(quán)儲(chǔ)藏室租賃及買賣一體化協(xié)議3篇
- 市場(chǎng)監(jiān)督管理局廉政風(fēng)險(xiǎn)點(diǎn)排查及防控措施
- 2025年度個(gè)人二手房交易合同模板創(chuàng)新版
- 2025年全球及中國(guó)石墨氮化碳行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)肺癌機(jī)器人放射治療行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)硅基封端聚合物行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球電梯漸進(jìn)式安全裝置行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)定制基因合成行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年度二零二五年度鋼房租賃及智能化升級(jí)服務(wù)協(xié)議3篇
- 土力學(xué)與地基基礎(chǔ)(課件)
- IT系統(tǒng)災(zāi)備和容災(zāi)解決方案項(xiàng)目設(shè)計(jì)方案
- 青島版二年級(jí)數(shù)學(xué)下冊(cè)(六三制)全冊(cè)課件【完整版】
- 主要負(fù)責(zé)人重大隱患帶隊(duì)檢查表
- 魯濱遜漂流記人物形象分析
- 危險(xiǎn)廢物貯存?zhèn)}庫(kù)建設(shè)標(biāo)準(zhǔn)
- 新加坡小學(xué)二年級(jí)英語(yǔ)試卷practice 2
- 多層工業(yè)廠房主體結(jié)構(gòu)施工方案鋼筋混凝土結(jié)構(gòu)
- 救生艇筏、救助艇基本知識(shí)課件
- 阻燃壁紙匯報(bào)
- 梁若瑜著-十二宮六七二象書(shū)增注版
評(píng)論
0/150
提交評(píng)論