![51單片機(jī)課程設(shè)計(jì) 電子時(shí)鐘_第1頁(yè)](http://file4.renrendoc.com/view/b0e59248789bbec8f2627eb6cb62db47/b0e59248789bbec8f2627eb6cb62db471.gif)
![51單片機(jī)課程設(shè)計(jì) 電子時(shí)鐘_第2頁(yè)](http://file4.renrendoc.com/view/b0e59248789bbec8f2627eb6cb62db47/b0e59248789bbec8f2627eb6cb62db472.gif)
![51單片機(jī)課程設(shè)計(jì) 電子時(shí)鐘_第3頁(yè)](http://file4.renrendoc.com/view/b0e59248789bbec8f2627eb6cb62db47/b0e59248789bbec8f2627eb6cb62db473.gif)
![51單片機(jī)課程設(shè)計(jì) 電子時(shí)鐘_第4頁(yè)](http://file4.renrendoc.com/view/b0e59248789bbec8f2627eb6cb62db47/b0e59248789bbec8f2627eb6cb62db474.gif)
![51單片機(jī)課程設(shè)計(jì) 電子時(shí)鐘_第5頁(yè)](http://file4.renrendoc.com/view/b0e59248789bbec8f2627eb6cb62db47/b0e59248789bbec8f2627eb6cb62db475.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./課程設(shè)計(jì)課程名稱:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)題目名稱:?jiǎn)纹瑱C(jī)電子時(shí)鐘學(xué)院:電信學(xué)院專業(yè):電子工程姓名:曾代科學(xué)號(hào):1指導(dǎo)教師:加國(guó)20XX11月7日課程設(shè)計(jì)名稱:51單片機(jī)電子時(shí)鐘設(shè)計(jì)方案:1、通過(guò)單片機(jī)部的計(jì)數(shù)/定時(shí)器,采用軟件編程來(lái)實(shí)現(xiàn)時(shí)鐘計(jì)數(shù),一般稱為軟時(shí)鐘,這種方法的硬件線路簡(jiǎn)單,系統(tǒng)的功能一般與軟件設(shè)計(jì)相關(guān),通常用在對(duì)時(shí)間精度要求不高的場(chǎng)合。2、采用時(shí)鐘芯片,它的功能強(qiáng)大,功能部件集成在芯片部,具有自動(dòng)產(chǎn)生時(shí)鐘等相關(guān)功能,硬件成本相對(duì)較高;軟件編程簡(jiǎn)單,通常用在對(duì)時(shí)鐘精度要求較高的場(chǎng)合。三、設(shè)計(jì)容:這里采用應(yīng)用廣泛的AT89C52作為時(shí)鐘控制芯片,利用單片機(jī)部的定時(shí)/計(jì)數(shù)器T0實(shí)現(xiàn)軟時(shí)鐘的目的。首先將T0設(shè)定工作于定時(shí)方式,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間〔50ms,然后用另一個(gè)定時(shí)/計(jì)數(shù)器T1對(duì)基準(zhǔn)時(shí)間計(jì)數(shù)形成秒,妙計(jì)60次形成分,分計(jì)60形成小時(shí),小時(shí)計(jì)到12。最后通過(guò)數(shù)碼管把它們的容在相應(yīng)的位置顯示出來(lái),達(dá)到時(shí)、分、秒計(jì)時(shí)的功能。此外還要實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整功能,89C52的P1.0、P1.1、P1.2外接三個(gè)獨(dú)立按鍵,當(dāng)按下P1.0按鍵時(shí),系統(tǒng)進(jìn)入調(diào)時(shí)間的狀態(tài)或啟動(dòng)時(shí)間顯示的功能;當(dāng)按下P1.1按鍵時(shí),對(duì)顯示的數(shù)碼管進(jìn)行加一的功能;當(dāng)按下P1.2按鍵時(shí),對(duì)顯示的數(shù)碼管進(jìn)行減一的功能,達(dá)到調(diào)整時(shí)間的目的。四、系統(tǒng)軟件程序設(shè)計(jì)1.主程序先對(duì)顯示單元和定時(shí)器/計(jì)數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有按鍵按下時(shí),則轉(zhuǎn)入相應(yīng)的功能程序。數(shù)碼管顯示模塊本實(shí)驗(yàn)有8個(gè)數(shù)碼管,從右到左為妙、橫線、分、橫線、時(shí)。在本系統(tǒng)中數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。在存儲(chǔ)器中首先建立一顯示信息的字段碼表,顯示時(shí),先從顯示緩沖區(qū)中取出顯示的信息,然后通過(guò)查表程序在字段表中查出所顯示的信息的斷碼,從P0端口輸出,同時(shí)在P2端口進(jìn)行數(shù)碼管顯示。3、定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序T0用于計(jì)時(shí),選中方式一,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為50ms,定時(shí)時(shí)間到則中斷,在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器對(duì)50ms計(jì)數(shù),計(jì)20次則對(duì)秒單元加一。秒單元加到60則對(duì)分單元加一,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元加一,同時(shí)分單元清0;時(shí)單元加到24則對(duì)時(shí)單元清0,標(biāo)志一天時(shí)間計(jì)滿。在對(duì)各單元計(jì)數(shù)的同時(shí),把他們的值放到存儲(chǔ)器單元的指定位置。流程圖如下:現(xiàn)場(chǎng)保護(hù),重置初值,啟動(dòng)下一個(gè)50ms現(xiàn)場(chǎng)保護(hù),重置初值,啟動(dòng)下一個(gè)50ms是開(kāi)始顯示單元清0T0、T1設(shè)為16位計(jì)數(shù)模式允許T0中斷調(diào)用顯示子程序進(jìn)入功能程序按下鍵否開(kāi)始中斷返回50ms計(jì)數(shù)器加一秒單元加一,50ms計(jì)數(shù)器清0分單元加一,秒單元清0時(shí)單元加一,分單元清0時(shí)單元清050ms計(jì)數(shù)器=20?秒單元=60?分單元=60?時(shí)單元=24?主程序流程圖T0中斷服務(wù)程序NONONONO4、按鍵處理模塊按鍵設(shè)置為:如果沒(méi)有按鍵嗎,則時(shí)鐘正常走時(shí)。當(dāng)按下K0鍵時(shí),進(jìn)入調(diào)分狀態(tài),時(shí)鐘停止走動(dòng);按K1和K2按鍵可以進(jìn)行加一和減一操作;繼續(xù)按K0鍵可以分別進(jìn)行分和小時(shí)的調(diào)整;最后按K0鍵啟動(dòng)計(jì)時(shí)。匯編語(yǔ)言程序 ORG0000H LJMPSTART ORG000BH LJMPINIT0START: MOVR0,#70H ;主程序開(kāi)始 MOVR7,#0CHINIT: MOVR0,#00H INCR0 DJNZR7,INIT MOV72H,#10 ;對(duì)連字符進(jìn)行裝值 MOV75H,#10 MOVTMOD,#01H ;選擇定時(shí)器/計(jì)數(shù)器T0的方式1 MOVTL0,#0B0H ;對(duì)低位賦初值 MOVTH0,#03CH ;高位賦初值 SETBEA SETBET0 SETBTR0START1: LCALLSCAN LCALLKEYSCAN SJMPSTART1DL1MS: MOVR6,#14H ;延時(shí)1子程序DL1: MOVR7,#19HDL2: DJNZR7,DL2 DJNZR6,DL1 RET DL20MS: ACALLSCAN ;延時(shí)20ms子程序 ACALLSCAN ACALLSCAN RET;數(shù)碼管顯示程序開(kāi)始SCAN: MOVA,78H MOVB,#0AH DIVAB;時(shí)間秒的十位送給A,時(shí)間秒的個(gè)位送B MOV71H,A ;時(shí)間秒要顯示的十位 MOV70H,B ;時(shí)間秒要顯示的個(gè)位 MOVA,79H MOVB,#0AH DIVAB ;時(shí)間分的十位送給A,時(shí)間分的個(gè)位送B MOV74H,A ;時(shí)間分要顯示的十位送地址 MOV73H,B ;時(shí)間分要顯示的個(gè)位送地址 MOVA,7AH MOVB,#0AH DIVAB ;時(shí)間時(shí)的十位送給A,時(shí)間時(shí)的個(gè)位送B MOV77H,A ;時(shí)間時(shí)顯示的十位送地址 MOV76H,B ;時(shí)間時(shí)要顯示的個(gè)位送地址 MOVR1,#70H MOVR5,#0FEH MOVR3,#08HSCAN1: MOVA,R5 ;數(shù)碼管的顯示程序 MOVP2,A MOVA,R1 MOVDPTR,#TAB MOVCA,A+DPTR ;對(duì)字段表取值顯示 MOVP0,A MOVA,R5 LCALLDL1MS INCR1 MOVA,R5 RLA MOVR5,A DJNZR3,SCAN1 MOVP2,#0FFH MOVP0,#0FFH RET ;"0~9"和"-"的字段表TAB: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;定時(shí)/計(jì)數(shù)器T0中斷程序INIT0: PUSHACC PUSHPSW CLRET0 CLRTR0 MOVTL0,#0B0H MOVTH0,#03CH SETBTR0 INC7BH MOVA,7BHCJNEA,#14H,OUTT0 ;50ms是否到20次,沒(méi)有到就繼續(xù)執(zhí)行50ms的延時(shí) MOV7BH,#00 INC78H MOVA,78HCJNEA,#3CH,OUTT0 ;一秒的延時(shí)是否計(jì)到60次,沒(méi)有就繼續(xù)執(zhí)行 MOV78H,#00 INC79H MOVA,79H CJNEA,#3CH,OUTT0 MOV79H,#00 INC7AH MOVA,7AH CJNEA,#18H,OUTT0 ;60分鐘的延時(shí)是否計(jì)到24次,沒(méi)有就繼續(xù)執(zhí)行程序 MOV7AH,#00OUTT0:SETBET0 ;啟動(dòng)定時(shí)器T0 POPPSW POPACC RETI ;按鍵處理程序KEYSCAN:CLREA JNBP1.0,KEYSCAN0 ;P1.0有按鍵按下則跳轉(zhuǎn)到子程序 JNBP1.1,KEYSCAN1 ;P1.1有按鍵按下則跳轉(zhuǎn)到子程序 JNBP1.2,KEYSCAN2 ;P1.2有按鍵按下則跳轉(zhuǎn)到子程序KEYOUT: SETBEA RETKEYSCAN0:LCALLDL20MS ;20ms的延時(shí)消抖 JBP1.0,KEYOUTWAIT0: JNBP1.0,WAIT0 ;判斷按鍵是否松手,松手就往下執(zhí)行程序 INC7CH MOVA,7CH CLRET0 CLRTR0 CJNEA,#03H,KEYOUT ;按下第一次和第二次對(duì)時(shí)、分選定 MOV7CH,#00 ;按下第三次時(shí)就啟動(dòng)計(jì)時(shí) SETBET0 SETBTR0 SJMPKEYOUTKEYSCAN1:LCALLDL20MS ;按鍵加一的程序 JBP1.1,KEYOUTWAIT1: JNBP1.1,WAIT1 MOVA,7CH CJNEA,#02H,KSCAN11 ;如果功能鍵按下則對(duì)時(shí)加一調(diào)整 INC79H CJNEA,#3CH,KEYOUT ;如果加到60則清零 MOV79H,#00 SJMPKEYOUTKSCAN11:INC7AH ;如果功能鍵是按下第二次則對(duì)分進(jìn)行加一調(diào)整 MOVA,7AH CJNEA,#18H,KEYOUT MOV7AH,#00 SJMPKEYOUTKEYSCAN2:LCALLDL20MS ;延時(shí)消抖程序 JBP1.2,KEYOUTWAIT2: JNBP1.2,WAIT2 ;判斷是否放開(kāi)按鍵 MOVA,7CH CJNEA,#02H,KSCAN21 ;如果功能鍵是按下第一次對(duì)時(shí)進(jìn)行減一 DEC79H MOVA,79H CJNEA,#0FFH,KEYOUT MOV79H,#3BH SJMPKEYOUTKSCAN21:DEC7AH ;如果功能鍵是按下第二次則對(duì)分進(jìn)行減一 CJNEA,#0FFH,KEYOUT MOV7AH,#17H SJMPKEYOUT END6、軟件編譯環(huán)境:KeiluVision2確保生成".Hex"文件系統(tǒng)硬件電路的設(shè)計(jì)系統(tǒng)的硬件主要包括單片機(jī)芯片,數(shù)碼管顯示,按鍵開(kāi)關(guān)電路,它的硬件電路如下圖所示,單片機(jī)采用廣泛使用的AT89C52,系統(tǒng)時(shí)鐘采用12MHz的晶振,八個(gè)數(shù)碼管顯示,小時(shí)與分鐘與秒鐘間用短橫線,采用共陽(yáng)極七段式數(shù)碼管,P0口為段選碼輸出端,P2口為位選碼輸出端。硬件電路如圖所示:課程設(shè)計(jì)總結(jié)經(jīng)過(guò)一周的時(shí)間以及對(duì)整本教材的知識(shí)總結(jié),把課程設(shè)計(jì)分成了硬件和軟件兩大模塊??偟膩?lái)說(shuō),硬件部分很好入手,電路也教簡(jiǎn)單,主要涉及的是簡(jiǎn)單的按鍵、電容、電阻、晶振和數(shù)碼管。在軟件部分,細(xì)分為了按鍵模塊、顯示模塊、定時(shí)/計(jì)數(shù)模塊,最后把幾個(gè)模塊整合在主程序模塊中,使得程序簡(jiǎn)單明了。整個(gè)設(shè)計(jì)過(guò)程
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師招聘語(yǔ)文面試唐詩(shī)三首教學(xué)設(shè)計(jì)
- 兩位好友合作經(jīng)營(yíng)店鋪合同模板
- 個(gè)人與個(gè)人借款合同范本
- 中外合資企業(yè)采購(gòu)合同中英文對(duì)照
- 中外合資經(jīng)營(yíng)企業(yè)合同(適用于零售連鎖業(yè)務(wù))
- 個(gè)人二手房交易合同擔(dān)保協(xié)議書(shū)
- 專利交易合同協(xié)議
- 個(gè)人向企業(yè)借款合同樣板
- 個(gè)人與公司合作承包項(xiàng)目合同
- 專業(yè)帶小孩勞動(dòng)合同范本
- 四川省綿陽(yáng)市2025屆高三第二次診斷性考試思想政治試題(含答案)
- 2024-2025學(xué)年遼寧省沈陽(yáng)市沈河區(qū)七年級(jí)(上)期末英語(yǔ)試卷(含答案)
- T型引流管常見(jiàn)并發(fā)癥的預(yù)防及處理
- 2024-2025學(xué)年人教新版九年級(jí)(上)化學(xué)寒假作業(yè)(九)
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)(共380題含答案)
- 2022年全國(guó)醫(yī)學(xué)博士英語(yǔ)統(tǒng)一考試試題
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案
- 知識(shí)圖譜與大模型融合實(shí)踐研究報(bào)告
- 衛(wèi)生專業(yè)技術(shù)資格考試衛(wèi)生檢驗(yàn)技術(shù)(初級(jí)(師)211)專業(yè)知識(shí)試題及答案指導(dǎo)
- 0-9任意四位數(shù)手機(jī)密碼排列組合全部數(shù)據(jù)列表
- 小數(shù)加減乘除計(jì)算題大全(300題大全)
評(píng)論
0/150
提交評(píng)論