版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 基于單片機的秒表課程設(shè)計</p><p><b> 姓名:</b></p><p><b> 班級:</b></p><p><b> 學(xué)號:</b></p><p><b> 專業(yè):</b></p><p
2、><b> 指導(dǎo)老師:</b></p><p> 年 月 日 </p><p><b> 目錄</b></p><p> 1、總體設(shè)計方案簡介</p><p><b> 1.1設(shè)計課程任務(wù)</b></p><p>&
3、lt;b> 1.2系統(tǒng)分析</b></p><p><b> 1.3系統(tǒng)方案</b></p><p><b> 1.4方案論證</b></p><p><b> 2、硬件設(shè)計</b></p><p> 2.1控制芯片的介紹</p>&l
4、t;p><b> 2.2硬件接線 </b></p><p> 2.2.1硬件接線接口</p><p> 2.2.2硬件接線圖</p><p><b> 3、軟件設(shè)計</b></p><p><b> 3.1程序設(shè)計思路</b></p><p&
5、gt;<b> 3.2流程圖</b></p><p><b> 3.3源程序</b></p><p><b> 3.4仿真結(jié)果</b></p><p><b> 4、元件清單</b></p><p><b> 5、心得體會</b&
6、gt;</p><p> 基于單片機的秒表課程設(shè)計</p><p><b> 摘要</b></p><p> 本設(shè)計的成品是在單片機最小系統(tǒng)的基礎(chǔ)上增加顯示電路和控制電路來完成數(shù)字式秒表的硬件電路的。電子秒表電路主要由AT89S51單片機最小系統(tǒng)電路、七段數(shù)碼管動態(tài)顯示電路和控制電路組成,它能實現(xiàn)八段數(shù)碼顯示和計時,能通過控制電路控制時間
7、的暫停和開始。</p><p> 關(guān)鍵字:AT89S51 數(shù)碼管 最小系統(tǒng)</p><p><b> 1總體設(shè)計方案簡介</b></p><p><b> 1.1設(shè)計課題任務(wù)</b></p><p> 設(shè)計一個具有特定功能的數(shù)字式秒表。用AT89C52設(shè)計一個2位LED數(shù)碼顯示“秒表”,顯示
8、時間為00-59,另設(shè)計一個“開始”按鈕和一個“復(fù)位”按鈕。按鍵說明:按“開始”按鍵,開始計數(shù),數(shù)碼管從00開始每秒自動加一;按“復(fù)位”按鍵,系統(tǒng)清零,數(shù)碼管顯示00。</p><p><b> 1.2系統(tǒng)分析</b></p><p> 設(shè)計的電路主要是能多次計時,計時的多少通過顯示電路出來,設(shè)計框圖如圖所示;</p><p><b&
9、gt; 1.3系統(tǒng)方案</b></p><p> 利用AT89C52單片機設(shè)計數(shù)顯定時器。此方案采用AT89C52單片機系統(tǒng)來實現(xiàn)。AT89C52芯片內(nèi)含8KB的EEPROM,不需要外擴展存儲器,可是系統(tǒng)整體結(jié)構(gòu)更為簡單。設(shè)計框圖如圖所示;</p><p><b> 1.4方案論證</b></p><p> 此方案是以AT8
10、9C52芯片為中心控制系統(tǒng),可實現(xiàn)計時、清零等功能,大大提高了系統(tǒng)的智能化,也是的系統(tǒng)所測結(jié)果精度大大提高。所以此方案可行。</p><p><b> 2硬件設(shè)計</b></p><p> 2.1控制芯片的介紹</p><p> AT89S52是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器,的8位CMOS微控制器,使用高密
11、度、非易失存儲技術(shù)制造,并與80S52引腳和指令系統(tǒng)完全兼容。</p><p><b> 主要性能:</b></p><p> 與MCS-51微控制器 產(chǎn)品系列兼容。</p><p> 片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫存儲器</p><p> 存儲數(shù)據(jù)保存時間為10年</p><p>
12、 寬工作電壓范圍:VCC可為2.7V到6V</p><p> 全靜態(tài)工作:可從0Hz至16MHz</p><p> 程序存儲器具有3級加密保護</p><p> 128*8位內(nèi)部RAB</p><p> 32條可編程I/O線</p><p> 兩個16位定時器/計數(shù)器</p><p>
13、; 中斷結(jié)構(gòu)具有5個中斷源和2個優(yōu)先級</p><p><b> 可編程全雙串行通道</b></p><p> 空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容</p><p><b> 2.2硬件接線</b></p><p> 2.2.1硬件接線端口</p><p>
14、時鐘引腳:XTAL1和XTAL2與內(nèi)部的反相放大器構(gòu)成一個振蕩器,它提供單片機的時鐘控制信號。</p><p> RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> P2口:P2.6和P2.7端口分別控制數(shù)碼管的十位和個位供電,當相應(yīng)的端口變成低電平時,驅(qū)動相應(yīng)的三極管會導(dǎo)通,+5V通過三極管給數(shù)碼管相應(yīng)的位供電,這是只要PO口送出數(shù)字的顯
15、示代碼,數(shù)碼管就能正常顯示數(shù)字。</p><p> PO口:PO.O-PO.6端口用排線連接到數(shù)碼管顯示模塊區(qū)域中的A-G端口上;PO.O對應(yīng)著A,......,PO.6對應(yīng)著G。P0.7接高電平。</p><p> P1.0接“開始”按鍵</p><p> 2.2.2硬件接線圖(見附錄圖)</p><p><b> 3軟件
16、設(shè)計</b></p><p><b> 3.1程序設(shè)計思路</b></p><p> 在硬件的基礎(chǔ)上,可以通過軟件完成數(shù)字式秒表的設(shè)計。我先用了矩陣鍵盤上的任意兩個獨立按鍵作為控制鍵。用一個鍵去控制計時的開始;用一個鍵做計時的清零按鍵。用按鍵掃描的方式判斷按鍵是否按下。用動態(tài)顯示的方法掃描秒表的計數(shù),顯示所記下的數(shù)。用中斷的方法來進行計時加1,每10m
17、s中斷一次進行重新賦值并加1,當10ms單元達到10,就令該單元賦0,并讓100ms單元加1,以此類推。</p><p><b> 3.2流程圖</b></p><p> 1主程序流程圖 </p><p><b> 3.3源程序</b></p><p>
18、FIRST EQU P2.7 ;第一位數(shù)碼管的位控制</p><p> SECOND EQU P2.6 ;第二位數(shù)碼管的位控制</p><p> SEC EQU 00H ;1S到的標記</p><p> UALUE EQU 21H ;秒計數(shù)器</p&g
19、t;<p> COUNT EQU 22H ;軟件計數(shù)器</p><p> DISPBUF1 EQU 5EH ;5EH是顯示緩沖區(qū)</p><p> DISPBUF2 EQU 5FH ;5EF是顯示緩沖區(qū)</p><p> HIDDEN EQU 10 ;消
20、隱碼在字型碼表的第10位</p><p> ORG 0000H</p><p> LJMP START1</p><p><b> ORG 000BH</b></p><p> LJMP INT_T0</p><p><b> ORG 0100H</b></
21、p><p> START1:JB P1.0,START1</p><p> LJMP START</p><p> START:MOV SP,#5FH ;設(shè)置堆棧指針初值</p><p> MOV VALUE,#0 ;秒計數(shù)器</p><p> M
22、OV COUNT,#0 ;軟件計數(shù)器</p><p> MOV DISPBUF1,#0 ;顯示緩沖區(qū) 填充0</p><p> MOV DISPBUF2,#0 ; 顯示緩沖區(qū) 填充0</p><p> MOV TMOD,#01H</p><p>
23、 MOV TH0,#0ECH ;取60536的高8位,60536=65536-10000*6/12定時器初值,定時時間10ms</p><p> MOV TL0,#98H ; 取60536的高8位,60536=65536-10000*6/12定時器初值,定時時間10ms</p><p> SETB ET0
24、 ;開T0中斷</p><p> SETB TR0 ;定時器T0開始運行</p><p><b> CLR SEC</b></p><p> SETB EA ;開總中斷</p><p> LOOP:JBC SEC,NEX
25、T ;1s到,消除1s到的標記</p><p> LCALL DISP ;1s未到,調(diào)用顯示程序</p><p> SJMP LOOP ;繼續(xù)循環(huán)</p><p> NEXT:MOV A,VALVE ;獲得秒的
26、數(shù)值</p><p><b> MOV B,#10</b></p><p> DIV AB ;二進制轉(zhuǎn)化為十進制,十位和個位分別送顯示緩沖區(qū)</p><p> JZ NEXT1 ;如果A中值是0,高位0消隱</p><
27、p> SJMP NEXT2 ;否則直接送去顯示</p><p> NEXT1:MOV A,#HIDDEN</p><p> NEXT2:MOV DISPBUF1,A</p><p> MOV DISPBUF2,B ;個位送顯示緩沖區(qū)</p><p>
28、LCALL DISP</p><p> LJMP LOOP ;主程序到此結(jié)束</p><p> DISP: : 顯示子程序</p><p> PUSH ACC ;ACC入棧</p><p> PUSH PSW
29、 ;PSW入棧</p><p> MOV A,DISPBUF1 ;取第一個帶顯示數(shù)</p><p> MOV DPTR,#DISPTAB ;字型表首地址</p><p> MOVC A,@A+DPTR ;取字形碼
30、</p><p> MOV P0,A ;將字型碼送P0位</p><p> CLR FIRST ;開第一位顯示器口</p><p> LCALL DELAY ;延時5MS</p><p>
31、; SETB FIRST ;關(guān)閉第一位顯示器(開始準備第二位的數(shù)字)</p><p> MOV A,DISPBUF2 ;去顯示緩沖區(qū)的第二位</p><p> MOV DPTR,#DISPTAB</p><p> MOVC A,@A+DPTR</p>&l
32、t;p> MOV P0,A ;將第二個字型碼送P0口</p><p> CLR SECOND ;開第二位顯示器</p><p> LCALL DELAY ;延時</p><p> SETB SECOND
33、 ;關(guān)第二位顯示器</p><p><b> POP PSW</b></p><p><b> POP ACC</b></p><p> RET ;顯示程序結(jié)束</p><p> DELAY:;以下是延
34、時程序</p><p> PUSH PSW ;5ms延時程序</p><p><b> SETB RSO</b></p><p> MOV R7,#50</p><p> D1: MOV R6,#50</p><p> D2: DJNZ
35、 R6,$</p><p> DJNZ R7,D1</p><p><b> POP PSW</b></p><p><b> RET</b></p><p> DISPTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
36、</p><p> ;顯示字型表,最后一個OFFH是消隱碼,它是表中的第11位元素</p><p> INT_T0: ;定時中斷處理</p><p><b> PUSH ACC</b></p><p> PUSH PSW ;中斷保護</p>
37、<p> MOV TH0,#OECH</p><p> MOV TLH,#98H ;定時計數(shù)器重置初值</p><p> INC COUNT ;軟件計數(shù)器加一</p><p> MOV A,COUNT</p><p> C
38、JNE A,#100,INT_RET</p><p> MOV COUNT,#0 ;計到100,軟件計數(shù)器清零</p><p> SETB SEC ;將秒標志置位一</p><p> INC VALVE ;秒的值加
39、一</p><p> MOV A,VALVE</p><p> CJNE A,#60,INT_RET</p><p> MOV VALVE,#0</p><p> INT_RET: POP PSW</p><p><b> POP ACC</b></p><p&g
40、t;<b> RETI</b></p><p><b> END</b></p><p><b> 4元件清單</b></p><p><b> 5心得體會</b></p><p> 本文主要從硬件方面說明設(shè)計的總體思路和設(shè)計的實現(xiàn)過程,預(yù)期的設(shè)
41、計目的是:能夠?qū)崿F(xiàn)秒表的基本功能,正常顯示計數(shù)。</p><p> 在設(shè)計中有好多問題都是因為理論知識不扎實,在有些管腳的置零和置一上概念模糊,這讓我知道自己的理論知識學(xué)習(xí)的不夠扎實,同時我明白要把所學(xué)的理論轉(zhuǎn)化為實踐需要一段努力學(xué)習(xí)的過程。</p><p> 最近幾年,科學(xué)發(fā)展很快,通過本次課程設(shè)計讓我有了更深的認識,只有在設(shè)計制作的過程中不斷的學(xué)習(xí)才能有更新的進步,不論我們在什么地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的秒表課程設(shè)計
- 單片機秒表課程設(shè)計
- 單片機秒表課程設(shè)計
- 單片機秒表課程設(shè)計
- 課程設(shè)計--基于單片機的(秒表)設(shè)計
- 單片機課程設(shè)計---秒表
- 單片機秒表課程設(shè)計
- 秒表(單片機課程設(shè)計)
- 單片機課程設(shè)計--基于單片機的秒表系統(tǒng)設(shè)計
- 單片機課程設(shè)計-基于單片機的數(shù)字秒表的設(shè)計
- 單片機秒表單片機課程設(shè)計
- 單片機秒表系統(tǒng)設(shè)計課程設(shè)計--基于8051的單片機秒表系統(tǒng)設(shè)計
- 單片機課程設(shè)計---秒表設(shè)計
- 基于單片機的秒表課程設(shè)計 (2)
- 單片機秒表的課程設(shè)計
- 單片機數(shù)字秒表課程設(shè)計
- 單片機課程設(shè)計-數(shù)字秒表
- 單片機課程設(shè)計-數(shù)字秒表
- 單片機課程設(shè)計報告---單片機秒表系統(tǒng)設(shè)計
- 單片機的數(shù)字秒表課程設(shè)計
評論
0/150
提交評論