單片機(jī)的課程設(shè)計(jì)-30秒定時(shí)器_第1頁(yè)
單片機(jī)的課程設(shè)計(jì)-30秒定時(shí)器_第2頁(yè)
單片機(jī)的課程設(shè)計(jì)-30秒定時(shí)器_第3頁(yè)
單片機(jī)的課程設(shè)計(jì)-30秒定時(shí)器_第4頁(yè)
單片機(jī)的課程設(shè)計(jì)-30秒定時(shí)器_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目 錄一、籃球計(jì)時(shí)器作用.1二、設(shè)計(jì)的具體實(shí)現(xiàn).11.系統(tǒng)概述.11.1總體設(shè)計(jì)思路及方案.11.2流程圖.2 1.3計(jì)數(shù)原理.3 1.4定時(shí)器工作方式.52.單元電路設(shè)計(jì).72.1 8051單片機(jī).72.2兩個(gè)基本電路.9 2.3八段數(shù)碼管的驅(qū)動(dòng)方式.123.軟件程序設(shè)計(jì).13 單片機(jī)的定時(shí)器設(shè)計(jì)一、籃球計(jì)時(shí)器的作用 在籃球比賽中,規(guī)定了球員的持球時(shí)間不能超過24秒,否則就視為犯規(guī)。本課程設(shè) 計(jì)的“籃球競(jìng)賽24秒定時(shí)器”,可用于籃球比賽中對(duì)球員持球時(shí)間作24秒時(shí)間限制。一旦球員的持球時(shí)間超過了24秒,它自動(dòng)報(bào)警,從而判定此球員犯規(guī)。二、設(shè)計(jì)的具體實(shí)現(xiàn)1.系統(tǒng)概述1.1總體設(shè)計(jì)思路及方案 圖1

2、.1.1 總設(shè)計(jì)圖流程圖: 最小系統(tǒng),就是最簡(jiǎn)單的輸出/輸入構(gòu)成,并且能實(shí)現(xiàn)最基本的運(yùn)行條件,如應(yīng)有供電、時(shí)鐘附屬電路等。單片機(jī)的最小系統(tǒng)包括晶振電路 復(fù)位電路 和電源 , 這時(shí)最小系統(tǒng)基本組成 當(dāng)然還可以添加矩陣鍵盤 數(shù)碼管等。 此實(shí)驗(yàn)的原理是,利用單片機(jī)的最小系統(tǒng),通過鎖存器74HC573控制數(shù)碼管,來實(shí)現(xiàn)30秒定時(shí)器的功能。圖1.1.2最小系統(tǒng)1.2計(jì)數(shù)原理80C51單片機(jī)內(nèi)部設(shè)有兩個(gè)16位的可編程定時(shí)器/計(jì)數(shù)器。在定時(shí)器/計(jì)數(shù)器中除了有兩個(gè)16位的計(jì)數(shù)器之外,還有兩個(gè)特殊功能寄存器(控制寄存器和方式寄存器)。1.2.1定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)16位的定時(shí)/計(jì)數(shù)器分別由兩個(gè)8位專用寄存器組成

3、,即:T0由TH0和TL0構(gòu)成;T1由TH1和TL1構(gòu)成。每個(gè)寄存器均可單獨(dú)訪問。這些寄存器是用于存放定時(shí)或計(jì)數(shù)初值的。此外,其內(nèi)部還有一個(gè)8位的定時(shí)器方式寄存器TMOD和一個(gè)8位的定時(shí)控制寄存器TCON。這些寄存器之間是通過內(nèi)部總線和控制邏輯電路連接起來的。1.2.2定時(shí)計(jì)數(shù)器的原理當(dāng)定時(shí)器/計(jì)數(shù)器為定時(shí)工作方式時(shí),計(jì)數(shù)器的加1信號(hào)由振蕩器的12分頻信號(hào)產(chǎn)生,顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。因一個(gè)機(jī)器周期等于12個(gè)振蕩周期,所以計(jì)數(shù)頻率fcount=1/12osc。如果晶振為12MHz,則計(jì)數(shù)周期為:  T=1/(12×106)Hz×1/1

4、2=1s這是最短的定時(shí)周期。若要延長(zhǎng)定時(shí)時(shí)間,則需要改變定時(shí)器的初值,并要適當(dāng)選擇定時(shí)器的長(zhǎng)度(如8位、13位、16位等)。當(dāng)定時(shí)器/計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過引腳T0和T1對(duì)外部信號(hào)計(jì)數(shù),外部脈沖的下降沿將觸發(fā)計(jì)數(shù)。計(jì)數(shù)器在每個(gè)機(jī)器周期的S5P2期間采樣引腳輸入電平。若一個(gè)機(jī)器周期采樣值為1,下一個(gè)機(jī)器周期采樣值為0,則計(jì)數(shù)器加1。此后的機(jī)器周期S3P1期間,新的計(jì)數(shù)值裝入計(jì)數(shù)器。所以檢測(cè)一個(gè)由1至0的跳變需要兩個(gè)機(jī)器周期,故外部事年的最高計(jì)數(shù)頻率為振蕩頻率的1/24。當(dāng)CPU用軟件給定時(shí)器設(shè)置了某種工作方式之后,定時(shí)器就會(huì)按設(shè)定的工作方式獨(dú)立運(yùn)行,不再占用CPU的操作時(shí)間,除非定時(shí)器計(jì)滿

5、溢出,才可能中斷CPU當(dāng)前操作。CPU也可以重新設(shè)置定時(shí)器工作方式,以改變定時(shí)器的操作。由此可見,定時(shí)器是單片機(jī)中效率高而且工作靈活的部件。1.3定時(shí)器工作方式8051的兩個(gè)定時(shí)器/計(jì)數(shù)器都有4種工作方式是,即工作方式03。由于本次課程設(shè)計(jì)主要涉及定時(shí)器/計(jì)數(shù)器0的工作方式2,所以以下將重點(diǎn)介紹定時(shí)器/計(jì)數(shù)器0的工作方式2。本次課程設(shè)計(jì)使用定時(shí)器工作方式2,是由于其相對(duì)定時(shí)器工作方式0和工作方式1有一定的長(zhǎng)處。工作方式0和工作方式1有一個(gè)共同點(diǎn),就是計(jì)數(shù)溢出后計(jì)數(shù)器全為0,因此循環(huán)定時(shí)應(yīng)用時(shí)就需要反復(fù)設(shè)置計(jì)數(shù)初值。這不但影響定時(shí)精度,而且也給程序設(shè)計(jì)帶來麻煩。工作方式2就是針對(duì)此問題而設(shè)置的,

6、它具有自動(dòng)重新加載計(jì)數(shù)初值的功能,免去了反復(fù)設(shè)置計(jì)數(shù)初值的麻煩。定時(shí)器/計(jì)數(shù)器0的工作方式0和工作方式2所對(duì)應(yīng)的電路邏輯結(jié)構(gòu)圖分別如圖1.4.1和圖1.4.2所示。圖1.4.1定時(shí)器/計(jì)數(shù)器0的工作方式0邏輯結(jié)構(gòu)圖1.4.2 定時(shí)器/計(jì)數(shù)器0的工作方式2邏輯結(jié)構(gòu)對(duì)比上述兩圖,可以發(fā)現(xiàn)工作方式0和工作方式2對(duì)應(yīng)的邏輯結(jié)構(gòu)還是有許多部分相同的,如兩圖的右半部分,而兩圖左半部分則有所差異。下面將對(duì)其相同點(diǎn)和不同點(diǎn)作簡(jiǎn)要分析,這也是為什么這次課程設(shè)計(jì)選擇工作方式2的原因。相同點(diǎn):兩種工作方式,計(jì)數(shù)脈沖既可以來自芯片內(nèi)部,也可以來自外部。來自內(nèi)部的是機(jī)器周期脈沖,圖中OSC是英文Oscillator(振

7、蕩器)的縮寫,表示芯片的晶振脈沖,經(jīng)12分頻后,即為單片機(jī)的機(jī)器周期脈沖。來自外部的計(jì)數(shù)脈沖由T0(P3.4)引腳輸入,計(jì)數(shù)脈沖由控制寄存器TMOD的位進(jìn)行控制。當(dāng)=0時(shí),接通機(jī)器周期脈沖,計(jì)數(shù)器每個(gè)機(jī)器周期進(jìn)行一次加1,這就是定時(shí)器工作方式;當(dāng)=1時(shí),接通外部計(jì)數(shù)引腳T0(P3.4),從T0引入計(jì)數(shù)脈沖輸入,這就是計(jì)數(shù)工作方式。不同點(diǎn):如圖3-1所示的左半部分,工作方式0條件下,TL0使用了5位,當(dāng)TL0的低5位計(jì)數(shù)溢出時(shí),向TH0進(jìn)位;而全部13位計(jì)數(shù)溢出時(shí),向計(jì)數(shù)溢出標(biāo)志位TF0進(jìn)位,將其置1。如圖3-2所示的左半部分,工作方式2條件下,16位計(jì)數(shù)器被分成兩部分,TL作為計(jì)數(shù)器使用,TH

8、作為預(yù)置寄存器使用,初始化時(shí)把計(jì)數(shù)初值分別裝入TL和TH中。當(dāng)計(jì)數(shù)溢出后,由預(yù)置寄存器TH以硬件方法自動(dòng)給計(jì)數(shù)器TL重新加載。變軟件加載為硬件加載。更詳細(xì)點(diǎn),初始化時(shí),8位計(jì)數(shù)初值同時(shí)裝入TL0和TH0。當(dāng)TL0計(jì)數(shù)溢出時(shí),置位TF0,并用保存在預(yù)置寄存器TH0中的計(jì)數(shù)初值自動(dòng)加載TL0,然后開始重新計(jì)數(shù)。如此重復(fù),這樣不但省去了用戶程序中的重裝指令,而且也有利于提高定時(shí)精度。2.單元電路設(shè)計(jì)2.1 8051單片機(jī)圖2.1.1電源電路 圖2.1.2 8051電路圖(1) P1口:P1口是一8位雙向I/O口。口引腳P1.2P1.7提供內(nèi)部上拉電阻。P1.0和P1.1要求外部上拉電阻。P1.0和P

9、1.1還分別作為片內(nèi)精密模擬比較器的同相輸入(AIN0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收20mA電流并能直接驅(qū)動(dòng)LED顯示。當(dāng)P1口引腳寫入“1”時(shí),其可用作輸入端。當(dāng)引腳P1.2P1.7用作輸入并被外部拉低時(shí),它們將因內(nèi)部的上拉電阻而流出電流(IIL)。P1口還在閃速編程和程序校驗(yàn)期間接收代碼數(shù)據(jù)。(2)P3口:P3口的P3.0P3.5、P3.7是帶有內(nèi)部上拉電阻的七個(gè)雙向I/0引腳。P3.6用于固定輸入片內(nèi)比較器的輸出信號(hào)并且它作為一通用I/O引腳而不可訪問。P3口緩沖器可吸收20mA電流。當(dāng)P3口引腳寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可用作輸入端。用作輸入時(shí),被外部拉低

10、的P3口引腳將用上拉電阻而流出電流(IIL)。 P3口還用于實(shí)現(xiàn)AT89C2051的各種功能,如下表1所示。P3口還接收一些用于閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 P3口引腳 功能 P3.0 RXD(串行輸入端口)  P3.1 TXD(串行輸出端口)  P3.2 INT0(外中斷0)  P3.3 INT1(外中斷1)  P3.4 TO(定時(shí)器0外部輸入)  P3.5        T1(定時(shí)器1

11、外部輸入) 表2-1-1  P3口的功能 (3) RST:復(fù)位輸入。RST一旦變成高電平,所有的I/O引腳就復(fù)位到“1”。當(dāng)振蕩器正在運(yùn)行時(shí),持續(xù)給出RST引腳兩個(gè)機(jī)器周期的高電平便可完成復(fù)位。每一個(gè)機(jī)器周期需12個(gè)振蕩器或時(shí)鐘周期。       (4) XTAL1:作為振蕩器反相放大器的輸入和內(nèi)部時(shí)鐘發(fā)生器的輸入。   (5) XTAL2:作為振蕩器反相放大器的輸出。(6)Vcc:電源電壓; (7)GND:地。2.2兩個(gè)基本電路 圖2.2.1復(fù)位電路 圖2.2.2 晶振電路復(fù)位電路:

12、一般需要送4個(gè)時(shí)鐘周期的高電平。按鍵后:電容器被短路放電、RST直接和VCC相連,就是高電平,此時(shí)進(jìn)入“復(fù)位狀態(tài)”。松手后:電源開始對(duì)電容器充電,此時(shí),充電電流在電阻上,形成高電平送到RST,仍然是“復(fù)位狀態(tài)”; 稍后,充電結(jié)束,電流降為0,電阻上的電壓也將為0,RST降為低電平,開始正常工作。晶振電路:產(chǎn)生一個(gè)固定頻率的脈充,驅(qū)動(dòng)芯片等元件工作。晶振也叫晶體振蕩器,能產(chǎn)生振蕩,其特點(diǎn)是固有頻率十分穩(wěn)定,而且震動(dòng)具有多諧性,除了奇頻震動(dòng)外還有奇次諧波泛音震動(dòng)。性能上,晶振的品質(zhì)因素Q和特性阻抗都非常高,而且接入系數(shù)很小,因此具有很高的頻率穩(wěn)定度。兩個(gè)小的瓷片電容叫負(fù)載電容,可以用來微調(diào)晶體震蕩

13、頻率,這個(gè)電容要根據(jù)所用晶體來選擇,晶體規(guī)格書里面會(huì)有其負(fù)載電容的值 大致為2035PF。一般單片機(jī)的晶振工作于并聯(lián)諧振狀態(tài),也可以理解為諧振電容的一部分。它是根據(jù)晶振廠家提供的晶振要求負(fù)載電容選值的,換句話說,晶振的頻率就是在它提供的負(fù)載電容下測(cè)得的,能最大限度的保證頻率值的誤差。也能保證溫漂等誤差。兩個(gè)電容的取值都是相同的,或者說相差不大,如果相差太大,容易造成諧振的不平衡,容易造成停振或者干脆不起振。程序清單 ORG 0000H SJMP MAIN ORG 000BH LJMP T0_ISR ORG 0030H MAIN: MOV P0,#3FH ;初始化賦值 MOV P1,#0FFH

14、MOV P2,#3FH MOV R0,#00H MOV R1,#24 MOV DPTR,#TAB KEY: JB P3.0,$ ;判斷啟動(dòng)鍵是否按下 ACALL DELAY30MS JNB P3.0,$ ACALL START SJMP KEYSTART: MOV TMOD,#01H ;啟動(dòng)程序 MOV TH0,#0D8H MOV TL0,#0EFH SETB ET0 SETB EA SETB TR0 STOP: JB P3.2,ZTJX ;判斷復(fù)位鍵是否程序 ACALL DELAY30MS JNB P3.2,$ SJMP MAIN ;復(fù)位程序ZTJX : JB P3.1,XS ;判斷暫停鍵是

15、否按下 ACALL DELAY30MS JNB P3.1,$ ZT: CLR TR0 ;K2按下后暫停計(jì)數(shù),并關(guān)中斷 CLR ET0 CLR EA JB P3.1,$ ;K2再次按下繼續(xù)計(jì)數(shù) ACALL DELAY30MS JNB P3.1,$ JX: SETB ET0 ;第二次按下暫停鍵后繼續(xù)倒計(jì)時(shí)(繼續(xù)啟動(dòng)) SETB EA SETB TR0 XS: MOV A,R1 ;顯示子程序 MOV B,#10 DIV AB MOVC A, A+DPTR MOV P0,A ; 顯示秒十位 MOV A,B MOVC A, A+DPTR MOV P2,A ;顯示秒個(gè)位 CJNE R0,#100,STOP

16、 ;1S時(shí)間到否,未到直接轉(zhuǎn)數(shù)碼管顯示 MOV R0,#00H ;1S時(shí)間到,R0重賦初值 MOV A,R1 ;R1減1,不為0轉(zhuǎn)數(shù)碼管顯示,為0則重新開始 CLR C SUBB A,#1 MOV R1,A JNC STOP ;計(jì)數(shù)未到0繼續(xù)判斷暫停鍵和停止鍵 MOV R1,#24 ;計(jì)數(shù)到0停止計(jì)數(shù)并關(guān)中斷, CLR ET0 CLR EA CLR TR0 SJMP SND ;跳到報(bào)警程序 SJMP KEY ; 跳回開始檢測(cè)啟動(dòng)鍵 RET DELAY30MS: MOV R6,#150 ;延時(shí)程序子程序AAA; MOV R7,#100 DJNZ R7,$ DJNZ R6,AAA; RET T0_ISR: CLR TR0 ;中斷程序子程序 MOV TH0,#0D8H MOV TL0,#0EFH INC R0 SETB TR0 RETI SND: CLR P1.0 ;報(bào)警程序子程序(紅色發(fā)光二極管亮一下就滅) MOV R7,#0FFH DL: MOV R6,#0FFH DL1: DJNZ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論