單片機(jī)課程設(shè)計(jì)報(bào)告-電子時(shí)鐘_第1頁
單片機(jī)課程設(shè)計(jì)報(bào)告-電子時(shí)鐘_第2頁
單片機(jī)課程設(shè)計(jì)報(bào)告-電子時(shí)鐘_第3頁
單片機(jī)課程設(shè)計(jì)報(bào)告-電子時(shí)鐘_第4頁
單片機(jī)課程設(shè)計(jì)報(bào)告-電子時(shí)鐘_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

一、設(shè)計(jì)內(nèi)容該課程設(shè)計(jì)是利用MCS-51單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、以及行列鍵盤和LED顯示器等部件,設(shè)計(jì)一個(gè)單片機(jī)電子時(shí)鐘。設(shè)計(jì)的電子時(shí)鐘通過數(shù)碼管顯示,并能通過按鍵實(shí)現(xiàn)設(shè)置時(shí)間和暫停、啟動(dòng)控制等。二、電子時(shí)鐘設(shè)計(jì)思想:用定時(shí)/計(jì)數(shù)器T0,工作于定時(shí),采用方式1,對12MHZ的系統(tǒng)時(shí)鐘進(jìn)行定時(shí)計(jì)數(shù),初值設(shè)為XXYY50msRAM的7BH單元對50ms計(jì)20次產(chǎn)生秒計(jì)數(shù)器78H單元加160則分計(jì)數(shù)器79H單元加1數(shù)器加到60則時(shí)計(jì)數(shù)器7AH單元加1,時(shí)計(jì)數(shù)器加到24則時(shí)計(jì)數(shù)器清0。然后把秒、分、時(shí)計(jì)數(shù)器分成十位和個(gè)位放到8------序,能對按鍵處理。三、MCS-51單片機(jī)系統(tǒng)簡介單片機(jī)應(yīng)用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)是指單片機(jī)以及擴(kuò)展的I\O接口、外圍擴(kuò)展的功能芯片以及接口電路。軟件系統(tǒng)包括監(jiān)控程序和各種應(yīng)用程序。在單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)是整個(gè)系統(tǒng)的核心,對整個(gè)系統(tǒng)的信息輸入、處理、信I\O接口,使單片機(jī)應(yīng)用系統(tǒng)能夠運(yùn)行。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,往往都會(huì)輸入信息和顯示信息,這就涉及鍵盤和顯示器。和顯示器功能相對強(qiáng)大,而有些系統(tǒng)輸入/輸出的信息少,這時(shí)可能用幾個(gè)按鍵和幾個(gè)LED陣鍵盤。顯示器可以是LED指示燈,也可以是LED數(shù)碼管,也可以是LCD顯示器,還可以使用CRT顯示器。單片機(jī)應(yīng)用系統(tǒng)中鍵盤一般用的比較多的是矩陣鍵盤,顯示器用的比較多的是LED數(shù)碼管還LCD顯示器。四、MCS-51單片機(jī)內(nèi)部定時(shí)器\計(jì)數(shù)器、中斷系統(tǒng)簡介定時(shí)器\計(jì)數(shù)器1、MCS-51系列中51子系列有兩個(gè)16位的可編程定時(shí)\計(jì)數(shù)器可:定時(shí)\計(jì)數(shù)器T0和定時(shí)\計(jì)數(shù)器T1。它由加法計(jì)數(shù)器、方式寄存器TMOD、控制寄存器TCON等組成。方式寄存器用于設(shè)定定時(shí)計(jì)數(shù)器T0和T1的工作方式,控制寄存器用于對定時(shí)計(jì)數(shù)器啟動(dòng)、停止進(jìn)行控制。2、每個(gè)定時(shí)計(jì)數(shù)器既可以對系統(tǒng)時(shí)鐘計(jì)數(shù)實(shí)現(xiàn)定時(shí),也可以外部信號計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能通過編程設(shè)定來實(shí)現(xiàn)。3、每個(gè)定時(shí)計(jì)數(shù)器都有多種工作方式,其中T0有四種工作方式,T1有三種工作方式,T213位定時(shí)\計(jì)數(shù)器、16位定時(shí)\計(jì)數(shù)器、8位自動(dòng)重置定時(shí)\計(jì)數(shù)器、兩個(gè)8位定時(shí)\計(jì)數(shù)器(只有T0有)4、每一個(gè)定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)時(shí)間到時(shí)產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查詢或中斷方式處理。中斷系統(tǒng):1、MCS-51單片機(jī)提供5個(gè)硬件中斷源,2個(gè)外部中斷源,2個(gè)定時(shí)計(jì)數(shù)器T0和T1的溢出中斷TF0和TF1,1個(gè)串行口發(fā)送TI和接收RI中斷。2MCS-51單片機(jī)中沒有專門的開中斷和關(guān)中斷指令,對各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器IE的各位來控制的。中斷允許寄存器IE的字節(jié)地址為A8H,可以進(jìn)行位尋址。系統(tǒng)復(fù)位時(shí),中斷允許寄存器IE的內(nèi)容為00H,如果要開放某個(gè)中斷源,則必須使IE中的總控置位和對應(yīng)的中斷允許位置“1”。3MCS-51單片機(jī)有5IPIP的字節(jié)地址為B8H,可以進(jìn)行位尋址。如果某位被置“1”,則對應(yīng)的中斷源被設(shè)為高優(yōu)先級;如果某位被到低優(yōu)先權(quán)順序?yàn)橥獠恐袛?T01T1行口中斷。通過設(shè)置中斷優(yōu)先級寄存器IP能夠改變系統(tǒng)默認(rèn)的優(yōu)先級順序。4、MCS-51單片機(jī)響應(yīng)中斷的條件為:中斷源有請求且中斷允許。五、鍵盤和LED數(shù)碼管顯示器簡介鍵盤是單片機(jī)應(yīng)用系統(tǒng)中最常用的輸入設(shè)備,在單片機(jī)應(yīng)用系統(tǒng)中,操作人員一般都3時(shí)掃描工作方式和中斷工作方式。LED數(shù)碼管顯示器:在單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常用到LED數(shù)碼管作為顯示輸出設(shè)備,LED中經(jīng)常用到。LED數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是8段式LED數(shù)碼管顯示器,它有共陰極和共陽極兩種。所謂譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式。對于LED數(shù)碼管顯示器,通常的譯碼方式有兩種:硬件譯碼方式和軟件譯碼方式。LED數(shù)碼管在顯示時(shí),通常有兩種顯示顯示。六、基本原理軟時(shí)鐘是利用單片機(jī)內(nèi)部的定時(shí)器\計(jì)數(shù)器來實(shí)現(xiàn)的,它的處理過程如下:首先設(shè)定單片機(jī)內(nèi)部的一個(gè)定時(shí)器\計(jì)數(shù)器工作于定時(shí)方式,對機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間,然后用另一個(gè)定時(shí)器\計(jì)數(shù)器或軟件計(jì)數(shù)的方法對基準(zhǔn)時(shí)間計(jì)數(shù)形成秒,秒計(jì)60次形成分,分計(jì)60次形成小時(shí),小時(shí)計(jì)24次則計(jì)滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。數(shù)碼管顯示可以采用靜態(tài)顯示方法或動(dòng)態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器等6個(gè)或8器得到顯示信息的字段碼,實(shí)際中通常采用軟件譯碼。在具體處理時(shí),定時(shí)器計(jì)數(shù)器采用中斷方式工作,對時(shí)鐘的形成在中斷服務(wù)程序中實(shí)盤設(shè)置子程序。七、系統(tǒng)硬件電路的設(shè)計(jì)912345678八、系統(tǒng)軟件程序的設(shè)計(jì)理、數(shù)碼管顯示模塊等,1.主程序主程序執(zhí)行流程如圖11.2,主程序先對顯示單元和定時(shí)器/計(jì)數(shù)器初始化,然后重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有鍵按下,則轉(zhuǎn)入相應(yīng)的功能程序。2.?dāng)?shù)碼管顯示模塊本系統(tǒng)共用8個(gè)數(shù)碼管,從右到左依次顯示秒個(gè)位、秒十位、橫線、分個(gè)位、分十位、橫線、時(shí)個(gè)位和時(shí)十位。采用軟件譯碼動(dòng)態(tài)顯示。3.定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序定時(shí)器/計(jì)數(shù)器T0用于時(shí)間計(jì)時(shí)。選擇方式1,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為50ms,定時(shí)50ms20次則對秒單元加1單元加到60則對分單元加1,同時(shí)秒單元清0;分單元加到60則對時(shí)單元加1,同時(shí)分單元清024則對時(shí)單元清0們的值放到存儲(chǔ)單元的指定位置。定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序流程圖如圖11.3。開始現(xiàn)場保護(hù),重置初值啟動(dòng)下一個(gè)50ms50ms計(jì)數(shù)器加1否50ms計(jì)數(shù)器=20?是秒單元加1,50ms計(jì)數(shù)器清0,秒寫入秒個(gè)位和秒十位否秒單元=60?是開始分單元加1,秒單元清0,分寫入分個(gè)位和分十位顯示單元清零T0、T1設(shè)為16位計(jì)數(shù)模式允許T0中斷否分單元=60?是時(shí)單元加1,分單元清0,時(shí)寫入時(shí)個(gè)位和時(shí)十位調(diào)用顯示子程序否時(shí)單元=24?否按下鍵否?是時(shí)單元清0是進(jìn)入功能程序中斷返回圖11.2主程序流程圖圖11.3定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序流程圖4.按鍵處理模塊按鍵處理設(shè)置為:如沒有按鍵,則時(shí)鐘正常走時(shí)。當(dāng)按下K0按鍵時(shí),進(jìn)入調(diào)分狀態(tài),時(shí)鐘停止走動(dòng);按K1可K2按鍵可進(jìn)行加1或減1操作;繼續(xù)按K0鍵可分別進(jìn)行分和小時(shí)的調(diào)整;最后按K0鍵將退出調(diào)整狀態(tài),時(shí)鐘開始計(jì)時(shí)運(yùn)行。5.匯編語言源程序清單;采用8位LED軟件譯碼動(dòng)態(tài)顯示程序;使用AT89C51單片機(jī),12MHZ晶振,P0輸出字段碼,P2口輸出位選碼,用共陽;LED數(shù)碼管,P1.0為調(diào)時(shí)位選擇按鍵,P1.1為加1鍵,P1.2為減1鍵。;片內(nèi)RAM的70H到77H單元為LED數(shù)碼管的顯示緩沖區(qū);78H,79H,7AH分別為秒、分、小時(shí)計(jì)數(shù)單元;7BH為50ms計(jì)數(shù)器,7CH為調(diào)時(shí)按鍵計(jì)數(shù)器ORG0000HLJMPSTARTORG000BHLJMPINTT0;定時(shí)器/計(jì)數(shù)器T0中斷程序入口;主程序START:MOVR0,#70HMOVR7,#0CHINIT:MOV@R0,#00HINCR0DJNZR7,INITMOV72H,#10MOV75H,#10MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#03CHSETBEASETBET0SETBTR0START1:LCALLSCANLCALLKEYSCANSJMPSTART1;延時(shí)1MS子程序DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RET;延時(shí)20MS子程序DL20MS:ACALLSCANACALLSCANACALLSCANRET;數(shù)碼管顯示程序SCAN:MOVA,78HMOVB,#0AH;時(shí)間存入顯示緩沖區(qū)相應(yīng)位置DIVABMOV71H,AMOV70H,BMOVA,79HMOVB,#0AHDIVABMOV74H,AMOV73H,BMOVA,7AHMOVB,#0AHDIVABMOV77H,AMOV76H,BMOVR1,#70HMOVR5,#80HMOVR3,#08HSCAN1:MOVA,R5MOVP2,A;循環(huán)掃描顯示MOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVA,R5LCALLDL1MSINCR1MOVA,R5RRAMOVR5,ADJNZR3,SCAN1MOVP2,#00HMOVP0,#0FFHRETTABDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;“0~9”“-”的共陽極字段碼;定時(shí)器/計(jì)數(shù)器T0中斷服務(wù)程序INTT0:PUSHACCPUSHPSWCLRET0CLRTR0MOVTL0,#0B0HMOVTH0,#03CHSETBTR0INC7BHMOVA,7BHCJNEA,#14H,OUTT0MOV7BH,#00INC78HMOVA,78HCJNEA,#3CH,OUTT0MOV78H,#00INC79HMOVA,79HCJNEA,#3CH,OUTT0MOV79H,#00INC7AHMOVA,7AHCJNEA,#18H,OUTT0MOV7AH,#00OUTT0:SETBET0POPPSWPOPACCRETI;按鍵處理程序KEYSCAN:CLREAJNBP1.0,KEYSCAN0JNBP1.1,KEYSCAN1JNBP1.2,KEYSCAN2KEYOUT:SETBEARETKEYSCAN0:LCALLDL20MSJBP1.0,KEYOUTWAIT0:JNBP1.0,WAIT0INC7CHMOVA,7CHCLRET0CLRTR0CJNEA,#03H,KEYOUTMOV7CH,#00SETBET0SETBTR0SJMPKEYOUTKEYSCAN1:LCALLDL20MSJBP1.1,KEYOUTWAIT1:JNBP1.1,WAIT1MOVA,7CHCJNEA,#02H,KSCAN11INC79HMOVA,79HCJNEA,#3CH,KEYOUTMOV79H,#00SJMPKEYOUTKSCAN11:INC7AHMOVA,7AHCJNEA,#18H,KEYOUTMOV7AH,#00SJMPKEYOUTKEYSCAN2:LCALLDL20MSJBP1.2,KEYOUTWAIT2:JNBP1.2,WAIT2MOVA,7CHCJNEA,#02H,KSCAN21DEC79HMOVA,79HCJNEA,#0FFH,KEYOUTMOV79H,#3BHSJMPKEYOUTKSCAN21:DEC7AHMOVA,7AHCJNEA,#0FFH,KEYOUTMOV7AH,#17HSJMPKEYOUTEND九、設(shè)計(jì)過程1、在PROTEUS中設(shè)計(jì)硬件PROTEUS軟件使用過程如下:1)選擇元器件2)放置元器件3)連線4)添加程序5)運(yùn)行仿真元器件清單如下:單片機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論