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

下載本文檔

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

文檔簡介

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

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

3、態(tài)。關(guān)鍵詞:秒表,AT89C51,proteus,C語言ckwd21 Proteus簡介Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持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自動(dòng)或人工布線3SPICE電路仿真4互動(dòng)的電路仿真5仿真處理器及其外圍電路Proteus擁有豐富的資源,它體現(xiàn)在:1Proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個(gè)元件庫。2Proteus可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、SPI調(diào)試器、I2C調(diào)試器、信號(hào)發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個(gè)電路中隨意的調(diào)用。3除了現(xiàn)實(shí)存在的儀器外,Proteus還提供了一個(gè)圖形顯示功能,可以將線路上變化的信

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

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

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

8、。AT89C52工作原理與AT89C51單片機(jī)工作原理類似,AT89C52為8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。

9、P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號(hào)功能端口,連接主板CPU的相應(yīng)功能端,用于當(dāng)前制式的檢測及會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能,詳細(xì)端口分布見圖2-1圖2-1 AT89C52端口圖2.2 四位數(shù)碼管四位數(shù)碼管可以分為共陽極與共陰極兩種,共陽極就是把所有LED的陽極連接到共同接點(diǎn)com,而每個(gè)LED的陰極分別為a、b、c

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

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

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

13、實(shí)現(xiàn)相關(guān)功能。4.2.2 譯碼電路圖4-3 2-4譯碼電路2-4譯碼電路通過74LS139芯片來實(shí)現(xiàn)譯碼功能,其中A口接單片機(jī)P2.0口,B口接P2.1口,E口接地,Y0Y3口接數(shù)碼管的1234口,2-4譯碼電路實(shí)現(xiàn)了對(duì)數(shù)碼的位選功能。4.2.3 數(shù)碼管顯示電路圖4-4 數(shù)碼管顯示電路 本次顯示使用的數(shù)碼管為八段數(shù)碼管,共有8八二極管顯示單元,其中一個(gè)為小數(shù)點(diǎn)了,A、B、C、D、E、F、G、DP口接單片機(jī)上的P0.0P0.7口,來進(jìn)行段選,14口接上文的譯碼電路。完成對(duì)秒表記時(shí)的顯示。4.3 仿真電路圖圖4-2 仿真電路5 設(shè)計(jì)代碼#includeunsigned int data table

14、=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) /延時(shí)程序unsigned int x,y;for(x=z;x!=0;x-)for(y=110;y!=0;y-);void main()TMOD=0x01; /設(shè)置定時(shí)器為模式1TH0=(65536-1000)/256; /給定時(shí)器賦定時(shí)初值TL0=(65536-1000)%256; EA=1; /開中斷EX0=1;/打開外部中斷0中斷EX1=1;/打開

15、外部中斷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 /外部中斷0 l=k=j=i=0; vo

16、id timer0() interrupt 1 /定時(shí)器T0溢出中斷TH0=(65536-1000)/256; /重裝計(jì)數(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 開始記時(shí)圖6-2 暫停記時(shí)圖6-3 復(fù)位7 仿真結(jié)果分析 通過以上的分析,我

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

18、同學(xué)之后,我最終能成功的做出本次課設(shè)。但是在做課設(shè)的過程中發(fā)現(xiàn)有很多知識(shí)點(diǎn)沒有掌握,基礎(chǔ)知識(shí)不可缺少,但是一些核心的高層次的知識(shí)點(diǎn)更是不可忽視。在完成課設(shè)的過程中沒少向同學(xué)請(qǐng)教,由此我意識(shí)到,任何時(shí)候任何事情,閉門造車是不可取的,要一直堅(jiān)持向周圍的師長,同學(xué)求教,以取得新的思考途徑。通過這次強(qiáng)化訓(xùn)練基礎(chǔ)課程知識(shí)的了解。這次的能力拓展訓(xùn)練主要與C語言編程和單片機(jī)原理等方面的知識(shí),充分鍛煉了我運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力。通過查閱資料,溫習(xí)課本知識(shí)和學(xué)習(xí)筆記,我深刻領(lǐng)悟到各課程之間的聯(lián)系,并初步掌握了綜合運(yùn)用課本知識(shí)分析問題的方法。本次簡單秒表的設(shè)計(jì)采用單片機(jī)與微機(jī)原理編程的方法,實(shí)現(xiàn)了秒表Proteus原理圖的繪制和仿真,達(dá)到了預(yù)期目的,完成了設(shè)計(jì)的任務(wù)要求。這次設(shè)計(jì)充分檢驗(yàn)了我自學(xué)的能力。這次的設(shè)計(jì)任務(wù)涉及到了許多軟件方面的知識(shí)。通過查閱資料,我不但鞏固了所學(xué)的課本知識(shí),而且學(xué)會(huì)了熟練使用許多軟件。通過這次拓展訓(xùn)練,我也意識(shí)到自己的不足,單片機(jī)方面的知識(shí)對(duì)我們工作和學(xué)習(xí)都非常重要,而我在這方面還存在很多不足,以后還是要多多學(xué)習(xí)相關(guān)知識(shí),虛心請(qǐng)教他人才能取得長足的進(jìn)步,是自己的專業(yè)知識(shí)技能更近一步,使自己在以后的學(xué)習(xí)工作有能力勝任相關(guān)的工作要求。參考文獻(xiàn)1 李群芳,張士軍.單片微型計(jì)算機(jī)與接口技術(shù).電子工業(yè)出版社,2010.7.12 張毅剛. 基于Proteus的單片機(jī)課程

溫馨提示

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

評(píng)論

0/150

提交評(píng)論