版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計</b></p><p> 課 程:單片機原理及應用 </p><p> 題 目:基于單片機的長定時器設計(0-9h)</p><p> 專業(yè)班級: 通信工程1003班 </p><p><b> 目錄&
2、lt;/b></p><p><b> 第1章 緒論2</b></p><p> 第2章 設計內(nèi)容3</p><p> 第3章 MCS-51單片機系統(tǒng)簡介4</p><p> 第4章 課程設計原理6</p><p> 第5章 課程設計代碼8</p><
3、p> 第6章 仿真與編譯16</p><p> 第7章 設計總結18</p><p><b> 參考文獻:20</b></p><p><b> 附錄:20</b></p><p> 基于LED的數(shù)字時鐘設計</p><p> 摘要:近年來隨著計算機
4、在社會領域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此特別適合于與控制有關的系統(tǒng),越來越廣泛地應用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。</p><p> 關鍵字 : 單片機 時鐘設計
5、MC51</p><p><b> 第1章 緒論</b></p><p> 單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、 發(fā)展很快、單片機體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點,在我國,單片機已廣泛地應用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、
6、電力電子、機電一體化設備等各個方面,而51單片機是各單片機中最為典型和最有代表性的一種。這次課程設計通過對它的學習、應用,以AT89C51芯片為核心,加以輔助電路,設計了一個簡易的長定時器,它是在設計數(shù)字時鐘的基礎上,由直流電源供電,通過數(shù)碼管能夠準確顯示時間。</p><p> 數(shù)字時鐘是現(xiàn)代社會應用廣泛的計時工具,在航天、電子等科研單位,工廠、醫(yī)院、學校等企事業(yè)單位,各種體育賽事及我們每個人的日常生活中都發(fā)
7、揮著重要的作用。本系統(tǒng)是基于AT89C51單片機設計的一個具有四位數(shù)碼管顯示的數(shù)字時實時鐘,該系統(tǒng)同時具有硬件設計簡單、工作穩(wěn)定性高、價格低廉等優(yōu)點。數(shù)字單片機的技術進步反映在內(nèi)部結構、功率消耗、外部電壓等級以及制造工藝上。在這幾方面,較為典型地說明了數(shù)字單片機的水平。在目前,用戶對單片機的需要越來越多,但是,要求也越來越高。下面分別就這幾個方面說明單片機的技術進步狀況。</p><p><b> 第
8、2章 設計內(nèi)容 </b></p><p> 利用單片機的定時/計數(shù)器,中斷系統(tǒng),以及鍵盤和LED顯示器進行設計。在數(shù)碼管顯示器上實現(xiàn)電子時鐘,顯示格式為00-00-00,實現(xiàn)從0-9h的長時間定時,并且能進行設置時間和整點提示、提示功能使能控制。</p><p> 第3章 MCS-51單片機系統(tǒng)簡介</p><p> MCS51是指由美國INTEL
9、公司(對了,就是大名鼎鼎的INTEL)生產(chǎn)的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的基礎上進行功能的增、減、改變而來的,所以人們習慣于用8051來稱呼MCS51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場合會看到8031的名稱。INTEL公司將MCS51的核心技術授權給了很多其它公司
10、,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求,其中89C51就是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開發(fā)生產(chǎn)的。以后我們將用89C51、89S51來完成一系列的實驗。</p><p> MCS-51系列單片機</p><p> MCS-51系列單片機分為兩大系列,即51子系列與52子系列。</p><p
11、> 51子系列:基本型,根據(jù)片內(nèi)ROM的配置,對應的芯片為8031、8051、8751、8951</p><p> 52子系列:增強型,根據(jù)片內(nèi)ROM的配置,對應的芯片為8032、8052、8752、8952</p><p> 這兩大系列單片機的主要硬件特性如下表:</p><p> 上表中可以看到,8031、8031、8032、80C32片內(nèi)是沒有R
12、OM的,對應著上表看,我們可以發(fā)現(xiàn),51系列的單片機的RAM大小為128B,52系列的RAM大小為256B,51系列的計數(shù)器為兩個16位的,52系列的計數(shù)器為三個16位計數(shù)器。51系列的中斷源為5個,52系列的中斷源為6個。</p><p> MCS-51單片機內(nèi)部定時器/計數(shù)器中 斷系統(tǒng)簡介</p><p> 5個中斷源的符號、名稱及產(chǎn)生的條件如下。INT0:外部中斷0,由P3
13、.2端口線引入,低電平或下跳沿引起。INT1:外部中斷1,由P3.3端口線引入,低電平或下跳沿引起。T0:定時器/計數(shù)器0中斷,由T0計滿回零引起。T1:定時器/計數(shù)器l中斷,由T1計滿回零引起。TI/RI:串行I/O中斷,串行端口完成一幀字符發(fā)送/接收后引起。</p><p> ?MCS-51單片機中斷系統(tǒng)的結構</p><p> 第4章 課程設計原理 </
14、p><p> 單片機控制的數(shù)字鐘的硬件結構與軟件設計,給出了匯編語言源程序。此數(shù)字鐘是一個將“時”、“分”、“秒”顯示于人的視覺器官的計時裝置。顯示器件選用LED七段數(shù)碼管。在顯示電路輸出的驅動下,顯示出清晰、直觀的數(shù)字符號。針對數(shù)字鐘會產(chǎn)生走時誤差的現(xiàn)象,在電路中就設計有有校準時間功能的電路。使用動態(tài)數(shù)碼顯示的方法,運用獨立式按鍵識別過程,按“時”,“分”,“秒”數(shù)據(jù)送出顯示處理方法,另外時鐘還設置專門的針對于整
15、點報時的按鍵,以時鐘個位變化為標志當前后兩位的值不相等時將蜂鳴器置高電平時蜂鳴器響。</p><p> 具體硬件整體框圖如下:</p><p> 4.1 數(shù)值時鐘整體框圖</p><p><b> 軟件設計框圖如下:</b></p><p> 4.2 軟件簡單流程圖</p><p>
16、 第5章 課程設計代碼</p><p> ; 簡要說明:實現(xiàn)24小時制電子鐘,6位數(shù)碼管顯示,顯示時分秒</p><p> ; 顯示格式:00-00-00</p><p> ; P0口輸出段選信號,P2口輸出位選信號,到整點進行提示提示時間為30s</p><p> ; P1.0為調時按鈕,P1.1為調分按鈕;P1.3
17、為秒復位 晶振12M</p><p> ORG 0000H ;程序入口地址</p><p> LJMP START</p><p> ORG 000BH ;定時器0中斷入口地址</p><p> LJMP TIMER_0</p><p> K1 BIT P3.7 ;定義調時按鍵</p&g
18、t;<p> K2 BIT P3.6 ;定義調分按鍵</p><p> K3 BIT P3.5 ;秒清零</p><p> K4 BIT P3.4 ;停止蜂鳴器</p><p> FLAG BIT 37H ;蜂鳴器響標志位1為蜂鳴器沒有叫,0代表蜂鳴器正在叫</p><p> MODE BIT 38H ;
19、報時使能位1為能夠報時0為否</p><p> FLAG1 BIT 38H</p><p><b> START: </b></p><p> MOV TMOD,#01H ;定時器0,工作模式1</p><p> MOV TH0,#03CH</p><p> MOV TL0,#0B0H
20、 ;賦初值,定時50ms</p><p> SETB EA ;開中斷總開關</p><p> SETB TR0 ;開啟定時器0</p><p> SETB ET0 ;定時器0中斷允許位</p><p> MOV R6,#0 ;用于控制走時的基準時鐘源,計中斷次數(shù)</p><p> MOV
21、R5,#0 ;R5用于控制掃描按鍵的時間間隔</p><p> MOV 20H,#0 ;秒個位寄存器清零</p><p> MOV 21H,#0 ;秒十位寄存器清零</p><p> MOV 22H,#0 ;分個位寄存器清零</p><p> MOV 23H,#0 ;分十位寄存器清零</p><
22、p> MOV 24H,#0 ;時個位寄存器清零</p><p> MOV 25H,#0 ;時十位寄存器清零</p><p> CLR P0.0 ;將蜂鳴器置0停止</p><p> SETB FLAG ;將蜂鳴器響清零</p><p> SETB MODE ;默認置為能夠報時</p>
23、<p> MOV 30H,24H</p><p> MOV 31H,30H</p><p> LJMP DISPLAY</p><p><b> TIMER_0: </b></p><p><b> CLR EA</b></p><p><b>
24、 INC R6</b></p><p><b> ADD_TIME:</b></p><p> CJNE R6,#20,NEXT ;定時器中斷20次,1秒到</p><p><b> MOV R6,#0</b></p><p> INC 20H </p>
25、;<p> MOV A,20H </p><p> CJNE A,#10,NEXT ;如果秒個位等于10,清零</p><p> MOV 20H,#00H </p><p> INC 21H </p><p> MOV A,21H </p><p> CJNE
26、 A,#6,NEXT ;如果秒十位等于6,清零</p><p> MOV 21H,#00H </p><p> INC 22H </p><p><b> NEXT:</b></p><p> MOV TH0,#03CH</p><p> MOV TL0,#0B0H ;重新賦初
27、值,定時50ms</p><p> SETB EA</p><p><b> RETI</b></p><p><b> DISPLAY:</b></p><p> LCALL TIME</p><p><b> INC R5</b>&l
28、t;/p><p> MOV DPTR,#TABLE</p><p><b> MOV A,20H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P1,A</b></p><p><b> CLR P2.0</b
29、></p><p> LCALL DELAY</p><p> SETB P2.0 ;顯示秒個位</p><p><b> MOV A,21H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P1,A</b><
30、;/p><p><b> CLR P2.1</b></p><p> LCALL DELAY</p><p> SETB P2.1 ;顯示秒十位</p><p> MOV DPTR,#TABLE</p><p><b> MOV A,22H</b></p>
31、;<p> MOVC A,@A+DPTR</p><p><b> MOV P1,A</b></p><p><b> CLR P2.3</b></p><p> LCALL DELAY</p><p> SETB P2.3 ;顯示分個位</p><p&
32、gt; MOV DPTR,#TABLE</p><p><b> MOV A,23H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P1,A</b></p><p><b> CLR P2.4</b></p>
33、<p> LCALL DELAY</p><p> SETB P2.4 ;顯示分十位</p><p> MOV P1,#0BFH</p><p><b> CLR P2.2</b></p><p> LCALL DELAY</p><p><b> SETB P
34、2.2</b></p><p> MOV P1,#0BFH</p><p><b> CLR P2.5</b></p><p> LCALL DELAY</p><p> SETB P2.5 </p><p> MOV DPTR,#TABLE</p><p
35、><b> MOV A,24H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P1,A</b></p><p><b> CLR P2.6</b></p><p> LCALL DELAY</p><
36、;p> SETB P2.6 ;顯示時個位</p><p> MOV DPTR,#TABLE ;該位使用TABLE1以消除前置0</p><p><b> MOV A,25H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P1,A</b>
37、</p><p><b> CLR P2.7</b></p><p> LCALL DELAY</p><p> SETB P2.7 ;顯示時十位</p><p><b> MOV A,31H</b></p><p> CJNE A,30H,CONTINUE&l
38、t;/p><p> JNB FLAG,COMPARE;如果蜂鳴器正在響則比較</p><p><b> PTF:</b></p><p> CJNE R5,#80,DISPLAY ;當R5到4時,掃描按鍵</p><p><b> MOV R5,#0</b></p><p&g
39、t; LJMP KEY_SCAN</p><p><b> COMPARE:</b></p><p><b> MOV A,20H</b></p><p> SUBB A,33H</p><p> JZ CONTINUE1</p><p> MOV 33H,20
40、H</p><p><b> CPL P0.0</b></p><p> CONTINUE1:</p><p><b> MOV A,21H</b></p><p> SUBB A,32H</p><p> CJNE A,#3,PTF</p><
41、p><b> SETB FLAG</b></p><p><b> CLR P0.0</b></p><p><b> LJMP PTF</b></p><p><b> CONTINUE:</b></p><p> JNB MODE,NR
42、S</p><p> MOV 31H,30H</p><p> MOV 33H,20H</p><p><b> SETB P0.0</b></p><p> SETB FLAG1</p><p> CLR FLAG ;設置標志位為0</p><p> MOV
43、32H,21H</p><p><b> NRS:</b></p><p> CJNE R5,#80,EXIT0 ;當R5到4時,掃描按鍵</p><p><b> MOV R5,#0</b></p><p><b> KEY_SCAN:</b></p>
44、<p> JNB K1,ADD_HOUR</p><p> JNB K2,ADD_MIN</p><p> JNB K3,CLEAR</p><p> JNB K4,STOP</p><p> LJMP DISPLAY ;無鍵按下,跳至走時</p><p><b> EXIT0:<
45、;/b></p><p> LJMP DISPLAY</p><p><b> ADD_HOUR:</b></p><p> INC 24H ;小時加1</p><p> LJMP DISPLAY ;更新</p><p><b> ADD_MIN:</b&g
46、t;</p><p> INC 22H ;分鐘加1</p><p> LJMP DISPLAY ;更新</p><p> CLEAR: ;秒清零</p><p> MOV 20H,#00H</p><p> MOV 21H,#00H</p><p> LJMP DISPL
47、AY</p><p><b> STOP:</b></p><p> JB FLAG,OFF</p><p><b> CLR P0.0;</b></p><p> SETB FLAG;</p><p> LJMP DISPLAY</p><p&
48、gt;<b> OFF:</b></p><p> JNB MODE,OPEN</p><p> CLR MODE ;清除報時控制位</p><p> MOV R0,#0EFH</p><p><b> LOOP1:</b></p><p> MOV R1,#0
49、3H</p><p><b> LOOP11:</b></p><p> MOV P1,#0C0H</p><p><b> CLR P2.5</b></p><p> LCALL DELAY</p><p><b> SETB P2.5</b>
50、;</p><p> MOV P1,#8EH</p><p><b> CLR P2.4</b></p><p> LCALL DELAY</p><p> MOV P1,#8EH</p><p><b> SETB P2.4</b></p><
51、p><b> CLR P2.3</b></p><p> LCALL DELAY</p><p><b> SETB P2.3</b></p><p> DJNZ R1,LOOP11</p><p> DJNZ R0,LOOP1</p><p> LJMP
52、DISPLAY</p><p><b> OPEN:</b></p><p><b> SETB MODE</b></p><p> MOV R0,#0EFH</p><p><b> LOOP2:</b></p><p> MOV R1,#0
53、3H</p><p><b> LOOP21:</b></p><p> MOV P1,#0C0H</p><p><b> CLR P2.4</b></p><p> LCALL DELAY</p><p><b> SETB P2.4</b>
54、;</p><p> MOV P1,#0C8H</p><p><b> CLR P2.3</b></p><p> LCALL DELAY</p><p><b> SETB P2.3</b></p><p> DJNZ R1,LOOP21</p>
55、<p> DJNZ R0,LOOP2</p><p> LJMP DISPLAY</p><p><b> DELAY: </b></p><p> MOV R7,#150 ;掃描延時 </p><p><b> DJNZ R7,$</b></p><p
56、><b> RET</b></p><p><b> TIME: </b></p><p><b> MIN:</b></p><p> MOV A,22H </p><p> CJNE A,#10,HOUR ;如果分個位等于10,清零</p&
57、gt;<p> MOV 22H,#00H </p><p> INC 23H </p><p> MOV A,23H </p><p> CJNE A,#6,HOUR ;如果分十位等于6,清零</p><p> MOV 23H,#00H </p><p><b
58、> INC 24H</b></p><p> MOV 30H,24H </p><p><b> HOUR:</b></p><p><b> MOV A,25H</b></p><p> CJNE A,#0,LOOP ;如果時十位等于0,檢查時個位</
59、p><p><b> MOV A,24H</b></p><p> CJNE A,#9,EXIT ;如果時個位等于9,清零</p><p> MOV 24H,#00H ;清零時個位</p><p> MOV 25H,#00H ;清零時十位 </p><p><b> LJM
60、P EXIT</b></p><p><b> LOOP:</b></p><p> MOV A,24H </p><p> CJNE A,#10,EXIT ;如果時個位等于10,清零</p><p> MOV 24H,#00H </p><p><b>
61、 INC 25H</b></p><p> LJMP EXIT </p><p><b> EXIT:</b></p><p> RET </p><p> TABLE: ;數(shù)碼管字形顯示編碼表</p><p> DB 0C0H,0F9H
62、,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;字形顯示編碼</p><p> END ;程序結束</p><p><b> 第6章 仿真與編譯</b></p><p><b> 編譯</b></p><p><b> 正常時仿真:</b&g
63、t;</p><p> 當需要關閉整點提示時顯示器顯示如下:</p><p><b> 打開時顯示如下:</b></p><p><b> 第7章 設計總結</b></p><p> 雖然課程設計內(nèi)容繁多,過程繁瑣但我的收獲卻更加豐富。通過這次對長定時器的設計,我擺脫了單純的理論知識學習狀態(tài)
64、,和實際操作的結合鍛煉了我。綜合運用了所學的專業(yè)基礎知識,解決實際使用過程中存在的問題,同時也提高我查閱文獻資料、設計規(guī)范以及電腦制圖等其他專業(yè)能力水平。通過整體的設計,局部的取舍,以及對細節(jié)的斟酌處理,都使我的能力得到了鍛煉,并且磨練了我的意志力,抗壓能力及耐力也都得到了不同程度的提升。</p><p> 通過對系統(tǒng)的分析與設計過程,我學到了許多新的知識,并且對我在這幾年所學習模電和數(shù)電方面的知識進行鞏固。本
65、次課程設計能順利如期的完成給了我很大的信心,讓我了解專業(yè)知識的同時也對本專業(yè)的發(fā)展前景充滿信心。</p><p><b> 參考文獻:</b></p><p> 張毅剛,彭喜元,彭宇.單片機原理及應用.2版.北京:高等教育出版社</p><p> 閻石.數(shù)字電子技術基礎.5版.北京:高等教育出版社</p><p>
66、 童詩白,華成英.模擬電子技術基礎.4版.北京:高等教育出版社</p><p><b> 附錄:</b></p><p><b> 參考元器件清單:</b></p><p> 單片機:AT89C51 1片</p><p> 74LS04非門:
67、 8片</p><p> 按鍵:BUTTON 4個</p><p> 電阻:RES 1K 若干</p><p> 電容:CAP 30pF,10uF等 若干</p><p> 8連七段LED數(shù)碼管:共陽 1個</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計--秒表定時器
- 單片機課程設計--定時器實驗
- 單片機課程設計---加熱定時器
- 單片機課程設計智能定時器
- 音樂提示定時器--單片機課程設計
- 單片機經(jīng)典數(shù)字定時器課程設計
- 使用定時器延時單片機課程設計報告
- 單片機定時器
- 電子定時器-單片機原理及應用課程設計
- 課程設計---基于定時器的單片機仿真和c語言開發(fā)
- 基于單片機匯編編程的音樂提示定時器課程設計報告
- 音樂提示定時器單片機原理與應用課程設計
- 單片機控制技術課程設計--定時器控制電路
- 單片機課程設計---基于單片機的定時控制器設計
- 單片機實驗二 定時器
- 基于單片機的音樂定時器畢業(yè)設計
- 單片機定時器的使用總結
- 基于單片機的智能定時器畢業(yè)設計
- 畢業(yè)論文 --單片機定時器設計
- 單片機課程設計--基于51單片機的定時鬧鐘設計
評論
0/150
提交評論