版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 課程設(shè)計Ⅳ設(shè)計報告書</p><p> 基于AT89S52單片機的</p><p><b> 10秒秒表的設(shè)計</b></p><p><b> 目 錄</b></p><p> 內(nèi)容摘要 1</p><p><b> 關(guān)鍵
2、詞1</b></p><p> Abstract1</p><p> Keywords1</p><p><b> 1緒論2</b></p><p><b> 2 系統(tǒng)設(shè)計2</b></p><p> 2.1 設(shè)計任務(wù)與要求3</p&g
3、t;<p> 2.2 方案的選擇與論證3</p><p> 3 系統(tǒng)硬件設(shè)計4</p><p> 3.1 AT89C52簡介4</p><p> 3.2 時鐘電路5</p><p> 3.3 復(fù)位電路5</p><p> 3.4 顯示電路6</p><p>
4、 3.5引腳控制 7</p><p> 3.6 硬件元件清單7</p><p> 4軟件設(shè)計與仿真7</p><p> 4.1主程序設(shè)計7</p><p> 4.2 仿真軟件簡介9</p><p> 4.3 仿真結(jié)
5、果10</p><p> 4.4 系統(tǒng)調(diào)試11</p><p><b> 結(jié)束語12</b></p><p> 附錄:程序清單14</p><p><b> 參考文獻16</b></p><p> 內(nèi)容摘要:本文闡述了基于單片機的數(shù)字電子秒表設(shè)計。本設(shè)計主
6、要特點是計時精度達(dá)到0.1s,是各種體育競賽的必備設(shè)備之一。本設(shè)計的數(shù)字電子秒表系統(tǒng)采用8051單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管設(shè)計計時器。其中軟件系統(tǒng)采用C語言編寫程序,包括顯示程序,定時中斷服務(wù),延時程。硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。</p><p> 關(guān)鍵字:秒表;單片機AT89S52;硬件
7、;軟件;仿真 </p><p> Abstract:The design of the multi-function stopwatch system uses AT89S52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with disp
8、lay circuit, LED digital tube, as well as the external interrupt circuit to design a timer. Be able to correctly time at the same time to record a time, and the next time after the last time the time to search automatica
9、lly added a second in which software systems using assembly language programming, includin</p><p> Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation</p><p><b> 1緒論</b><
10、/p><p> 當(dāng)今,計算機技術(shù)帶來了科研和生產(chǎn)的許多重大飛躍,微型計算機的應(yīng)用已滲透到生產(chǎn)、生活的各個方面。其中單片微型計算機雖然問世不久,然而體積小、價廉、功能強,其銷售額以每年近80%的速率增長。他的性能不斷提高,適用范圍愈來愈寬,在計算機應(yīng)用領(lǐng)域已占有日益重要的地位。 單片微型計算機簡稱單片機,又成為控制器。他是在一塊半導(dǎo)體上,集成了CPU、ROM、RAM、I/O接口、定時器/計數(shù)器、中斷系統(tǒng)等功能
11、部件,構(gòu)成了一臺完整的數(shù)字計算機。單片機在生產(chǎn)生活中的許多方面得到廣泛的應(yīng)用,例如,生活中五彩變幻的霓虹燈,手機通信,溫度檢測,流量控制等都涉及到單片機。</p><p> 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如按時自動打鈴、時間程序自動控制、秒表等。所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究電子秒表及擴大其應(yīng)用,有非?,F(xiàn)實的意義。電子秒表是一種用數(shù)字電路技術(shù)實
12、現(xiàn)秒計時的裝置,與機械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。 電子秒表從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時序電路。</p><p> 電子科技日新月異,人們對現(xiàn)代電子設(shè)備的智能化和微型化及其精度提出了更高的要求,而單片機因其具有穩(wěn)定可靠、 體積小、 價格低廉等特點,成為設(shè)計智能化儀器儀表的首選微控制器,因此本次我沒有選用傳統(tǒng)的專用的時
13、鐘芯片,而是采用了AT89C52芯片,此款單片機可以使用軟件對其進行在線編程,其靈活性和可靠性都相對提高。</p><p> 通過此次課程設(shè)計,增強了我們的動手能力,把理論與實踐融合在一起。同時,也進一步加深了對單片機的硬件結(jié)構(gòu)的理解和鞏固,編程能力也得到了提高。在此將秒表制作過程中用到的知識進行了一些總結(jié),希望自己今后能注意。</p><p><b> 2 系統(tǒng)設(shè)計<
14、/b></p><p> 2.1 設(shè)計任務(wù)與要求</p><p> 2.1.1 設(shè)計任務(wù)</p><p> 1、掌握數(shù)碼管顯示控制系統(tǒng)的顯示原理,學(xué)習(xí)數(shù)碼管顯示數(shù)字和字符的編程方法.</p><p> 2、試設(shè)計一簡易秒表,使得七段符顯示管的a-g分別接在單片機的P口上,輸出低電平時,顯示管點亮, 要求從數(shù)字“0”顯示到數(shù)字“9
15、”,延時間隔為1秒。</p><p> 2.1.2 設(shè)計要求</p><p> [1]顯示時間范圍0.0-9.9s;</p><p> [2]按鍵開關(guān)按下,電路復(fù)位。</p><p> 2.2 方案的選擇與論證</p><p> 2.2.1總體設(shè)計方案</p><p> 方案1:在方
16、案1中,我們所選用的是軟件定時,即用for循環(huán)來定時1秒進行顯示的變化。</p><p> 方案2:在方案2中,采用的是硬件定時,即用單片機內(nèi)部的定時器T0。先將時鐘初始化,賦入初值50ms定時,循環(huán)20次來進行1秒定時。</p><p> 2.2.2:選擇與論證</p><p> 方案比較:我們從兩方面進行兩種方案的比較,第一,由于此次課程設(shè)計要求是秒表,則
17、在定時時要求比較精確,所以采用硬件的定時器定時時比較準(zhǔn)確的。第二,由于秒表的定時程序是很小的,在利用軟件定時占用的CPU并不是很多,不能顯現(xiàn)出來,但真正大程序時會很占用資源的,所以在用定時中斷過程中是非常節(jié)省資源的。綜合上述兩種比較,我們選用了第二種方案。</p><p><b> 3 系統(tǒng)硬件設(shè)計</b></p><p> 本系統(tǒng)由控制器模塊、復(fù)位模塊、LED顯
18、示模塊組成,系統(tǒng)硬件組成框圖如圖1所示。系統(tǒng)總體電路原理圖如圖1所示。</p><p> 圖1 系統(tǒng)電路原理圖</p><p> 3.1 AT89S52簡介</p><p> (1) 與MCS-51產(chǎn)品相兼容;</p><p> (2) 具有8KB可改寫的Flash 內(nèi)部程序存儲器,可寫/擦1000次;</p><
19、p> (5)256字節(jié)內(nèi)部RAM;</p><p> (6) 32根可編程I/O口;</p><p> (7) 3個16位定時器/計數(shù)器。 </p><p> (8) 8個中斷源;</p><p> (9) 可編程中串行口;</p><p> (10) 低功耗空閑和掉電方式。</p>
20、<p> 它的價格便宜,功能強大,能耗低。很大程度上減少總電路的復(fù)雜性,提高了所設(shè)計系統(tǒng)的穩(wěn)定性。其芯片引腳圖如圖2所示。</p><p> 圖2 單片機AT89S52引腳圖</p><p><b> 3.2時鐘電路</b></p><p> 下圖所示為時鐘電路原理圖,在AT89S52芯片內(nèi)部有一個高增益反相放大器,其輸入
21、端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。</p><p><b> 3.3復(fù)位電路</b></p><p> 就是在RST端(9腳)外接的一個電路,目的是當(dāng)單片機上電開始工作時,內(nèi)部電路
22、從初始狀態(tài)開始工作,或者在工作中要想人為的讓單片機重新從初始狀態(tài)開始工作。在時鐘工作的情況下,只要AT89S52的復(fù)位引腳高電平保持兩個機器周期以上的時間,AT89S52便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且從地址0000H處開始讀入程序代碼而執(zhí)行程序。</p><p> 3.4顯示電路 </p><p><b> 數(shù)碼管顯示
23、電路</b></p><p><b> 3.5引腳控制</b></p><p> P0.0—P0.7對應(yīng)兩個數(shù)碼管的A、B、C、D、E、F、G和小數(shù)點位;P2.5控制數(shù)碼管個位的顯示,P2.6控制數(shù)碼管十位;P3.6、P3.7分別接按鍵</p><p><b> 3.6硬件元件清單</b></p&g
24、t;<p> 系統(tǒng)元器件清單見下表</p><p><b> 系統(tǒng)元器件清單</b></p><p><b> 4軟件設(shè)計與仿真</b></p><p> 本系統(tǒng)程序包括主程序、據(jù)子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。</p><p><b> 4.1主程序
25、設(shè)計</b></p><p> 主程序流程圖如下圖:</p><p> 4.2 仿真軟件簡介</p><p> Proteus是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:</p><p> ?。?)實現(xiàn)了單片機
26、仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。</p><p> ?。?)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以
27、及多種外圍芯片。</p><p> (3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2、MPLAB等軟件。</p><p> ?。?)具有強大的原理圖繪制功能。</p><p>
28、總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。</p><p> Proteus7.5是目前最好的模擬單片機外圍器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外圍電路(如LCD、RAM、ROM、鍵盤、馬達(dá)、LED、AD/DA、部分SPI器件、部分IIC器件等)。</p><p> 軟件編譯采用KEIL C51軟件,Keil C51是美國Kei
29、l Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。</p><p> Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生
30、成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p><b> 4.3 仿真結(jié)果 </b></p><p><b> 4.4 系統(tǒng)調(diào)試</b></p><p> 在調(diào)試過程中主要是對程序的修改和對線路的修改來使系統(tǒng)正常的工作</p><p><b>
31、 結(jié)束語</b></p><p> 本次的課程設(shè)計,使關(guān)于51系列單片機的,正是我們剛剛學(xué)到的51單片機,在平時課程的學(xué)習(xí)中,我們僅限于理論知識的講解,即使知識是很扎實的,實際應(yīng)用并不是這樣的。開始時我也覺得自己的理論知識已經(jīng)夠了,但當(dāng)我拿到課題時,在腦海里想的是非常好的,但真正編成和控制時,理論和實際結(jié)合不到一起,甚至于51芯片的使用我都感覺很迷茫,還是經(jīng)過搜集大量資料才將理論與實際結(jié)合到一起了
32、。本次課程設(shè)計我主要負(fù)責(zé)編程,這次不僅鍛煉了我C語言的知識,更加我們正在學(xué)習(xí)的51的定時與中斷結(jié)合在一起,進行了實際的操作,讓我的知識掌握得更加牢固。本次的實際經(jīng)驗之后,讓我對單片機定時賦初值有了更新的認(rèn)識,對程序的循環(huán)順序、結(jié)構(gòu)類型都有了非常深刻的認(rèn)識,對真正硬件的連接也有了認(rèn)識,不再將自己的知識局限于自己狹隘的空間中。通過這次課程設(shè)計——秒表/時鐘計時器,使我又重新開始學(xué)習(xí)C語言,因為C語言是大一學(xué)的,至從學(xué)完就再也沒用過,所以開始
33、很陌生,我又找了有關(guān)資料來了解,才有了一點眉目。剛開始以為可以用匯編很容易就寫出來,因為我們正在學(xué)習(xí)匯編語言,以為學(xué)的很明白了,但是用匯編時才發(fā)現(xiàn)原來都不怎么熟練,編了一會程序發(fā)現(xiàn)只有一種感覺——</p><p><b> 附錄:程序清單</b></p><p> #include <reg52.h></p><p> sbi
34、t key=P3^7;</p><p> unsigned char duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> static unsigned char k;</p><p> void delay(unsigned char t);</p>&l
35、t;p> void delayms(unsigned char t);</p><p> void INTO_Timer0();</p><p> void main()</p><p><b> {</b></p><p> static unsigned char b=0;</p>&l
36、t;p> P0=duanma[0];</p><p> P2=duanma[0];</p><p><b> while(1)</b></p><p><b> { </b></p><p><b> if(!key)</b></p>&
37、lt;p><b> {</b></p><p> delayms(10);</p><p><b> if(!key)</b></p><p><b> {</b></p><p><b> b++;</b></p><
38、p><b> if(b==1)</b></p><p><b> {</b></p><p> INTO_Timer0();</p><p><b> }</b></p><p><b> if(b==2)</b></p>&
39、lt;p><b> { </b></p><p><b> TR0=0;</b></p><p><b> }</b></p><p><b> if(b==3)</b></p><p><b> {</b>
40、</p><p><b> b=0;</b></p><p><b> k=0;</b></p><p> P0=duanma[0];</p><p> P2=duanma[0];</p><p><b> }</b></p>&
41、lt;p> while(!key);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> voi
42、d INTO_Timer0()</p><p><b> {</b></p><p> TMOD=0x01;</p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> EA=1;&l
43、t;/b></p><p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p> void isr_Timer0() interrupt 1</p><p>
44、<b> {</b></p><p> static unsigned char i;</p><p><b> i++;</b></p><p><b> if(i==2)</b></p><p><b> {</b></p>&
45、lt;p><b> i=0;</b></p><p><b> k++;</b></p><p> if(k==100)</p><p><b> k=0;</b></p><p> P0=duanma[k/10];</p><p>
46、P2=duanma[k%10];</p><p><b> }</b></p><p><b> }</b></p><p> void delay(unsigned char t)</p><p><b> {</b></p><p> wh
47、ile(t--);</p><p><b> }</b></p><p> void delayms(unsigned char t)</p><p><b> {</b></p><p> while(t--)</p><p><b> { &
48、lt;/b></p><p> delay(245);</p><p> delay(245);</p><p><b> }</b></p><p><b> }</b></p><p><b> 參考文獻</b></p>
49、<p> [1]《電子技能與EDA技術(shù)》 主編:韓克 柳秀山</p><p> [2]《數(shù)據(jù)電路設(shè)計報告》</p><p> [3]《電子控制電路實例》 主編:陳爾紹</p><p> [4]《數(shù)字電子技術(shù)基礎(chǔ)與綜合訓(xùn)練》 主編:盧慶林</p><p> [5]《數(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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計---60秒秒表
- 課程設(shè)計---單片機__60秒秒表
- 單片機課程設(shè)計---基于at89s52交通燈設(shè)計
- 單片機課程設(shè)計---基于at89s52單片機的溫度控制系統(tǒng)
- 單片機課程設(shè)計---基于at89s52 單片機的溫度控制系統(tǒng)
- 課程設(shè)計-- 基于at89s52單片機的密碼鎖設(shè)計
- 單片機課程設(shè)計---基于單片機at89s52的數(shù)字溫度計的設(shè)計
- 課程設(shè)計---基于at89s52單片機簡易電子琴設(shè)計
- 課程設(shè)計---基于at89s52單片機簡易電子琴設(shè)計
- 99秒秒表課程設(shè)計
- 課程設(shè)計--60秒秒表
- 99秒秒表課程設(shè)計
- 單片機外文翻譯---at89s52單片機
- 單片機課程設(shè)計報告--基于at89s52的簡易電子琴
- 課程設(shè)計---基于at89s52單片機數(shù)字音樂盒設(shè)計
- 基于at89s52單片機溫度測量的課程設(shè)計畢業(yè)論文
- 單片機外文翻譯--at89s52單片機
- at89s52單片機外文翻譯
- at89s52單片機外文翻譯
- 基于at89s52單片機的數(shù)字頻率計課程設(shè)計
評論
0/150
提交評論