基于51單片機(jī)的秒表設(shè)計(jì)
《基于51單片機(jī)的秒表設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《基于51單片機(jī)的秒表設(shè)計(jì)(18頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 江西理工大學(xué)應(yīng)用科學(xué)學(xué)院信息工程系 單片機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告 設(shè)計(jì)題目: 基于51單片機(jī)的秒表設(shè)計(jì) 專 業(yè): 電子信息工程 班 級: 電信121 學(xué) 號: 參與人員: 賀佳、周代元、周昶旭、張浥中 指導(dǎo)老師:
2、 王蘇敏 完成日期: 2015年1月20日 指導(dǎo)老師評語: 得分: 指導(dǎo)教師簽名: 目錄 1 設(shè)計(jì)任務(wù)和性能指標(biāo) 1 1.1 課題內(nèi)容 1 1.2 課題要求 1 2 設(shè)計(jì)方案 2 2.1 需求分析 2 2.2 方案論證 2 3系統(tǒng)軟件設(shè)計(jì) 5 4.1 系統(tǒng)軟件流程圖 5 4.2 實(shí)驗(yàn)程序清單 5 4 系統(tǒng)硬
3、件設(shè)計(jì) 7 5.1 調(diào)試步驟 7 5.2 性能分析 7 5系統(tǒng)硬件設(shè)計(jì) 8 參考文獻(xiàn) 9 1 設(shè)計(jì)任務(wù)和性能指標(biāo) 1 課題內(nèi)容要求及目的 1.1課題內(nèi)容 用AT89C51設(shè)計(jì)一個秒表,該秒表課可顯示0.0~99.9秒的時間,進(jìn)行相應(yīng)的單片機(jī)硬件電路的設(shè)計(jì)并進(jìn)行軟件編程利用單片機(jī)定時器/計(jì)數(shù)器中斷設(shè)計(jì)秒表,從而實(shí)現(xiàn)秒、十分之一秒的計(jì)時。綜合運(yùn)用所學(xué)的《單片機(jī)原理與應(yīng)用》理論知識,通過實(shí)踐加強(qiáng)對所學(xué)知識的理解,具備設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的能力。通過本次系統(tǒng)設(shè)計(jì)加深對單片機(jī)掌握定時器、外部中斷的設(shè)置和編程原理的全面認(rèn)識復(fù)習(xí)和掌握。 本系統(tǒng)利用單片機(jī)的定時器/計(jì)數(shù)器定時和
4、記數(shù)的原理,通過采用proteus仿真軟件來模擬實(shí)現(xiàn)。模擬利用AT89C51單片機(jī)、LED數(shù)碼管以及控件來控制秒表的計(jì)數(shù)以及計(jì)位!其中有三位數(shù)碼管用來顯示數(shù)據(jù),顯示秒(兩位)和十分之一秒,十分之一秒的數(shù)碼管計(jì)數(shù)從0~9,滿十進(jìn)一后顯示秒的數(shù)碼管的數(shù)字加一,并且十分之一秒顯示清零重新從零計(jì)數(shù)。計(jì)秒數(shù)碼管采用三位的數(shù)碼管,當(dāng)計(jì)數(shù)超過范圍是所有數(shù)碼管全部清零重新計(jì)數(shù)。 1.2課題要求 本課題是基于單片機(jī)的秒表系統(tǒng)設(shè)計(jì),它的具體要求有以下幾點(diǎn): (1)用單片機(jī)AT89C51實(shí)現(xiàn); (2)以0.1秒為最小單位進(jìn)行顯示; (3)秒表量程為0.0-99.9秒,用 LED顯示;
5、(4)有清零、開始、停止功能。 1.3課題目的 通過課程設(shè)計(jì),進(jìn)一步熟悉和掌握AT89C51單片機(jī)的結(jié)構(gòu)及工作原理,掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù),了解表關(guān)電路參數(shù)的計(jì)算方法。通過完成一個包括電路設(shè)計(jì)和程序開發(fā)的完整過程,進(jìn)一步了解開發(fā)一單片機(jī)應(yīng)用系統(tǒng)的全過程,通過此綜合訓(xùn)練,為以后畢業(yè)設(shè)計(jì)打下一定的基礎(chǔ)。 (1)利用單片機(jī)定時器計(jì)數(shù)器中斷設(shè)計(jì)秒表,從而實(shí)現(xiàn)秒、十分之一秒的計(jì)時。 (2)綜合運(yùn)用所學(xué)的《單片機(jī)原理與應(yīng)用》理論知識,通過實(shí)踐加強(qiáng)對所學(xué)知識的理解,具備設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的能力,加深對單片機(jī)課程的全面認(rèn)識。 (3)通過本次課程設(shè)計(jì)能夠?qū)Τ绦蜻M(jìn)行編輯,校驗(yàn)。
6、 (4)通過本次系統(tǒng)設(shè)計(jì)加深對單片機(jī)掌握定時器、外部中斷的設(shè)置和編程原理的全面認(rèn)識復(fù)習(xí)和掌握,對單片機(jī)實(shí)際的應(yīng)用作進(jìn)一步的了解。 (5)通過本次系統(tǒng)設(shè)計(jì),增強(qiáng)自己的動手能力。認(rèn)識單片機(jī)在日常生活中的應(yīng)用的廣泛性,實(shí)用性。 (6)該實(shí)驗(yàn)通過單片機(jī)的軟件延時設(shè)計(jì),設(shè)計(jì)簡單的計(jì)時器系統(tǒng),能正確的計(jì)時。 2.1 需求分析 近年來,隨著科學(xué)技術(shù)的進(jìn)步和時代的發(fā)展,人們對秒表的功能和精度提出了越來越高的要求,各種秒表的設(shè)計(jì)也越來越重要。秒表計(jì)時器是在一種計(jì)時器上實(shí)現(xiàn)兩種功能的一種器件。它
7、廣泛應(yīng)用于各種場所,同時它的小巧,價格廉價,精確度高,使用方便,功能齊全,便于集成化。而受廣大消費(fèi)者的喜愛。 2.2 方案論證 現(xiàn)今的計(jì)時器通常只能通過啟/停按鍵實(shí)現(xiàn)斷點(diǎn)計(jì)時的功能,即通過啟/停按鍵來記錄一段時間。這種計(jì)時器查看的時間只能為計(jì)時結(jié)束時刻。實(shí)際的應(yīng)用中往往需要在不影響正常計(jì)時的基礎(chǔ)上,能查看記錄過程中的某些點(diǎn)的時間。 本課設(shè)即針對此問題,設(shè)計(jì)了一種能通過按鍵方式查看記錄過程中任一時刻值的計(jì)時器。這種計(jì)時器在查看中間值時不會影響整個記錄過程,并且能把相應(yīng)數(shù)據(jù)送入存儲模塊及顯示模塊,以便查看。 本系統(tǒng)采用AT89C51單片機(jī)作控制器,LED數(shù)碼管,
8、實(shí)現(xiàn)顯示時、分、秒,以24小時計(jì)時方式。為了實(shí)現(xiàn)LED顯示器的數(shù)字顯示,可以采用靜態(tài)顯示法和動態(tài)顯示法。由于靜態(tài)顯示法需要數(shù)據(jù)鎖存器等硬件,結(jié)構(gòu)較為復(fù)雜,考慮時鐘顯示只有六位,且系統(tǒng)沒有其他復(fù)雜的處理任務(wù),所以采用動態(tài)掃描法實(shí)現(xiàn)LED的顯示。單片機(jī)采用AT89C51系列,有足夠的空余硬件資源實(shí)現(xiàn)其它的擴(kuò)充功能。 3系統(tǒng)軟件設(shè)計(jì) 3.1軟件程序流程圖 根據(jù)課題內(nèi)容,可作出主流程序樹狀圖如圖3.1所示: 開 始 有進(jìn)位嗎? 初始化 有暫停指令嗎? Y 有清零指令嗎? 0.1秒位加一 N N N Y 有進(jìn)位嗎? N Y 秒位加一 十秒位加一 Y 有進(jìn)位嗎
9、? N Y 聲音提示 圖3.1 3.2 實(shí)驗(yàn)程序清單: HAOMIAO EQU 34H MIAO EQU 35H SHIMIAO EQU 36H ORG 0000H AJMP START ORG 0030H START: CLR C SETB P1.6 SETB P1.5 SETB P1.4 MOV HAOMIAO,#0 MOV MIAO,#0
10、 MOV SHIMIAO,#0 MOV DPTR,#TABLE MOV A,#00H MOVC A,@A+DPTR CLR P1.6 MOV P2,A MOV A,#00H MOVC A,@A+DPTR CLR P1.4 MOV P2,A MOV DPTR,#TABLE1 MOV A,#00H
11、 MOVC A,@A+DPTR CLR P1.5 MOV P2,A LCALL KAISHI LCALL MAIN SHIWEI : SETB P1.5 MOV DPTR,#TABLE ;十秒位顯示 MOV MIAO,#0 ;使秒位從零位重新循環(huán) INC SHIMIAO MOV A,SHIMIAO
12、 CLR C SUBB A,#6 JZ START AJMP MAIN RET TINGZHI: MOV A,#00H ;判斷是否有清零指 MOV A,P3 ANL A,#04H JZ START MOV A,#00H ;判斷是否有停止指令 MOV A,P3
13、 CLR C ANL A,#02H LCALL YANSHI JZ MAIN LJMP TINGZHI START1 : LJMP START SHIWEI1: LJMP SHIWEI MAIN : SETB P1.5 SETB P1.4 SETB P1.6 MOV A,#00H ; 判斷是否有清零指令 MOV A,P3 AN
14、L A,#04H JZ START1 MOV A,#00H ; 判斷是否有停止指令 MOV A,P3 CLR C ANL A,#02H JZ TINGZHI MOV DPTR,#TABLE ; 0.1位秒顯示 I NC HAOMIAO ;加一,可查下一位數(shù)據(jù) MOV A, HAOMIAO ; 判斷是否進(jìn)位 CLR C
15、 SUBB A,#10 JZ MIAOZHEN LCALL YANSHI ;延時0.1秒 AJMP MAIN RET ;繼續(xù)計(jì)時 MIAOZHEN: SETB P1.4 MOV DPTR,#TABLE1 ;秒位顯示 MOV HAOMIAO,#0 ;使0.1秒從零重新循環(huán) INC MIAO ;加一,可查下一位數(shù)據(jù)
16、 MOV A,MIAO ;判斷是否進(jìn)位 CLR C SUBB A,#10 JZ SHIWEI1 LCALL SND AJMP MAIN ;返回0.1秒計(jì) YANSHI: MOV R6,#30 DL2: MOV A,#00H ;判斷是否有清零指令 MOV A,P3 ANL A,#04H JZ START1 MOV DPT
17、R,#TABLE MOV A,SHIMIAO MOVC A,@A+DPTR CLR P1.6 MOV P2,A ACALL YIHAOMIAO SETB P1.6 MOV A,HAOMIAO MOVC A,@A+DPTR CLR P1.4 MOV P2,A ACALL YIHAOMIAO SETB P1.4 MOV DPTR,#TABLE1 MOV A,MIAO
18、 MOVC A,@A+DPTR CLR P1.5 MOV P2,A ACALL YIHAOMIAO SETB P1.5 DJNZ R6,DL2 RET YIHAOMIAO: MOV R7,#250 CV:NOP NOP DJNZ R7,CV RET KAISHI: MOV A,#0 MOV A,P3 ANL A,#01H JNZ KAISHI
19、 RET SND: SETB P1.0 MOV R1,#1EH DL: MOV R0,#0F9H DL1: DJNZ R0,DL1 DJNZ R1,DL CLR P1.0 RET TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FH;0,1,2,3,4,5,6,7,8,9 TABLE1:DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH, 087H,0FFH,0EFH END }
20、 4 系統(tǒng)硬件設(shè)計(jì) AT89C51單片機(jī)簡介 AT89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲 器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術(shù)制造,并且與89C51引腳和指令系統(tǒng)完全兼容。引腳分別如圖2.1所示。 圖2.1 圖2.1所示的單片機(jī)是引腳雙列直插封裝方式,電源引腳40腳與接地腳20。 P0口作輸入口使用時,應(yīng)先向口鎖存器寫入1。P1口是一個帶有內(nèi)部上拉電阻
21、的8 位雙向I/O端口。P1的輸出緩存可驅(qū)動4個TTL輸入。P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3口也是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口, P3端口還用于一些復(fù)用功能。 5系統(tǒng)硬件設(shè)計(jì) 5.1 調(diào)試步驟 (1)分析各單元電路圖,并分析其各部分的功能; (2)用仿真軟件仿真電路的功能,并檢查是否有錯,無誤后進(jìn)行下步工作; (3)查找有關(guān)文獻(xiàn)了解各元件的功能及引腳和有關(guān)的資料; 5.2設(shè)計(jì)實(shí)驗(yàn)電路圖 設(shè)計(jì)的實(shí)驗(yàn)原理圖如下所示: 實(shí)驗(yàn)設(shè)計(jì)總結(jié) 為期兩周的課程設(shè)計(jì),主要是以上機(jī)操作為主,在實(shí)驗(yàn)室查資料,編程序,畫圖。 設(shè)計(jì)語言主要是采用c語言和匯
22、編語言的自上而下的設(shè)計(jì)方法。Proteus中,自上向下的設(shè)計(jì),就是在整個設(shè)計(jì)流程中各設(shè)計(jì)環(huán)節(jié)逐步精益求精的過程,應(yīng)用Proteus運(yùn)行自上而下的設(shè)計(jì),就是使用Proteus模型在所有綜合級別上對硬件進(jìn)行說明和仿真測試。頂層文件采用了原理圖的方法設(shè)計(jì),使各模塊之間的層次關(guān)系清晰。 在秒表計(jì)時器實(shí)際設(shè)計(jì)過程中,所有的模塊都是通過不同進(jìn)制的計(jì)數(shù)器來實(shí)現(xiàn)其主要功能的,各模塊之間是通過進(jìn)位信號連接在一起的。一開始由于沒有一定的合理的思路,走了不少彎路。在查閱了相關(guān)資料之后,解決了相關(guān)的問題,使我的程序更加優(yōu)化。 通過這次課程設(shè)計(jì),我進(jìn)一步熟悉了Proteus軟件的使用和操作方法。對c語言和匯編語言的
23、自上向下的設(shè)計(jì)方法有了進(jìn)一步的認(rèn)識,在底層文件具備的條件下,使原理圖可以使設(shè)置更加簡單,使程序清晰,增加可讀性。當(dāng)然這次課程設(shè)計(jì)也存在著不足之處,計(jì)時不夠足夠的精確等。 單片機(jī)課程設(shè)計(jì),是對單片機(jī)知識的驗(yàn)證,可以幫助我們理解鞏固所學(xué)知識,激發(fā)我們對單片機(jī)課程的興趣,更鍛煉了我們獨(dú)立思考、開拓創(chuàng)新的能力。通過這次課程設(shè)計(jì)我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運(yùn)用到實(shí)踐的過程中仍有意想不到的困惑,經(jīng)過一番努力才得以解決。這也激發(fā)了我今后努力學(xué)習(xí)的興趣,我想這將對我以后的學(xué)習(xí)產(chǎn)生積極的影響。其次,這次課程設(shè)計(jì)讓我充分認(rèn)識到合作的重要性,只有合作才能保證整個項(xiàng)目的有條不絮。在設(shè)計(jì)過程中,非常感謝同學(xué)們的指導(dǎo),才使設(shè)計(jì)進(jìn)展的比較順利。另外在課程設(shè)計(jì)的過程中,當(dāng)我們碰到不明白的問題時,指導(dǎo)老師總是耐心的講解,給我的設(shè)計(jì)以極大的幫助,使我獲益匪淺。因此非常感謝王蘇敏老師的教導(dǎo)。通過這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,了解到理論知識與實(shí)踐相結(jié)合的重要意義,學(xué)會了堅(jiān)持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的榜樣。 參考文獻(xiàn): 1、 單片機(jī)原理及應(yīng)用; 2、 數(shù)字電子技術(shù)基礎(chǔ); 3、 模擬電子技術(shù)基礎(chǔ); 4、 高頻電子線路;
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。