基于單片機的秒表課程設(shè)計_第1頁
基于單片機的秒表課程設(shè)計_第2頁
基于單片機的秒表課程設(shè)計_第3頁
基于單片機的秒表課程設(shè)計_第4頁
基于單片機的秒表課程設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的秒表課程設(shè)計 基于單片機的秒表課 程設(shè)計 姓名: 班級: 學號: 專業(yè): 指導(dǎo)老師: 目錄 1、總體設(shè)計方案簡介 1.1設(shè)計課程任務(wù) 1.2系統(tǒng)分析 1.3系統(tǒng)方案 1.4方案論證 2、硬件設(shè)計 2.1控制芯片的介紹 2.2硬件接線 2.2.1 硬件接線接口 2.2.2 硬件接線圖 3、軟件設(shè)計 3.1程序設(shè)計思路 3.2 流程圖 3.3 源程序 3.4 仿真結(jié)果 4、元件清單 5、心得體會 基于單片機的秒表課程設(shè)計 摘要 本設(shè)計的成品是在單片機最小系統(tǒng)的基礎(chǔ)上增加顯示電路和控制電路來完成 數(shù)字式秒表的硬件電路的。電子秒表電路主要由AT89S51單片 最小系統(tǒng)電路、七段數(shù)碼管動態(tài)顯

2、示電路和控制電路組成,它能實現(xiàn)八段 數(shù)碼顯 示和計時,能通過控制電路控制時間的暫停和開始。 關(guān)鍵字:AT89S51數(shù)碼管最小系統(tǒng) 1總體設(shè)計方案簡介 1.1設(shè)計課題任務(wù) 設(shè)計一個具有特定功能的數(shù)字式秒表。用AT89C52設(shè)計一個2位LED 數(shù)碼顯示“秒表”,顯示時間為00-59,另設(shè)計一個“開始“按鈕和一個位”按 鈕。按鍵說明:按“開始”按鍵,開始計數(shù),數(shù)碼管從00開始 秒自動加一;按“復(fù)位”按鍵,系統(tǒng)清零,數(shù)碼管顯示 00。 1.2系統(tǒng)分析 設(shè)計的電路主要是能多次計時,計時的多少通過顯示電路出來,設(shè) 計框圖如圖所示; 1.3系統(tǒng)方案 利用AT89C52單片機設(shè)計數(shù)顯定時器。此方案采用AT89

3、C52單片機系統(tǒng)來 實現(xiàn)。AT89C52芯片內(nèi)含8KB的EEPRO, M不需要外擴展存儲器,可是系統(tǒng)整體 結(jié)構(gòu)更為簡單。設(shè)計框圖如圖所示; 4方案論證 此方案是以AT89C52芯片為中心控制系統(tǒng),可實現(xiàn)計時、清零等功能,大 大提高了系統(tǒng)的智能化,也是的系統(tǒng)所測結(jié)果精度大大提高。所以此方案可行。 2硬件設(shè)計 2.1控制芯片的介紹 AT89S52是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只 讀存 儲器,的8位CMOS微控制器,使用高密度、非易失存儲技術(shù)制造,并與80S52 引腳和指令系統(tǒng)完全兼容 主要性能: 與MCS-51微控制器產(chǎn)品系列兼容。 片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫存儲器

4、存儲數(shù)據(jù)保存時間為10年 寬工作電壓范圍:VCC可為2. 7V到6V 全靜態(tài)工作:可從0Hz至16MHz 程序存儲器具有3級加密保護 128*8位內(nèi)部RAB 32條可編程I/O線 兩個16位定時器/計數(shù)器 中斷結(jié)構(gòu)具有5個中斷源和2個優(yōu)先級 可編程全雙串行通道 空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容 2.2硬件接線 2.2.1硬件接線端口 時鐘引腳:XTAL1和XTAL2與內(nèi)部的反相放大器構(gòu)成一個振蕩器,它提供單 片機的時鐘控制信號。 RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電 平時間。 P2 口: P2.6和P2. 7端口分別控制數(shù)碼管的十位和個位供電,當相應(yīng)的

5、端 口變成低電平時,驅(qū)動相應(yīng)的三極管會導(dǎo)通,+5V通過三極管給數(shù)碼 管相應(yīng)的位供電,這是只要P0 口送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù) 字。 P0 口: PO. 0-P0. 6端口用排線連接到數(shù)碼管顯示模塊區(qū)域中的A-G端 口上;PO.O對應(yīng)著A ? PO.6對應(yīng)著G P0.7接高電平。 P10接“開始”按鍵 2.2.2硬件接線圖(見附錄圖) 3軟件設(shè)計 3.1程序設(shè)計思路 在硬件的基礎(chǔ)上,可以通過軟件完成數(shù)字式秒表的設(shè)計。我先用 矩陣鍵盤上的任意兩個獨立按鍵作為控制鍵。用一個鍵去控制計時的開 始;用一個鍵做計時的清零按鍵。用按鍵掃描的方式判斷按鍵是否按下。 用動態(tài)顯示的方法掃描秒表的計

6、數(shù),顯示所記下的數(shù)。用中斷的方法來 進行計時加1,每10ms中斷一次進行重新賦值并加1,當10ms單元 到10,就令該單元賦0 ,并讓100ms單元加1,以此類推。 3.2流程圖 1主程序流程圖 .程序開. J 程序初 開個中 關(guān)定時器 調(diào)用顯示 3.3 COUNT EQU 22H ; 第一位數(shù)碼管的位控制第二位數(shù) 碼管的位控制到的標記 秒計數(shù)器 軟件計數(shù)器 開定時器 源程序 FIRST EQU P2. 7 ; SECOND EQU P2. 6 ; SEC EQU OOH ;1S UALUE EQU 21H ; DISPBUF1 EQU 5EH ;5EH是顯示緩沖區(qū) DISPBUF2 EQU

7、5FH ;5EF是顯示緩沖區(qū) HIDDEN EQU 10 消隱碼在字型碼表的第10位 ORG 0000H LJMP START1 ORG OOOBH LJMP INT_TO ORG 01 OOH START1:JB P1.0,START1 LJMP START START:MOV SP,#5FH 設(shè)置堆棧指針初值 MOV VALUE, #0 秒計數(shù)器 MOV COUNT, #0 軟件計數(shù)器 MOV DISPBUF1,#0 顯示緩沖區(qū)填充0 MOV DISPBUF2, #0 顯示緩沖區(qū)填充0 MOV TMOD, #01H MOVT HO,#OECH 取 60536 的高 8 位,60536=65

8、536-10000*6/12 定時器初 值,定時時間10ms MOV TLO,#98H 取 60536 的高 8 位,60536=65536-10000*6/12 定時 器初值,定時時間10ms SETB ETO 開T0中斷 SETB TRO 定時器T0開始運行 CLR SEC SETB EA開總中斷 LOOP:JBC SEC,NEXT ;1s至lj,消除1s到的標記 LCALL DISP SJMP LOOP ; NEXT:MOV A, VALVE MOV B, #10 DIV AB 顯示緩沖區(qū) JZ NEXT1 ; SJMP NEXT2 ; NEXT1:MOV A, #HIDDEN NEXT

9、2:MOV DISPBUF1, A MOV DISPBUF2,B ; LCALL DISP LJMP LOOP ; DISP:顯示子程序 PUSH ACC PUSH PSW MOV A,DISPBUF1 ; MOV DPTR,#DISPTAB MOVC A,A+DPTR ;1 s未到,調(diào)用顯ZF程序 繼續(xù)循環(huán) 獲得秒的數(shù)值 二進制轉(zhuǎn)化為十進制,十位和 如果A中值是0,高位0消 否則直接送去顯示 個位分別送 隱 MOV P0,A 個位送顯示緩沖區(qū) 主程序到此結(jié)束 ;ACC 入棧 ;PSW 入棧 取第一個帶顯示數(shù) 字型表首地址 取字形碼 將字型碼送P0位 CLR FIRST開第一位顯示器口 延時5

10、MS 尖閉第一位顯示器(開始準備第二位的 去顯示緩沖區(qū)的第二位 將第二個字型碼送P0 口 開第二位顯示器 延時 尖第二位顯示器 顯示程序結(jié)束 延時程序 LCALL DELAY SETB FIRST ;數(shù)字) MOV A,DISPBUF2 ; MOV DPTR,#DISPTAB MOVC A, A+DPTR MOV PO, A ; CLR SECOND LCALL DELAY SETB SECOND ; POP PSW POP ACC RET ; DELAY: ; 下是延時程序 PUSH PSW ;5ms SETB RSO MOV R7, #50 D1 : MOV R6, #50 D2: DJN

11、Z R6, $ DJNZ R7, D1 POP PSW RET DISPTAB: DB OCOH, 0F9H, OA4H, OBOH, 99H, 92H, 82H, 0F8H, 80H, 90H, OFFH ;顯示字型表,最后一個OFFH是消隱碼,它是表中的第11位元素 INT_TO:定時中斷處理 PUSH ACC PUSH PSW;中斷保護 MOV THO,#OECH MOV TLH, #98H ;定時計數(shù)器重置初值 INC COUNT;軟件計數(shù)器加一 MOV A, COUNT CJNE A,#100, INT_RET MOV COUNT, #0 ;計到100,軟件計數(shù)器清零 SETB SEC ;將秒標志置位一 INC VALVE;秒的值加一 MOV A, VALVE CJNE A, #60, INT_RET MOV VALVE, #0 INT_RET: POP PSW POP ACC RET I END 4元件清單 元件名 數(shù)量 AT89C52 1 八段數(shù)碼管 2 NPN三極管 2 12M晶振 1 按鍵 2 330 0電阻 9 200 0電阻 1 無極性電容(30pf ) 2 電解電容(10U/25V) 1 5心得體會 本文主要從硬件方面說明設(shè)計的總體思路和設(shè)計的實現(xiàn)過程,預(yù)期的設(shè) 計目的是:能夠 實現(xiàn)秒表的基本功能,正常顯示計數(shù)

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論