課程設(shè)計(jì)報(bào)告-51單片機(jī)數(shù)字時(shí)鐘.doc
《課程設(shè)計(jì)報(bào)告-51單片機(jī)數(shù)字時(shí)鐘.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《課程設(shè)計(jì)報(bào)告-51單片機(jī)數(shù)字時(shí)鐘.doc(14頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Harbin Institute of Technology課程設(shè)計(jì)說明書(論文)課程名稱: 課程設(shè)計(jì)1 設(shè)計(jì)題目: 數(shù)字日歷鐘表的設(shè)計(jì) 院 系:電信學(xué)院通信工程專業(yè) 班 級(jí): 設(shè) 計(jì) 者: 學(xué) 號(hào): 指導(dǎo)教師: 任廣輝 設(shè)計(jì)時(shí)間:2012.5.12至2012.6.10 哈爾濱工業(yè)大學(xué)哈爾濱工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書 姓 名: 院 (系):電信學(xué)院 專 業(yè): 通信工程 班 號(hào): 任務(wù)起至日期: 2012 年 5 月 12 日至 2012 年 6 月 10 日 課程設(shè)計(jì)題目: 數(shù)字日歷鐘的設(shè)計(jì) 已知技術(shù)參數(shù)和設(shè)計(jì)要求:1 數(shù)碼管顯示:秒、分、時(shí)(可同時(shí)顯示,也可輪換顯示)2 能夠設(shè)置時(shí)間,“設(shè)置按鍵
2、”數(shù)量不限,以簡(jiǎn)單合理易用為好。3 誤差:1秒天(報(bào)告中要論述分析是否滿足要求)擴(kuò)展(優(yōu)秀必作)1 設(shè)置校準(zhǔn)鍵:當(dāng)數(shù)字鐘顯示在“整點(diǎn)30秒”范圍時(shí),按動(dòng)“校準(zhǔn)鍵”,數(shù)字鐘即刻被調(diào)整到整點(diǎn),消除了30秒的誤差。2 加上“星期”顯示(可以預(yù)置),并可以對(duì)其進(jìn)行設(shè)置。 其他要求:1 按動(dòng)員老師的要求、課程設(shè)計(jì)報(bào)告規(guī)范進(jìn)行設(shè)計(jì)2 不允許使用時(shí)數(shù)字鐘表、日歷專用IC電路。3 可以使用通用器件:模擬、數(shù)字、單片機(jī)、EPLD、模塊電路等。4 設(shè)計(jì)方法不限。 工作量: 工作計(jì)劃安排:1. 查閱資料: 2. 方案論證3. 設(shè)計(jì)、分析、計(jì)算、模擬調(diào)試、仿真、設(shè)計(jì)原理4. 撰寫報(bào)告:課程設(shè)計(jì)要求、方案論證、原理論述
3、(原理框圖、原理圖)、分析、計(jì)算、仿真,PCB圖的設(shè)計(jì),誤差分析、總結(jié),參考文獻(xiàn)等5. 上交課程設(shè)計(jì)論文2012-6-11前 同組設(shè)計(jì)者及分工: 指導(dǎo)教師簽字_ 年 月 日 教研室主任意見: 教研室主任簽字_ 年 月 日*注:此任務(wù)書由課程設(shè)計(jì)指導(dǎo)教師填寫哈爾濱工業(yè)大學(xué)課程設(shè)計(jì)說明書(論文)數(shù)字日歷鐘的設(shè)計(jì)1課程設(shè)計(jì)要求1. 數(shù)碼管顯示:秒、分、時(shí)(可同時(shí)顯示,也可輪換顯示)2. 能夠設(shè)置時(shí)間,“設(shè)置按鍵”數(shù)量不限,以簡(jiǎn)單合理易用為好。3. 誤差:1秒天(報(bào)告中要論述分析是否滿足要求)4. 設(shè)置校準(zhǔn)鍵:當(dāng)數(shù)字鐘顯示在“整點(diǎn)30秒”范圍時(shí),按動(dòng)“校準(zhǔn)鍵”,數(shù)字鐘即刻被調(diào)整到整點(diǎn),消除了30秒的誤
4、差。5 加上“星期”顯示(可以預(yù)置),并可以對(duì)其進(jìn)行設(shè)置。2方案論證1. 通過單片機(jī)內(nèi)部的計(jì)數(shù)/定時(shí)器,采用軟件編程來實(shí)現(xiàn)時(shí)鐘計(jì)數(shù),一般稱為軟時(shí)鐘,這種方法的硬件線路簡(jiǎn)單,系統(tǒng)的功能一般與軟件設(shè)計(jì)相關(guān),通常用在對(duì)時(shí)間精度要求不高的場(chǎng)合。2. 采用時(shí)鐘芯片,它的功能強(qiáng)大,功能部件集成在芯片內(nèi)部,具有自動(dòng)產(chǎn)生時(shí)鐘等相關(guān)功能,硬件成本相對(duì)較高;軟件編程簡(jiǎn)單,通常用在對(duì)時(shí)鐘精度要求較高的場(chǎng)合。3原理論述這里采用應(yīng)用廣泛的80C51單片機(jī)作為時(shí)鐘控制芯片,利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器T0 實(shí)現(xiàn)軟時(shí)鐘的目的。首先將T0設(shè)定工作于定時(shí)方式1,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間(50ms),然后使用循環(huán)的程序結(jié)構(gòu)使基
5、準(zhǔn)時(shí)間計(jì)數(shù)20次從而形成秒,秒計(jì)60次形成分,分計(jì)60形成小時(shí),小時(shí)計(jì)到24形成一天,天計(jì)到7形成一星期,再重新循環(huán)。最后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)的位置顯示出來,達(dá)到時(shí)、分、秒計(jì)時(shí)的功能。此外還要實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整功能,80C51的P1.0、P1.1、P1.2、P1.3外接四個(gè)獨(dú)立按鍵,當(dāng)按下P1.0按鍵時(shí),根據(jù)按此鍵次數(shù)的不同,系統(tǒng)分別進(jìn)入調(diào)“星期”、“小時(shí)”、“分”狀態(tài)的功能;當(dāng)按下P1.1按鍵時(shí),對(duì)顯示的數(shù)碼管進(jìn)行加一的功能;當(dāng)按下P1.2按鍵時(shí),對(duì)顯示的數(shù)碼管進(jìn)行減一的功能,達(dá)到調(diào)整星期的目的。當(dāng)按下P1.3按鍵時(shí),系統(tǒng)進(jìn)入調(diào)整“秒”狀態(tài)的功能,如果此時(shí)大于30秒則直接清零“秒”顯示
6、的數(shù)碼管,同時(shí)對(duì)“分”顯示的數(shù)碼管加一;如果小于等于30秒則直接清零“秒”顯示的數(shù)碼管。同時(shí)設(shè)置了復(fù)位按鍵,當(dāng)電路發(fā)生故障時(shí),按下此鍵,可對(duì)所有的顯示數(shù)碼管進(jìn)行清零,達(dá)到“復(fù)位”的目的。所設(shè)計(jì)方案的流程圖如下4分析4.1 硬件部分采用7SEG-MPX8-CC 八個(gè)共陰二極管顯示器來顯示日期和時(shí)間。通過設(shè)置功能按鍵來實(shí)現(xiàn)調(diào)整日期和整點(diǎn)調(diào)時(shí)的功能。電路連接使用PCB,使電路連接簡(jiǎn)潔美觀。4.2 軟件部分(1) “時(shí)鐘”基準(zhǔn)時(shí)間由單片機(jī)內(nèi)部的定時(shí)中斷T0提供,考慮因素:定時(shí)時(shí)間是“秒”的整除數(shù),且長(zhǎng)短適宜。最長(zhǎng)不能超過16位定時(shí)器的最長(zhǎng)定時(shí)時(shí)間;最短不能少于中斷服務(wù)程序的執(zhí)行時(shí)間。基準(zhǔn)時(shí)間越短,越有
7、利于提高時(shí)鐘的運(yùn)行精確度。基準(zhǔn)時(shí)間定為0.05秒。(2) 用一個(gè)計(jì)數(shù)器對(duì)定時(shí)中斷的次數(shù)進(jìn)行計(jì)數(shù),由基準(zhǔn)時(shí)間為0.05秒知計(jì)數(shù)值為20即可實(shí)現(xiàn) “秒”定時(shí),同理進(jìn)行“分”“時(shí)”定時(shí),以及“星期”定時(shí)。5計(jì)算該部分主要是對(duì)51單片機(jī)內(nèi)部定時(shí)中斷T0的計(jì)時(shí)初值進(jìn)行計(jì)算。該單片機(jī)使用的晶振為內(nèi)部晶振,因此晶振頻率為fosc=12MHz,機(jī)器周期為Tj=12/fosc=12/12106=1us。由上面分析可知,定時(shí)時(shí)間T=50ms定時(shí)初值為X=216-T/Tj=65536-50000=15536=3CB0H6. 仿真 6.1 數(shù)碼管顯示器結(jié)構(gòu)“星期”、“小時(shí)”、“分”、“秒”顯示單元如上圖所示,上圖顯示
8、的時(shí)間為星期四的1點(diǎn)11分:43秒。對(duì)于“星期”顯示,0代表星期天,1代表星期一,2代表星期二,3代表星期三,4代表星期四,5代表星期五,6代表星期六。6.2 各按鍵分布及功能介紹按鍵功能如下:1 按鍵1是用來選定“星期”、“小時(shí)”、“分”的調(diào)整。當(dāng)不按或者按鍵次數(shù)是3的整數(shù)倍時(shí),選定“星期”狀態(tài);當(dāng)除以3余數(shù)為1次時(shí),選定“小時(shí)”狀態(tài);當(dāng)按除以3余數(shù)為2次時(shí),選定“分”狀態(tài)。2 按鍵2是對(duì)按鍵1選定的狀態(tài)進(jìn)行加一操作。3 按鍵3是對(duì)按鍵1選定的狀態(tài)進(jìn)行減一操作。4 按鍵4可以進(jìn)行整點(diǎn)調(diào)時(shí)功能,當(dāng)“秒”狀態(tài)小于等于30秒時(shí),直接對(duì)“秒”清零;當(dāng)“秒”狀態(tài)大于30秒時(shí),對(duì)“秒”清零,同時(shí)“分”加
9、一。5 按鍵5是用來復(fù)位的,當(dāng)電路發(fā)生故障時(shí),按下此鍵,可以使整個(gè)電路恢復(fù)初始設(shè)置。6.3 對(duì)“星期”的調(diào)整通過調(diào)整“星期”、“小時(shí)”和“分”的狀態(tài),得到如下仿真圖6.4 整點(diǎn)調(diào)時(shí)在16s時(shí)按下按鍵4,在運(yùn)行12s后可以得到如下結(jié)果在35s時(shí)按下按鍵4,“分”加一,“秒”清零,19s后得到如下結(jié)果:7PCB圖的設(shè)計(jì)8誤差分析使用keil軟件進(jìn)行誤差分析,使用debug進(jìn)行調(diào)試,在計(jì)時(shí)1s處設(shè)置斷點(diǎn),當(dāng)計(jì)數(shù)初值為3CB0H時(shí),計(jì)時(shí)1s和計(jì)時(shí)2s的調(diào)試結(jié)果如下:計(jì)時(shí)1s調(diào)試結(jié)果計(jì)時(shí)2s調(diào)試結(jié)果由上表可知,計(jì)時(shí)1s調(diào)試結(jié)果為t1=1.000357s,計(jì)時(shí)2s調(diào)試結(jié)果t2=2.000646,t2-t1
10、=2.000646-1.000357=1.000289s,也就是1s會(huì)有T=289us的誤差,可以通過調(diào)整計(jì)數(shù)初值來減小誤差。單片機(jī)的機(jī)器周期Tj=1us,調(diào)整量,因而計(jì)數(shù)初值應(yīng)改為3CBEH。這樣,1s的誤差就變?yōu)?us,一天的誤差為,達(dá)到了要求。9. 總結(jié)由于大三逐漸接觸專業(yè)課,但是僅僅停留在書本和考試上,而沒有達(dá)到“知行合一”的地步。通過這次課程設(shè)計(jì),使我體會(huì)到了數(shù)字電路和單片機(jī)這兩門課程的重要性和實(shí)用性。而且我不僅了解了多種仿真軟件以及他們的利弊,還對(duì)單片機(jī)的匯編語言程序進(jìn)行了復(fù)習(xí)。 硬件部分,由于先前我們都沒有操作過proteus之類的軟件,所以一切從零開始,針對(duì)這次課程設(shè)計(jì)需要,查
11、詢了可以用于硬件仿真的軟件,有Multisim和proteus。由于Multisim的仿真性能很差,無法仿真單片機(jī),因而選擇preteus。然后通過各種渠道學(xué)習(xí)了proteus軟件的基本操作、原理圖的繪制修改、原件的封裝以及原件集成庫(kù)的創(chuàng)建。流程很簡(jiǎn)潔,過程很糾結(jié)。我們一步一個(gè)腳印地制作著,生怕哪個(gè)步驟出錯(cuò)而導(dǎo)致前功盡廢。軟件部分,由于學(xué)習(xí)過單片機(jī)這門課程,對(duì)匯編語言還是比較熟悉,但是過去編輯的程序很短,屬于功能比較單一的程序。而這次課程設(shè)計(jì)的程序相對(duì)比較龐大,是一個(gè)艱巨的挑戰(zhàn)。通過回顧51單片機(jī)的中斷和定時(shí)器/計(jì)數(shù)器部分,將程序?qū)懗鰜砹?。然后就是使用keil軟件進(jìn)行調(diào)試,修改。最終得到了正確
12、的程序,本報(bào)告的程序絕對(duì)原創(chuàng)。感謝任老師的悉心指導(dǎo),感謝學(xué)院給我們這次機(jī)會(huì)來做到“知行合一”。10參考文獻(xiàn)1單片機(jī)原理與應(yīng)用 宗成閣 編著2 單片機(jī)應(yīng)用與仿真調(diào)試 嚴(yán)天峰 編著3模擬電子技術(shù)(第三版) 胡宴如 耿蘇燕 編著4數(shù)字電子技術(shù)(第三版) 楊志忠 衛(wèi)樺林 編著11. 程序ORG 0000HLJMP STARTORG 000BHLJMP INIT0START: MOV P0,#00HMOV P2,#0FFH MOV R0,#70H;主程序開始MOV R7,#0DHINIT:MOV R0,#00HINC R0DJNZ R7,INITMOV TMOD,#01H;選擇定時(shí)器/計(jì)數(shù)器T0的方式1
13、MOV TL0,#0B0H;對(duì)低位賦初值MOV TH0,#03CH;高位賦初值SETB EA;開中斷SETB ET0SETB TR0;T0計(jì)時(shí)開始START1:LCALL SCANLCALL KEYSCANSJMP START1DL1MS:MOV R6,#64H;延時(shí)1子程序,延時(shí)0.5msDL1:MOV R7,#19HDL2:DJNZ R7,DL2DJNZ R6,DL1RETDL20MS:ACALL SCAN;延時(shí)20ms子程序ACALL SCANACALL SCANRET ;數(shù)碼管顯示程序開始 SCAN:MOV A,78HMOV B,#0AHDIV AB ;時(shí)間秒的十位送給A,時(shí)間秒的個(gè)位
14、送BMOV 71H,A;時(shí)間秒要顯示的十位MOV 70H,B;時(shí)間秒要顯示的個(gè)位MOV A,79HMOV B,#0AHDIV AB;時(shí)間分的十位送給A,時(shí)間分的個(gè)位送BMOV 73H,A;時(shí)間分要顯示的十位送地址MOV 72H,B;時(shí)間分要顯示的個(gè)位送地址MOV A,7AHMOV B,#0AHDIV AB;時(shí)間時(shí)的十位送給A,時(shí)間時(shí)的個(gè)位送BMOV 75H,A;時(shí)間時(shí)顯示的十位送地址MOV 74H,B;時(shí)間時(shí)要顯示的個(gè)位送地址MOV A,7BHMOV B,#7HDIV AB;星期幾傳給BMOV 76H,#10;連字符顯示MOV 77H,B;星期幾顯示MOV R1,#70HMOV R5,#80H
15、MOV R3,#08HSCAN1:MOV A,R5;數(shù)碼管的顯示程序CPL AMOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTR;對(duì)字段表取值顯示MOV P0,ALCALL DL1MS;延時(shí)程序INC R1MOV A,R5RR AMOV R5,ADJNZ R3,SCAN1MOV P2,#0FFHMOV P0,#00HRET ;09和-的字段表TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;定時(shí)/計(jì)數(shù)器T0中斷程序INIT0:PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0
16、HMOV TH0,#03CHSETB TR0INC 7CHMOV A,7CHCJNE A,#14H,OUTT0;50ms是否到20次,沒有到就繼續(xù)執(zhí)行50ms的延時(shí)MOV 7CH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0;一秒的延時(shí)是否計(jì)到60次,沒有就繼續(xù)執(zhí)行 MOV 78H,#00INC 79HMOV A,79HCJNE A,#3CH,OUTT0;一分的延時(shí)是否計(jì)到60次,沒有就繼續(xù)執(zhí)行 MOV 79H,#00INC 7AHMOV A,7AHCJNE A,#18H,OUTT0;60分鐘的延時(shí)是否計(jì)到24次,沒有就 MOV 7AH,#00INC 7BHMOV
17、A,7BHCJNE A,#7H,OUTT0; 24小時(shí)的延時(shí)是否計(jì)到7次,沒有就 MOV 7BH,#00HOUTT0:SETB ET0;啟動(dòng)定時(shí)器T0POP PSWPOP ACCRETI;按鍵處理程序KEYSCAN:CLR EAJNB P1.0,KEYSCAN0;P1.0有按鍵按下則跳轉(zhuǎn)到子程序JNB P1.1,KEYSCAN1;P1.1有按鍵按下則跳轉(zhuǎn)到子程序JNB P1.2,KEYSCAN2;P1.2有按鍵按下則跳轉(zhuǎn)到子程序KEYOUT:SETB EARETKEYSCAN0:LCALL DL20MS;20ms的延時(shí)消抖JB P1.0,KEYOUTWAIT0:JNB P1.0,WAIT0;判
18、斷按鍵是否松手, 松手就往下執(zhí)行程序INC 7DHMOV A,7DHMOV B,#3DIV AB MOV 38H,BSJMP KEYOUTKEYSCAN1:LCALL DL20MS;按鍵加一的程序JB P1.1,KEYOUTWAIT1:JNB P1.1,WAIT1MOV A,38HCJNE A,#00H,KSCAN11;如果功能鍵按下則對(duì)星期加一調(diào)整INC 7BH;MOV A,7BHCJNE A,#7H,KEYOUTMOV 7BH,#00SJMP KEYOUTMOV A,38HKSCAN11: CJNE A,#01H,KSCAN12;如果功能鍵按下則對(duì)時(shí)加一調(diào)整INC 7AH;MOV A,7A
19、HCJNE A,#24,KEYOUTMOV 7AH,#00SJMP KEYOUTMOV A,38HKSCAN12: INC 79H;MOV A,79HCJNE A,#60,KEYOUTMOV 79H,#00SJMP KEYOUTKEYSCAN2:LCALL DL20MS;按鍵減一的程序JB P1.2,KEYOUTWAIT2:JNB P1.2,WAIT2MOV A,38HCJNE A,#00H,KSCAN21;如果功能鍵按下則對(duì)星期減一調(diào)整DEC 7BH;MOV A,7BHCJNE A,#0FFH,KEYOUTMOV 7BH,#6SJMP KEYOUTMOV A,38HKSCAN21: CJNE
20、 A,#01H,KSCAN22;如果功能鍵按下則對(duì)時(shí)加一調(diào)整DEC 7AH;MOV A,7AHCJNE A,#0FFH,KEYOUTMOV 7AH,#23SJMP KEYOUTKSCAN22: DEC 79H;MOV A,79HCJNE A,#0FFH,L1MOV 79H,#59L1:AJMP KEYOUTKEYSCAN3: LCALL DL20MS;延時(shí)消抖程序JB P1.3,L1WAIT3:JNB P1.3,WAIT3;判斷是否放開按鍵MOV A,78HCJNE A,#1EH,KK1MOV 78H,3BH;INC 79hAJMP KEYOUTKK1:CLR 78HAJMP KEYOUTEND
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版地理七年級(jí)下冊(cè)--極地地區(qū)課件
- 備選方案與f課件
- 行程問題 順流逆流
- 班集體特色創(chuàng)建
- 發(fā)電廠的控制系統(tǒng)綜述
- 英語專業(yè)四級(jí)考試閱讀技巧新
- 小說中的環(huán)境描寫
- 典案二PPT教學(xué)案例SectionA2
- 血液透析患者動(dòng)靜脈內(nèi)瘺閉塞的原因及防護(hù)課件
- 運(yùn)動(dòng)快慢與方向的描述——速度課件
- 新概念第一冊(cè)lesson78ppt課件
- 原電池公開課修改課件
- 檢量具使用方法和注意事項(xiàng)課件
- 中考賓語從句復(fù)習(xí)PPT課件2
- 不用文字的書和信