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

下載本文檔

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

文檔簡介

1、基于單片機(jī)的秒表課程設(shè)計基于單片機(jī)的秒表課程設(shè)計姓名:班級:學(xué)號:專業(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、心得體會基于單片機(jī)的秒表課程設(shè)計摘要本設(shè)計的成品是在單片機(jī)最小系統(tǒng)的基礎(chǔ)上增加顯示電路和控制電路來完成數(shù)字式秒表的硬件電路的。電子秒表電路主要由AT89S51單片機(jī)最小系統(tǒng)電路、七段數(shù)碼管動態(tài)顯示電路和控制電路組成,它能實(shí)現(xiàn)八段數(shù)

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

3、EEPROM不需要外擴(kuò)展存儲器,可是系統(tǒng)整體結(jié)構(gòu)更為簡單。設(shè)計框圖如圖所示;.4方案論證匕,此方案是以AT89C52K片為中心控制系統(tǒng),可實(shí)現(xiàn)計時、清零等功育大二大提高了系統(tǒng)的智能化,也是的系統(tǒng)所測結(jié)果精度大大提高。所以此方 案可行2硬件設(shè)計2.1 控制芯片的介紹AT89S52是一種低功耗、高性能的片內(nèi)含有 4KB快閃可編程/擦除只讀存儲器,的8位CMOSt控制器,使用高密度、非易失存儲技術(shù)制造, 并與80S52引腳和指令系統(tǒng)完全兼容。主要性能:與MCS-51 散控制器 產(chǎn)品系列兼容。片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫存儲器存儲數(shù)據(jù)保存時間為10年寬工作電壓范圍:VCCM為2.7V到6V全靜

4、態(tài)工彳可從 0Hz至16MHz程序存儲器具有3級加密保護(hù)128*8位內(nèi)部RAB32條可編程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)成一個振蕩器,它 提供單片機(jī)的時鐘控制信號。RST復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。P2 口 : P2.6和P2.7端口分別控制數(shù)碼管的十位和個位供電,當(dāng)相應(yīng) 的端口變成低電平時,驅(qū)動相應(yīng)的三極管會導(dǎo)通,+5V通過三極管給數(shù)碼管相應(yīng)的位供電,這是只要 PO口

5、送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù)字。POH : PO.O-PO.6端口用排線連接到數(shù)碼管顯示模塊區(qū)域中的A-G端口上;PO.O對應(yīng)著A,PO.6對應(yīng)著Go P0.7接高電平。P1.0接“開始”按鍵2.2.2 硬件接線圖(見附錄圖)3軟件設(shè)計3.1 程序設(shè)計思路在硬件的基礎(chǔ)上,可以通過軟件完成數(shù)字式秒表的設(shè)計。 我先用矩陣鍵盤上的任意兩個獨(dú)立按鍵作為控制鍵。用一個鍵去控制計時的開始;用一個鍵做計時的清零按鍵。用按鍵掃描的方式判斷按鍵是否按下。用動態(tài)顯示的方法掃描秒表的計數(shù), 顯示所記下的數(shù)。用中斷的方法來進(jìn)行計時加1,每10ms中斷一次進(jìn)行重新賦值并加1,當(dāng)10ms單元到10,就令該單元

6、賦0,并讓100m津元加1,以此類推。3.2 流程圖1主程序流程圖3.3第一位數(shù)碼管的位控制第二位數(shù)碼管的位控制到的標(biāo)記源程序FIRST EQU P2.7;SECOND EQU P2.6;SEC EQU 00H;1SUALUE EQU 21H秒計數(shù)器COUNT EQU 22H軟件計數(shù)器DISPBUF1 EQU 5EH;5EH是顯示緩沖區(qū)DISPBUF2 EQU 5FH ;5EF 是顯示緩沖區(qū)HIDDEN EQU 10消隱碼在字型碼表的第10位ORG 0000HLJMP START1ORG 000BHLJMP INTT0ORG 0100HSTART1:JB P1.0,START1LJMP STA

7、RTSTART:MOV SP,#5FH設(shè)置堆棧指針初值MOV VALUE,#。秒計數(shù)器MOV COUNT,#0軟件計數(shù)器MOV DISPBUF1,#0顯示緩沖區(qū)填充0MOV DISPBUF2,#0顯示緩沖區(qū)填充0MOV TMOD,#01HMOVTH0,#0ECH取 60536 的高 8 位,60536=65536-10000*6/12 定時器初值,定時時間10msMOV TL0,#98H取 60536 的高 8 位,60536=65536-10000*6/12 定時器初值,定時時間10msSETB ET0開T0中斷SETB TR0定時器T0開始運(yùn)行CLR SECLOOP:JBC SEC,NEX

8、TLCALL DISP;1sSJMP LOOP;NEXT:MOV A,VALVEMOV B,#10DIV AB;顯示緩沖區(qū)JZ NEXT1;SJMP NEXT2NEXT1:MOV A,#HIDDENNEXT2:MOV DISPBUF1,AMOV DISPBUF2,BLCALL DISPLJMP LOOPDISP: 顯示子程序PUSH ACCPUSH PSWMOV A,DISPBUF1MOV DPTR,#DISPTABMOVC A,A+DPTR;1s至L消除1s到的標(biāo)記未到,調(diào)用顯示程序繼續(xù)循環(huán);獲得秒的數(shù)值二進(jìn)制轉(zhuǎn)化為十進(jìn)制,十位和個位分別送如果A中值是0,高位0消隱;否則直接送去顯示;個位送

9、顯示緩沖區(qū);主程序W此結(jié)束;ACC入棧;PSW入棧;取第一個帶顯示數(shù);字型表首地址;取字形碼SETB EA5開總中斷MOV P0,A5將字型碼送P0位CLR FIRSTLCALL DELAY;SETB FIRST;數(shù)字)MOV A,DISPBUF2;MOV DPTR,#DISPTABMOVC A,A+DPTRMOV P0,A;CLR SECOND;LCALL DELAY;SETB SECOND;POP PSWPOP ACCRET;DELAY:;以下是延時程序PUSH PSW;5msSETB RSOMOV R7,#50D1: MOV R6,#50D2: DJNZ R6,$DJNZ R7,D1開第

10、一位顯示器口延時5MS關(guān)閉第一位顯示器(開始準(zhǔn)備第二位的去顯示緩沖區(qū)的第二位將第二個字型碼送P0 口開第二位顯示器延時關(guān)第二位顯示器顯示程序結(jié)束延時程序POP PSWRETDISPTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;顯示字型表,最后一個 OFFK消隱碼,它是表中的第11位元素INT_T0:;定時中斷處理PUSH ACCPUSH PSW;中斷保護(hù)MOV TH0,#OECHMOV TLH,#98H;定時計數(shù)器重置初值INC COUNT;軟件計數(shù)器加一MOV A,COUNTCJNE A,#100,INT_RETMOV COUNT,#0;計到100,軟件計數(shù)器清零SETB SEC;將秒標(biāo)志置位一INC VALVE;秒的值加一MOV A,VALVECJNE A,#60,INT_RETMOV VALVE,#0INT_RET: POP PSWPOP ACCRETIEND4元件清單元件名數(shù)量AT89C521八段數(shù)碼管2NPNE極管212M晶振1按鍵2330Q電阻9200Q電阻1無極性電容(30pf)2電解電容(10U/25V)15心得體會本文主要從硬件方面說明設(shè)計的總體思路和設(shè)計的實(shí)現(xiàn)過程,預(yù)期的設(shè) 計目的是:能夠?qū)崿F(xiàn)秒表的基本功能,正常顯示計數(shù)。在設(shè)計中有好多問題都是因?yàn)?/p>

溫馨提示

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

最新文檔

評論

0/150

提交評論