版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機(jī)的秒表課程設(shè)計(jì)</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è)計(jì)方案簡介</p><p><b> 1.1設(shè)計(jì)課程任務(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è)計(jì)</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è)計(jì)</b></p><p><b> 3.1程序設(shè)計(jì)思路</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> 基于單片機(jī)的秒表課程設(shè)計(jì)</p><p><b> 摘要</b></p><p> 本設(shè)計(jì)的成品是在單片機(jī)最小系統(tǒng)的基礎(chǔ)上增加顯示電路和控制電路來完成數(shù)字式秒表的硬件電路的。電子秒表電路主要由AT89S51單片機(jī)最小系統(tǒng)電路、七段數(shù)碼管動態(tài)顯示電路和控制電路組成,它能實(shí)現(xiàn)八段數(shù)碼顯示和計(jì)時(shí),能通過控制電路控制時(shí)間
7、的暫停和開始。</p><p> 關(guān)鍵字:AT89S51 數(shù)碼管 最小系統(tǒng)</p><p><b> 1總體設(shè)計(jì)方案簡介</b></p><p><b> 1.1設(shè)計(jì)課題任務(wù)</b></p><p> 設(shè)計(jì)一個(gè)具有特定功能的數(shù)字式秒表。用AT89C52設(shè)計(jì)一個(gè)2位LED數(shù)碼顯示“秒表”,顯示
8、時(shí)間為00-59,另設(shè)計(jì)一個(gè)“開始”按鈕和一個(gè)“復(fù)位”按鈕。按鍵說明:按“開始”按鍵,開始計(jì)數(shù),數(shù)碼管從00開始每秒自動加一;按“復(fù)位”按鍵,系統(tǒng)清零,數(shù)碼管顯示00。</p><p><b> 1.2系統(tǒng)分析</b></p><p> 設(shè)計(jì)的電路主要是能多次計(jì)時(shí),計(jì)時(shí)的多少通過顯示電路出來,設(shè)計(jì)框圖如圖所示;</p><p><b&
9、gt; 1.3系統(tǒng)方案</b></p><p> 利用AT89C52單片機(jī)設(shè)計(jì)數(shù)顯定時(shí)器。此方案采用AT89C52單片機(jī)系統(tǒng)來實(shí)現(xiàn)。AT89C52芯片內(nèi)含8KB的EEPROM,不需要外擴(kuò)展存儲器,可是系統(tǒng)整體結(jié)構(gòu)更為簡單。設(shè)計(jì)框圖如圖所示;</p><p><b> 1.4方案論證</b></p><p> 此方案是以AT8
10、9C52芯片為中心控制系統(tǒng),可實(shí)現(xiàn)計(jì)時(shí)、清零等功能,大大提高了系統(tǒng)的智能化,也是的系統(tǒng)所測結(jié)果精度大大提高。所以此方案可行。</p><p><b> 2硬件設(shè)計(jì)</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ù)保存時(shí)間為10年</p><p>
12、 寬工作電壓范圍:VCC可為2.7V到6V</p><p> 全靜態(tài)工作:可從0Hz至16MHz</p><p> 程序存儲器具有3級加密保護(hù)</p><p> 128*8位內(nèi)部RAB</p><p> 32條可編程I/O線</p><p> 兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p>
13、; 中斷結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)優(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、時(shí)鐘引腳:XTAL1和XTAL2與內(nèi)部的反相放大器構(gòu)成一個(gè)振蕩器,它提供單片機(jī)的時(shí)鐘控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> P2口:P2.6和P2.7端口分別控制數(shù)碼管的十位和個(gè)位供電,當(dāng)相應(yīng)的端口變成低電平時(shí),驅(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è)計(jì)</b></p><p><b> 3.1程序設(shè)計(jì)思路</b></p><p> 在硬件的基礎(chǔ)上,可以通過軟件完成數(shù)字式秒表的設(shè)計(jì)。我先用了矩陣鍵盤上的任意兩個(gè)獨(dú)立按鍵作為控制鍵。用一個(gè)鍵去控制計(jì)時(shí)的開始;用一個(gè)鍵做計(jì)時(shí)的清零按鍵。用按鍵掃描的方式判斷按鍵是否按下。用動態(tài)顯示的方法掃描秒表的計(jì)數(shù),顯示所記下的數(shù)。用中斷的方法來進(jìn)行計(jì)時(shí)加1,每10m
17、s中斷一次進(jìn)行重新賦值并加1,當(dāng)10ms單元達(dá)到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到的標(biāo)記</p><p> UALUE EQU 21H ;秒計(jì)數(shù)器</p&g
19、t;<p> COUNT EQU 22H ;軟件計(jì)數(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 ;秒計(jì)數(shù)器</p><p> M
22、OV COUNT,#0 ;軟件計(jì)數(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定時(shí)器初值,定時(shí)時(shí)間10ms</p><p> MOV TL0,#98H ; 取60536的高8位,60536=65536-10000*6/12定時(shí)器初值,定時(shí)時(shí)間10ms</p><p> SETB ET0
24、 ;開T0中斷</p><p> SETB TR0 ;定時(shí)器T0開始運(yùn)行</p><p><b> CLR SEC</b></p><p> SETB EA ;開總中斷</p><p> LOOP:JBC SEC,NEX
25、T ;1s到,消除1s到的標(biāo)記</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 ;二進(jìn)制轉(zhuǎn)化為十進(jìn)制,十位和個(gè)位分別送顯示緩沖區(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 ;個(gè)位送顯示緩沖區(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 ;取第一個(gè)帶顯示數(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 ;延時(shí)5MS</p><p>
31、; SETB FIRST ;關(guān)閉第一位顯示器(開始準(zhǔ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 ;將第二個(gè)字型碼送P0口</p><p> CLR SECOND ;開第二位顯示器</p><p> LCALL DELAY ;延時(shí)</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、時(shí)程序</p><p> PUSH PSW ;5ms延時(shí)程序</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> ;顯示字型表,最后一個(gè)OFFH是消隱碼,它是表中的第11位元素</p><p> INT_T0: ;定時(shí)中斷處理</p><p><b> PUSH ACC</b></p><p> PUSH PSW ;中斷保護(hù)</p>
37、<p> MOV TH0,#OECH</p><p> MOV TLH,#98H ;定時(shí)計(jì)數(shù)器重置初值</p><p> INC COUNT ;軟件計(jì)數(shù)器加一</p><p> MOV A,COUNT</p><p> C
38、JNE A,#100,INT_RET</p><p> MOV COUNT,#0 ;計(jì)到100,軟件計(jì)數(shù)器清零</p><p> SETB SEC ;將秒標(biāo)志置位一</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è)計(jì)的總體思路和設(shè)計(jì)的實(shí)現(xiàn)過程,預(yù)期的設(shè)
41、計(jì)目的是:能夠?qū)崿F(xiàn)秒表的基本功能,正常顯示計(jì)數(shù)。</p><p> 在設(shè)計(jì)中有好多問題都是因?yàn)槔碚撝R不扎實(shí),在有些管腳的置零和置一上概念模糊,這讓我知道自己的理論知識學(xué)習(xí)的不夠扎實(shí),同時(shí)我明白要把所學(xué)的理論轉(zhuǎn)化為實(shí)踐需要一段努力學(xué)習(xí)的過程。</p><p> 最近幾年,科學(xué)發(fā)展很快,通過本次課程設(shè)計(jì)讓我有了更深的認(rèn)識,只有在設(shè)計(jì)制作的過程中不斷的學(xué)習(xí)才能有更新的進(jìn)步,不論我們在什么地
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的秒表課程設(shè)計(jì)
- 單片機(jī)秒表課程設(shè)計(jì)
- 單片機(jī)秒表課程設(shè)計(jì)
- 單片機(jī)秒表課程設(shè)計(jì)
- 課程設(shè)計(jì)--基于單片機(jī)的(秒表)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---秒表
- 單片機(jī)秒表課程設(shè)計(jì)
- 秒表(單片機(jī)課程設(shè)計(jì))
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的秒表系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-基于單片機(jī)的數(shù)字秒表的設(shè)計(jì)
- 單片機(jī)秒表單片機(jī)課程設(shè)計(jì)
- 單片機(jī)秒表系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)--基于8051的單片機(jī)秒表系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---秒表設(shè)計(jì)
- 基于單片機(jī)的秒表課程設(shè)計(jì) (2)
- 單片機(jī)秒表的課程設(shè)計(jì)
- 單片機(jī)數(shù)字秒表課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字秒表
- 單片機(jī)課程設(shè)計(jì)-數(shù)字秒表
- 單片機(jī)課程設(shè)計(jì)報(bào)告---單片機(jī)秒表系統(tǒng)設(shè)計(jì)
- 單片機(jī)的數(shù)字秒表課程設(shè)計(jì)
評論
0/150
提交評論