單片機計時秒表的設計正確無誤_第1頁
單片機計時秒表的設計正確無誤_第2頁
單片機計時秒表的設計正確無誤_第3頁
單片機計時秒表的設計正確無誤_第4頁
單片機計時秒表的設計正確無誤_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實習任務書學生姓名系部電氣與信息工程學院專業(yè)班級自動化11-1班指導教師姓名職稱講師是否外聘是RR否題目名稱計時秒表的設計一、設計的內容、目的和意義本次實習主要完成具備基本功能的計時秒表的理論和實踐設計。計時秒表是重要的計時工具,廣泛運用于各行各業(yè)中。作為一種測量工具,計時秒表相對其它一般的記時工具具有便捷、準確、可比性高等優(yōu)點。不僅可以提高精確度,而且可以大大減輕操作人員的負擔,降低錯誤率。因此計時秒表常常用于體育競賽及各種其他要求有較精確時間的各領域中。人們在日常生活中,有很多時候也要精確地計算時間,但往往因為人為因素造成人們不愿意看到的誤差。秒表的出現(xiàn),解決了傳統(tǒng)的由于人為因素造成的誤差

2、和不公平性。通過實習加深對單片機課程的全面認識復習和掌握,對單片機課程的應用進一步的了解。通過此次實習能夠將單片機軟硬件結合起來,對程序進行編輯,校驗。實習通過單片機的定時器/計數(shù)器定時和計數(shù)原理,設計簡單的計時器系統(tǒng),擁有正確的計時、暫停、清零,并同時可以用數(shù)碼管顯示,在現(xiàn)實生活中應用廣泛,具有現(xiàn)實意義。 2、 設計的技術指標要求1、研究方法(1)總體按照最優(yōu)化的方法進行軟件設計和硬件設計,走軟件實現(xiàn)電路;(2)對軟硬件進行模塊劃分,并對各單元電路結合EDA工具進行論證設計;(3)在查閱文獻基礎上展開設計,力求創(chuàng)新。2、技術要求 (1)計時范圍:小于1小時(2)可顯示出毫秒計時(3)實現(xiàn)開始

3、、停止、繼續(xù)功能摘 要本次設計主要完成具備基本功能的計時秒表的理論和實踐設計單片機控制秒表是集于單片機技術、模擬電子技術、數(shù)字技術為一體的機電一體化高科技產(chǎn)品,具有功耗低,安全性高,使用方便等優(yōu)點。本次設計內容為以AT89S52單片機為核心的秒表,它采用鍵盤輸入,單片機技術控制。設計內容以硬件電路設計和軟件設計兩部分來設計。利用單片機的定時器/計數(shù)器定時和計數(shù)的原理,用集成電路芯片、LED 數(shù)碼管以及按鍵來設計計時器。將軟、硬件有機地結合起來,使他擁有正確的計時、暫停和繼續(xù)并同時可以用數(shù)碼管顯示,在現(xiàn)實生中應用廣泛。關鍵詞:單片機;計時秒表;定時器/計數(shù)器;中斷方案比較及選擇(方案數(shù)量可根據(jù)具

4、體情況而定。方案論述要求簡明扼要,突出設計原理。)方案1:利用集成計數(shù)器芯片74HC161進行計數(shù),外加晶振14M電路提供脈沖,計數(shù)器最大計數(shù)值是16個數(shù),可以用多片計數(shù)器級聯(lián),計數(shù)值通過轉換芯片的轉換,再輸送給數(shù)碼管顯示。方案2:使用單片機AT89S52的定時器T0或者T1方式1十六位定時器,每隔一段時間產(chǎn)生一個中斷,給定時器初值,通過程序設計使得軟件計數(shù)器加1,將最后得到的軟件計數(shù)器分離成各個段碼,采用動態(tài)法使得數(shù)碼管亮。方案3:使用單片機AT89S52的定時器T0或者T1方式2定時器,每隔一段時間產(chǎn)生一個中斷,通過程序設計使得軟件計數(shù)器加1,將最后得到的軟件計數(shù)器分離成各個段碼,采用動態(tài)

5、法使得數(shù)碼管亮。方案4:使用單片機AT89S52的定時器T2十六位自動重載方式定時器,每隔一段時間產(chǎn)生一個中斷,通過程序設計使得軟件計數(shù)器加1,將最后得到的軟件計數(shù)器分離成各個段碼,采用動態(tài)法使得數(shù)碼管亮。確定方案及理由:方案1電路連接復雜,不能實現(xiàn)秒表的啟停。方案2使用方式1不能實現(xiàn)定時器初值的自動重載,將影響表秒的精確度。方案3雖然實現(xiàn)了自動重載功能,但是其計數(shù)的最大值較小,必須進行多次中斷,這也會減少秒表的精確度。選擇方案4,因為其最大技術值是65535,并且實現(xiàn)了自動重載功能,能最大的增加精確度。第1章 總體設計方案1.1 總體設計方案本次實習選用了價格較為低廉的AT89S52芯片來實

6、現(xiàn)秒表的精確計數(shù),并運用編程加以實現(xiàn)。 具體是通過單片機的T2定時器每隔一定的時間產(chǎn)生中斷,通過程序設計使得軟件計數(shù)器加1,將最后得到的軟件計數(shù)器分離成各個段碼,采用動態(tài)法使得數(shù)碼管顯示不同的數(shù)。 其具體系統(tǒng)原理框圖如圖1.1按鍵電路 時鐘電路 單片機AT89S52數(shù)碼管顯示復位電路圖 1.1圖 1.11.2 軟硬件功能分析系統(tǒng)的總體工作過程: 首先通過軟件設置選用單片機T2的自動重載方式的定時器,通過兩個按鍵來控制定時器的啟動和停止,來實現(xiàn)秒表的啟停。設置三個軟件計數(shù)器,分別負責分、秒,毫秒的計數(shù),每隔10ms產(chǎn)生一次中斷,然后判斷對應的軟件計數(shù)器是否滿足值,若滿足則相應的值加一,若不滿足則

7、返回主程序,獲得的分、秒,毫秒通過運算可以得到七段譯碼,送到數(shù)碼管顯示最后結果。第2章 硬件電路設計2.1 單片機最小系統(tǒng)電路設計設計所謂的最小系統(tǒng)是指可以保證計算機工作的最小硬件構成。對于單片機內部資源已能夠滿足系統(tǒng)需要的直接采用最小系統(tǒng)。對于AT89S52具有片上Flash的單片機,其最小系統(tǒng)如圖2.1所示,其主要組成電路是復位電路和時鐘電路。此時,P0和P2可以從總線應用解放出來,以作為普通I/O使用。圖2.12.1.1 復位電路 手動復位電路的工作原理是:加電瞬間,RST端的是高電平,隨著RC電路充電電流的減小RST電位也減小,降到一定程度,即為低電平,單片機開始正常工作。當按下按鍵時

8、,RST直接與VCC相連,為高電平形成復位,同時電解電容被短路放電;按鍵松開時,VCC對電容充電,充電電流在電阻上,RST依然為高電平,仍然是復位,這就保證了在RST端足夠長的高電平時間,充電完成后,電容相當于開路,RST為低電平,正常工作。如圖2.1.1所示。 時鐘電路時鐘電路產(chǎn)生單片機工作所需要的時鐘信號,電路應在唯一的時鐘信號控制下嚴格的按時序進行工作。 在51芯片內部有一個高增益反向放大器,其輸入端為引腳XTAL1,輸出端引腳為XTAL2,在芯片的外部通過這兩個腳跨接晶體振蕩器和微調電容,形成反饋電路,就構成一個穩(wěn)定的自激振蕩器。振蕩晶體可在1.2MHz12MHz之間選擇,電容值無嚴格

9、要求,但在電容值取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,可在20pF100pF之間取值。本設計選取晶振為12MHz,電容為30pF。如圖2.1.2所示。 圖 2.1.1 圖 2.1.22.2 系統(tǒng)供電電源設計本系統(tǒng)需要采用5V電源,所采用的電源電路是由LM1117三端穩(wěn)壓器組成的。電源電路如圖2.2所示。圖2.22.3 按鍵電路 按鍵是常開的按鍵開關,每個按鍵都被賦予一個代碼,稱為鍵碼。按鍵的開關狀態(tài)通過一定的電路轉換為高、低電平狀態(tài)。按鍵閉合過程在相應的I/O端口形成一個負脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),

10、稱為抖動。抖動持續(xù)時間的長短與開關的機械特性有關,一般在510ms之間。本設計中是用軟件程序來去除抖動。由于系統(tǒng)使用到的按鍵數(shù)并不多,所以不選用矩陣鍵盤而選用獨立式按鍵電路。直接用I/O口線構成單個按鍵電路,每個按鍵占用一條I/O口線,每個按鍵的工作狀態(tài)不會產(chǎn)生互相影響。P2.0接停止按鍵,P2.1接開始按鍵,P2.2接繼續(xù)按鍵然后按鍵都與地相接。相應的按鍵電路圖如圖2.3所示。 圖 2.32.4 驅動顯示電路LED顯示器是單片機應用系統(tǒng)中常用的廉價輸出設備。它是由若干個發(fā)光二極管組成的,當發(fā)光二極管導通時,相應一個筆畫發(fā)光,控制某幾段發(fā)光二極管導通,就能顯示出某個數(shù)碼或字符。在單片機應用系統(tǒng)

11、中,顯示器顯示有靜態(tài)顯示和動態(tài)掃描顯示兩種方法。1.靜態(tài)顯示所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路就可以了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼。使用這種方法CPU的開銷小,控制程序簡單,但占用較多的硬件資源。2.動態(tài)掃描顯示動態(tài)掃描顯示是單片機中應用最為廣泛的一種顯示方式。其接口電路是把所有顯示器的8個筆劃段ADP同名端連在一起,而每一個顯示器的公共極COM各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是哪個顯示器亮,則取決于COM端,而這一端是由

12、I/O控制的,因此就可以自行決定何時顯示哪一位了。所謂動態(tài)掃描就是指采用分時的方法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。所以,就采用動態(tài)掃描顯示。我們選用4位共陽數(shù)碼管這樣用到了單片機的兩個I/O接口P0和P2。又因P2接口不能承受六位的數(shù)碼管的電流,那就需要在P2接口上加上六個三極管來驅動。四位共陽數(shù)碼管總共有12個引腳,ADP為段選,vcc1、vcc2和vcc3為位選,

13、ADP段選通過470電阻與P0.0P0.7相應對接,而四個位選與P2.3P2.6相應對接,四位共陽數(shù)碼管的驅動電路如圖2.4.1所示。圖2.4第3章 系統(tǒng)軟件設計3.1 軟件總體設計思路經(jīng)過前幾章的設計工作,系統(tǒng)的硬件電路設計已經(jīng)完成了。然而,對于一個完整的設計系統(tǒng)來說,只有硬件電路的設計完成是不夠的,它必須通過軟件的編程來實現(xiàn)系統(tǒng)的工作控制功能,從而實現(xiàn)電路應有的系統(tǒng)功能。單片機系統(tǒng)的軟件設計主要使用匯編語言或高級語言。匯編語言與系統(tǒng)硬件關系密切,可方便實現(xiàn)諸如中斷管理以及模擬/數(shù)字量的輸入輸出等功能,具有占用系統(tǒng)資源小、執(zhí)行速度快的特點,但是,對于復雜的大型應用系統(tǒng),其代碼可讀性差,不利于

14、維護和升級。高級語言的代碼效率和長度都不如匯編語言,但其結構清晰、可讀性好、開發(fā)周期短、有極強的可移植性,在多數(shù)應用方面執(zhí)行效率與匯編語言差距不大,得到了極為廣泛的應用。而C語言既有高級語言的各種特點,又可對硬件進行操作,并可進行結構化程序設計。用C語言編寫的程序較容易移植,可生成簡潔、可靠的目標代碼。本次軟件設計采用C語言編寫。本軟件整體設計思路為:通過T2定時機器的自動重載功能,以及設置的軟件計數(shù)器的計數(shù)來實現(xiàn)計時并顯示出來。本設計以單片機作為系統(tǒng)的核心控制單元,運用C語言進行編程工作,按照工作流程來實現(xiàn)設計要求的簡易秒表計時的功能,并且通過軟硬件的不斷調整,來完善優(yōu)化設計系統(tǒng),從而實現(xiàn)結

15、構化程序設計。3.2 主程序流程設計 通過之前的硬件系統(tǒng)設計,綜合考慮各方面的因素,系統(tǒng)主控流程圖3.1所示:開始初始化定時器T2為16為自動重載方式設定初始值為55535,定時10ms開啟總中斷和定時器中斷對分進行計數(shù)并分離十位、個位對秒進行計數(shù)并分離十位、個位對毫秒進行計數(shù)并分離十位、個位顯示子程序按鍵子程序圖3.1 主程序流程圖3.3 中斷服務子程序流程圖由于采用T2十六位自動重載的方式,定時時間為10ms,通過多次中斷實現(xiàn)功能。中斷服務子程序流程圖3.2所示:進入中斷清零中斷標志軟件計數(shù)器time1+、time2+time1=100?time=0,miao+miao59?miao=0t

16、ime2=6000?time2=0,fen+fen60?fen=0返回主程序YESNONONONOYESYESYES實習總結(包括:實習質量分析、待完善和改進之處和心得體會)在本次實習過程中比較好的完成了各項任務。在設計簡易秒表時,采用定時器T2的自動重載方式通過多次中斷實現(xiàn)計時。在軟硬件各方面做了充足的準備,可以說實習效果較好。本次實習在參考了相關電路和他人的設計方法基礎上自行設計完成的。通過較少的集成器件,實現(xiàn)了計時啟動、停止、繼續(xù)和毫秒顯示的功能。該秒表具有準確度高、靈敏度好、成本低、低功耗等特點。此外。本設計單片機的很多資源還未使用,為以后的功能拓展提供了廣泛的空間。由于實驗條件及自身

17、所學知識的限制,本系統(tǒng)還存在有待進一步的完善和改進的地方。例如,本次所用的LED為四位數(shù)碼管但是沒有冒號顯示所以不是特別完整的顯示秒表計時。還有就是不能在毫秒擋實現(xiàn)暫停。這需要在以后進一步完善。通過對本次實習,使自己深刻的認識到自己的很多不足之處,在實際動手操作能力的不足,在進行程序編程時,自己需要,認真審題,看懂題目的要求!對于軟件編程不益太簡單或者太難。做到既能把課題完成又能鍛煉 自己的能力!根據(jù)課題要求,復習相關的知識,查詢相關的資料。根據(jù)課程條件,找到適 合的方案,找到需要的元器件及工具,準備課程。根據(jù)課程設計的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的基礎上,根據(jù)芯片的功

18、能寫出相應的程序和增加額外的功能程序。然后再進行程序調試和相應的修改,以達到能夠實現(xiàn)所要求的功能的目的。這次實習增長了我的實踐意識,還促使我認真學習了單片機的內部設置,也讓我了解到在實際電路中,很多細節(jié)上的問題必須要考慮清楚,怎么做才是對電路的優(yōu)化設計是最好的,必須通過實際操作過程加以確認。參考文獻1劉海成.單片機及應用原理教程M.北京:中國電力出版社,2012.2康華光.電子技術基礎(模擬部分)M.高等教育出版社,2006.3秦進平.數(shù)字電子與EDA技術M.科學出版社,2011.附錄附錄1 總原理圖附錄2 源程序#include#define uchar unsigned char#defi

19、ne uint unsigned intsbit s1=P22;sbit s2=P21;sbit s3=P20;sbit wei1=P30;sbit wei2=P31;sbit wei3=P32;sbit wei4=P33;uchar fen,miao,haomiao,miaoge,miaoshi,fenge,fenshi,haomiaoge,haomiaoshi;uint times1=0;uint times2=0;uchar code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; void delay_1ms(void) uint i; for(i=0;i0;j-) for(k=125;k0;k-); void anjian(void

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論