用定時器計數(shù)器設(shè)計一個簡單的秒表互聯(lián)網(wǎng)_第1頁
用定時器計數(shù)器設(shè)計一個簡單的秒表互聯(lián)網(wǎng)_第2頁
用定時器計數(shù)器設(shè)計一個簡單的秒表互聯(lián)網(wǎng)_第3頁
用定時器計數(shù)器設(shè)計一個簡單的秒表互聯(lián)網(wǎng)_第4頁
用定時器計數(shù)器設(shè)計一個簡單的秒表互聯(lián)網(wǎng)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄摘要i1 proteus簡介12 主要相關(guān)硬件介紹22.1 at89c52簡介22.2 四位數(shù)碼管42.3 74ls139芯片介紹53 設(shè)計原理54 電路設(shè)計64.1 電路框圖設(shè)計64.2 電路模塊介紹74.2.1 控制電路74.2.2 譯碼電路74.2.3 數(shù)碼管顯示電路74.3 仿真電路圖85 設(shè)計代碼86 仿真圖127 仿真結(jié)果分析148 實物圖149 心得體會15參考文獻16ckwd2摘要 現(xiàn)在單片機的運用越來越寬泛,大到導(dǎo)彈的導(dǎo)航裝置、飛機上各種儀表的控制、計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸、工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,小到廣泛使用的各種智能ic卡、各種計時和計數(shù)器等等。本次課設(shè)

2、我們要設(shè)計一個能顯示計時狀態(tài)和結(jié)果的秒表,它是基于定時器/計數(shù)器設(shè)計一個簡單的秒表。本次設(shè)計的數(shù)字電子秒表系統(tǒng)采用at89c51單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、led數(shù)碼管以及外部中斷電路來設(shè)計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)四位led顯示,顯示時間為099.99秒,計時精度為0.01秒,能正確地進行計時,并顯示計時狀態(tài)和結(jié)果。其中軟件系統(tǒng)采用匯編或者c語言編寫程序,包括顯示程序,定時中斷服務(wù),外部中斷服務(wù)程序,延時程序等,并在keil中調(diào)試運行,硬件系統(tǒng)利用proteus強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀

3、態(tài)。關(guān)鍵詞:秒表,at89c51,proteus,c語言ckwd21 proteus簡介proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、pcb設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年又增加了cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編

4、譯器。proteus軟件具有其它eda工具軟件(例:multisim)的功能。這些功能是:1原理布圖2pcb自動或人工布線3spice電路仿真4互動的電路仿真5仿真處理器及其外圍電路proteus擁有豐富的資源,它體現(xiàn)在:1proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個元件庫。2proteus可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、spi調(diào)試器、i2c調(diào)試器、信號發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調(diào)用。3除了現(xiàn)實存在的儀器外,proteus還提供了一個圖形顯示功能,可以將線路上變化的信

5、號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結(jié)果的影響。4proteus可提供的調(diào)試手段 proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。 proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當(dāng)程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 課程設(shè)計、畢業(yè)設(shè)計是學(xué)生走向就業(yè)的重要實踐環(huán)節(jié)。由于proteus提供了實驗室無法相比的大量的元器件庫,提供了修改電路設(shè)計的靈活性、提

6、供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實踐精神、創(chuàng)造精神的平臺隨著科技的發(fā)展,“計算機仿真技術(shù)”已成為許多設(shè)計部門重要的前期設(shè)計手段。它具有設(shè)計靈活,結(jié)果、過程的統(tǒng)一的特點。可使設(shè)計時間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險。相信在單片機開發(fā)應(yīng)用中proteus也能茯得愈來愈廣泛的應(yīng)用。2 主要相關(guān)硬件介紹2.1 at89c52簡介at89c52是一個低電壓,高性能cmos 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容

7、標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,at89c52單片機在電子行業(yè)中有著廣泛的應(yīng)用。at89c52單片機參數(shù)如下:1、兼容mcs51指令系統(tǒng)2、8kb可反復(fù)擦寫(大于1000次)flash rom;3、32個雙向i/o口;4、256x8bit內(nèi)部ram;5、3個16位可編程定時/計數(shù)器中斷;6、時鐘頻率0-24mhz;7、2個串行中斷,可編程uart串行通道;8、2個外部中斷源,共8個中斷源;9、2個讀寫中斷口線,3級加密位;10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;11、有pdip、pqfp、tqfp及plcc等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求

8、。at89c52工作原理與at89c51單片機工作原理類似,at89c52為8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的c51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主ic 內(nèi)部寄存器、數(shù)據(jù)ram及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號ir的接收解碼及與主板cpu通信等。主要管腳有:xtal1(19 腳)和xtal2(18 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負(fù)端。

9、p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設(shè)計中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應(yīng)功能管腳相連接,13 腳定義為ir輸入端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板cpu 的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能,詳細(xì)端口分布見圖2-1圖2-1 at89c52端口圖2.2 四位數(shù)碼管四位數(shù)碼管可以分為共陽極與共陰極兩種,共陽極就是把所有l(wèi)ed的陽極連接到共同接點com,而每個led的陰極分別

10、為a、b、c、d、e、f、g及dp(小數(shù)點);共陰極則是把所有l(wèi)ed的陰極連接到共同接點com,而每個led的陽極分別為a、b、c、d、e、f、g及dp(小數(shù)點),如下圖2-2所示。通過控制各個led的亮滅來顯示數(shù)字。圖2-2 四位數(shù)碼管2.3 74ls139芯片介紹74ls139 為兩個2線4 線譯碼器,共有 54/74s139和 54/74ls139 兩種線路結(jié)構(gòu)型式,當(dāng)選通端(g1)為低電平,可將地址端(a、b)的二進制編碼在一個對應(yīng)的輸出端以低電平譯出。 若將選通端(g1)作為數(shù)據(jù)輸入端時,139 還可作數(shù)據(jù)分配器。具體的端口圖見圖2-3.圖2-3 74ls139引腳圖3 設(shè)計原理利用

11、at89s52單片機的定時器,使其能精確計時。利用中斷系統(tǒng)使其實現(xiàn)啟動、暫停以及復(fù)位清零的功能,p0口輸出段碼數(shù)據(jù),p2.0p2.2連上譯碼器作為位選,p3.2和p3.3接口的兩個按鈕分別實現(xiàn)啟動/暫停和復(fù)位功能。計時器采用t0中斷實現(xiàn),定時溢出中斷周期為1ms,當(dāng)溢出中斷后向cpu發(fā)出溢出中斷請求,每發(fā)出10次中斷請求就對10ms位(即最后一位)加一,達到100次就對100ms位加一,以此類推,直到99.99s為止。再看按鍵的處理。兩個按鍵采用中斷的方法,設(shè)置外部中斷0和外部中斷1位脈沖邊沿觸發(fā)方式,這樣一來每當(dāng)按鍵按下時便會觸發(fā)中斷,從而實現(xiàn)啟動/暫停和復(fù)位。開始鍵和暫停鍵使用了外部中斷,

12、所以需要連到單片機的p3.2和p3.3引腳上,這兩個i/o口的第二功能是單片機的外部中斷0端口和外部中斷1端口。 顯示電路由四位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制和4位位控制,8位段接控制接p0口,p0.0p0.7分別控制數(shù)碼管的a b c d e f g dp顯示,位控制接在p2.0和p2.1兩個口,在通過一個24譯碼器實現(xiàn)位控制。4 電路設(shè)計4.1 電路框圖設(shè)計譯碼器四位數(shù)碼管控制電路at89c51單片機圖4-1 電路設(shè)計框圖4.2 電路模塊介紹4.2.1 控制電路圖4-2控制模塊 本次課設(shè)設(shè)計了兩個按鈕,一個為開始和暫時按鈕,另外一個為復(fù)位按鈕,當(dāng)按下按鈕時,會根據(jù)程序中的相

13、應(yīng)中斷程序來實現(xiàn)相關(guān)功能。4.2.2 譯碼電路圖4-3 2-4譯碼電路2-4譯碼電路通過74ls139芯片來實現(xiàn)譯碼功能,其中a口接單片機p2.0口,b口接p2.1口,e口接地,y0y3口接數(shù)碼管的1234口,2-4譯碼電路實現(xiàn)了對數(shù)碼的位選功能。4.2.3 數(shù)碼管顯示電路圖4-4 數(shù)碼管顯示電路 本次顯示使用的數(shù)碼管為八段數(shù)碼管,共有8八二極管顯示單元,其中一個為小數(shù)點了,a、b、c、d、e、f、g、dp口接單片機上的p0.0p0.7口,來進行段選,14口接上文的譯碼電路。完成對秒表記時的顯示。4.3 仿真電路圖圖4-2 仿真電路5 設(shè)計代碼#include<reg52.h>un

14、signed int data table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /顯示碼值unsigned int i,j,k,l,count;char sw=0;void delay(unisigned int z) /延時程序unsigned int x,y;for(x=z;x!=0;x-)for(y=110;y!=0;y-);void main()tmod=0x01; /設(shè)置定時器為模式1th0=(65536-1000)/256; /給定時器賦定時初值tl0=(65536-1000)%256; ea=1; /開中斷ex0=

15、1;/打開外部中斷0中斷ex1=1;/打開外部中斷1中斷et0=1;/打開t0中斷it0=1; /設(shè)置外部中斷位脈沖邊沿觸發(fā)方式 it1=1; /跳變沿觸發(fā)方式int1上電平從從高到低的負(fù)跳變有效while(1) / 數(shù)碼顯示p2=0x03;p0=tablei;delay(1);p2=0x02;p0=tablej;delay(1);p2=0x01;p0=(tablek+0x80);delay(1);p2=0x00;p0=tablel;delay(1);void ex0() interrupt 0 /外部中斷0sw=!sw; /設(shè)置復(fù)位tr0=sw; void ex1() interrupt 2

16、 /外部中斷0 l=k=j=i=0; void timer0() interrupt 1 /定時器t0溢出中斷th0=(65536-1000)/256; /重裝計數(shù)初值tl0=(65536-1000)%256;count+; /溢出中斷次數(shù)加一if(count=10)count=0;i+; /溢出10次,0.01s位加一if(i=10)i=0; /0.01s位到10了,清零,0.1s位加一j+;if(j=10)j=0; /0.1s位到10了,清零,1s位加一k+;if(k=10)k=0; /1s位到10了,清零,10s位加一l+;ckwd26 仿真圖圖6-1 開始記時圖6-2 暫停記時圖6-3

17、 復(fù)位7 仿真結(jié)果分析 通過以上的分析,我們可知所設(shè)計的秒表計時器,可實現(xiàn)記時功能,既可以進行啟動記時,也可以通過同一個按鍵來實現(xiàn)暫停,并能通過復(fù)位清零鍵來使秒表記時器復(fù)位,以實現(xiàn)重新記時,在記時到99秒時,秒表會自動清零,需要重新按開始鍵才可以。8 實物圖圖8-1 單片機實物圖9 心得體會本次課設(shè)要求我們定時器/計數(shù)器設(shè)計一個簡單的秒表,能顯示計時狀態(tài)和結(jié)果。要求進行電路實驗或仿真,并使用c語言進行程序的開發(fā)。能力拓展訓(xùn)練使得我們又一次熟悉了已學(xué)的c語言和先學(xué)的單片機的應(yīng)用。通過這次能力拓展使我們的動手能得到了提升,而且學(xué)會了獨立完成一項任務(wù)。在做這次設(shè)計之前,通過查找相關(guān)資料,我已經(jīng)對本次

18、課設(shè)有了一定的了解,在查詢了大量資料和請教同學(xué)之后,我最終能成功的做出本次課設(shè)。但是在做課設(shè)的過程中發(fā)現(xiàn)有很多知識點沒有掌握,基礎(chǔ)知識不可缺少,但是一些核心的高層次的知識點更是不可忽視。在完成課設(shè)的過程中沒少向同學(xué)請教,由此我意識到,任何時候任何事情,閉門造車是不可取的,要一直堅持向周圍的師長,同學(xué)求教,以取得新的思考途徑。通過這次強化訓(xùn)練基礎(chǔ)課程知識的了解。這次的能力拓展訓(xùn)練主要與c語言編程和單片機原理等方面的知識,充分鍛煉了我運用所學(xué)知識解決實際問題的能力。通過查閱資料,溫習(xí)課本知識和學(xué)習(xí)筆記,我深刻領(lǐng)悟到各課程之間的聯(liá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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論