




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單元4 時間顯示模塊設(shè)計回顧 1,8051單片機最小系統(tǒng)的組成?單片機最小系統(tǒng)的組成?2,單片機運行以什么單位計算時間?,單片機運行以什么單位計算時間?3,單片機如何驅(qū)動,單片機如何驅(qū)動LED?本單元任務(wù)p任務(wù)1 數(shù)碼管顯示設(shè)計 p任務(wù)2 定時器應(yīng)用設(shè)計p任務(wù)3 DS1302時鐘設(shè)計p任務(wù)4 按鍵計數(shù)設(shè)計 任務(wù)1 數(shù)碼管顯示設(shè)計 任務(wù)描述:任務(wù)描述:任務(wù)分析:任務(wù)分析: LED數(shù)碼管顯示器作為嵌入式單片機應(yīng)用產(chǎn)品中常用的廉價輸出設(shè)備,數(shù)碼管顯示器作為嵌入式單片機應(yīng)用產(chǎn)品中常用的廉價輸出設(shè)備,更是單片機系統(tǒng)設(shè)計經(jīng)常使用的顯示設(shè)備。本任務(wù)要求設(shè)計時間顯示模塊,更是單片機系統(tǒng)設(shè)計經(jīng)常使用的顯示設(shè)備。
2、本任務(wù)要求設(shè)計時間顯示模塊,模擬模擬24小時制時間運行,時間初始為小時制時間運行,時間初始為10點整。點整。 模擬模擬24小時運行,需用小時運行,需用6位位LED數(shù)碼管(小時、分鐘、秒各需數(shù)碼管(小時、分鐘、秒各需2位)位)進行顯示。先將進行顯示。先將LED數(shù)碼管安裝在單片機數(shù)碼管安裝在單片機I/O上,程序設(shè)計初始時間為上,程序設(shè)計初始時間為10:00:00,每隔一定時間,單位秒加,每隔一定時間,單位秒加1,并進行秒、分鐘、小時的正確進位,并進行秒、分鐘、小時的正確進位即可。即可。 1,七段LED數(shù)碼管工作原理 n七段LED數(shù)碼管是由發(fā)光二級管排列構(gòu)成.由(ag 7段)和1個圓點(dp)組成。
3、LED數(shù)碼管的的連接方式有共陽極和共陰極兩種。 q共陰極共陰極:把各段發(fā)光二極管的陰極連接在一起,然后通過接地或低電平,如下圖示,根據(jù)要求需點亮發(fā)光二極管的陽極輸入高電平,不需點亮的發(fā)光二極管的陽極輸入低電平。q共陽極共陽極:把各段發(fā)光二極管的陽極連接在一起,然后通過接電源或高電平,如下圖示, 根據(jù)要求需點亮發(fā)光二極管的陰極輸入低電平,不需點亮的發(fā)光二極管的陰極輸入高電平。 通過控制7段發(fā)光二極不同組合的亮滅,顯示出不同的數(shù)字與字母。例如你要用單片機控制數(shù)碼管顯示3的數(shù)字,那就要分別點亮發(fā)光二極管的a,b,c,d,g段,如下圖示(共陽極) . n七段碼LED顯示器字形編碼:n請同學(xué)們理解每個字
4、符的編碼由來請同學(xué)們理解每個字符的編碼由來顯示字符共陽極共陰極顯示字符共陽極共陰極00 xC00 x3FC0 xC60 x3910 xF90 x06D0 xA10 x5E20 xA40 x5BE0 x860 x7930 xB00 x4FF0 x8E0 x7140 x990 x66P0 x8C0 x7350 x920 x6DU0 xC10 x3E60 x820 x7DR0 xCE0 x3170 xF80 x07Y0 x910 x6E80 x800 x7F亮0 x000 xFF90 x900 x6F滅0 xFF0 x00A0 x880 x77H0 x890 x76B0 x830 x7CL0 xC7
5、0 x38【例4-1】試設(shè)計驅(qū)動1位數(shù)碼管顯示8個流水燈點亮的序號。 設(shè)計分析設(shè)計分析:流水LED燈和P1口相連,1位數(shù)碼管的段選線和P2相連,位選線直接和電源(高電平)相連,使得數(shù)碼管處于一直工作狀態(tài)而無需編程選中,如圖4-5所示。當(dāng)?shù)谝粋€LED點亮?xí)r,編程驅(qū)動數(shù)碼管顯示“1”,當(dāng)?shù)诙€LED點亮?xí)r,編程驅(qū)動數(shù)碼管顯示“2”即數(shù)碼管的顯示內(nèi)容跟隨著被點亮LED的序號而改變。 void main() unsigned char i=0;while(1)P1 = led_lighti;/點亮對應(yīng)的LEDP2 = seg7_lighti; /LED顯示相應(yīng)的數(shù)字delay();i+;/i自加1if
6、(i=8)i=0;/判斷是否點亮最后一個LED,是則重新點亮 2,數(shù)碼管顯示方式 n靜態(tài)顯示方式靜態(tài)顯示方式 q每位數(shù)碼管的段選線和位選線是獨立的,所以同一時刻可以顯示不同的字符,編程簡單。但是這樣很浪費單片機的I/O口資源,N位靜態(tài)數(shù)碼管就要求有N8根I/O接口線,所以適合數(shù)碼管較少的場合。n動態(tài)顯示方式動態(tài)顯示方式:動態(tài)顯示方式的接口電路的連接是將所有數(shù)碼管的段選線(adp) 同名并聯(lián),如所有a段并聯(lián),所有b段并聯(lián),然后有一個8位的I/O接口來控制各個段。而每位數(shù)碼管的位選線由相應(yīng)的I/O接口控制,每一瞬間只有一位數(shù)碼管的位選線被選中,所以每一瞬間只能顯示一位數(shù)碼管,同樣,下一瞬間只選中另
7、一位數(shù)碼管的位選線,所以下一瞬間也只能顯示下一位數(shù)碼管。等所有數(shù)碼管都掃描完畢后,又再進行下一輪的循環(huán)掃描循環(huán)掃描。由于掃描時間很短由于掃描時間很短,人眼的人眼的視覺殘留效應(yīng),所以看到的是所有數(shù)碼管一起顯示視覺殘留效應(yīng),所以看到的是所有數(shù)碼管一起顯示?!纠?-2】試設(shè)計驅(qū)動2位數(shù)碼管動態(tài)顯示“28”。設(shè)計分析設(shè)計分析:2位數(shù)碼管與單片機連接如圖4-10所示,其中段選線和P0口相連,位選線則分別由P2.6、P2.7控制。根據(jù)數(shù)碼管動態(tài)顯示每次只選中1位數(shù)碼管工作的掃描原理,程序設(shè)計上先掃描顯示第1位數(shù)碼管(只需位選第1位數(shù)碼管P2=0 xbf,“2”的編碼賦值給段選線P0=0 xa4),接著掃描
8、顯示第2位數(shù)碼管(只需位選第2位數(shù)碼管P2=0 x7f,“8”的編碼賦值給段選線P0=0 x80)。 void main() while(1)P2 = 0 xbf;/位選數(shù)碼管,即選中第一位數(shù)碼管P0= 0 xa4;/段選數(shù)碼管,“2”的編碼賦值給P0display_delay();/顯示延時P0=0 xff;/關(guān)閉顯示 P2 = 0 x7f;/位選數(shù)碼管,即選中第二位數(shù)碼管P0= 0 x80;/段選數(shù)碼管,“8”的編碼賦值給P0display_delay();/顯示延時P0=0 xff;/關(guān)閉顯示 n1. Proteus電路設(shè)計 n2. Keil C51程序設(shè)計 n3. Proteus-Ke
9、il聯(lián)合調(diào)試仿真 任務(wù)實施硬件電路圖n(1)程序流程初始時間為10點整。主程序循環(huán)掃描6個數(shù)碼管動態(tài)顯示,由于掃描速度很快,因此在程序設(shè)計上,考慮6個數(shù)碼管動態(tài)掃描多次(100)后,再進行顯示加1。同時注意秒、分鐘、小時的進制進位。 驅(qū)動點亮數(shù)碼管模擬時間顯示i=100?Ysecond2=6?YNN開始second1=10?NY初始時間變量為10點整初始循環(huán)掃描變量i為0變量second1加1變量i加1變量i清0變量second1清0變量second2加1min1=10?N變量second2清0變量min1加1min2=6?N變量min1清0變量min2加1hour1=10?N變量min2清0
10、變量hour1加1hour2=2&hour1=4N變量hour1清0變量hour2加1YYhour1、hour2清0YYn運行Proteus-Keil聯(lián)合調(diào)試仿真 任務(wù)2 定時器應(yīng)用設(shè)計 任務(wù)描述:任務(wù)描述:任務(wù)分析:任務(wù)分析:任務(wù)任務(wù)1仿仿24小時制運行,其精度無法達到實用價值,本任務(wù)要求設(shè)小時制運行,其精度無法達到實用價值,本任務(wù)要求設(shè)計實用的時鐘,驅(qū)動六個數(shù)碼管按計實用的時鐘,驅(qū)動六個數(shù)碼管按24小時制顯示運行。小時制顯示運行。 嵌入式程序設(shè)計中經(jīng)常定義函數(shù)實現(xiàn)延時,這對于要求不高、無需嵌入式程序設(shè)計中經(jīng)常定義函數(shù)實現(xiàn)延時,這對于要求不高、無需精確的的情況下,尚無大礙。然而在某些
11、場合對時間的精度要求比較高,精確的的情況下,尚無大礙。然而在某些場合對時間的精度要求比較高,比如時鐘設(shè)計,如果仍然采用延時程序進行秒、分鐘、小時的延時設(shè)計,比如時鐘設(shè)計,如果仍然采用延時程序進行秒、分鐘、小時的延時設(shè)計,隨著運行時間的增加,其累積誤差就會很大,甚至導(dǎo)致項目設(shè)計的失敗。隨著運行時間的增加,其累積誤差就會很大,甚至導(dǎo)致項目設(shè)計的失敗。另一方面由于單片機系統(tǒng)一般是多任務(wù)系統(tǒng),延時程序運行的同時將使單另一方面由于單片機系統(tǒng)一般是多任務(wù)系統(tǒng),延時程序運行的同時將使單片機片機CPU無法快速執(zhí)行其他代碼,從而不符合設(shè)計要求。本任務(wù)學(xué)習(xí)單片無法快速執(zhí)行其他代碼,從而不符合設(shè)計要求。本任務(wù)學(xué)習(xí)單
12、片機定時機定時/計數(shù)器部件,其定時功能滿足對時間有嚴格要求的場合。計數(shù)器部件,其定時功能滿足對時間有嚴格要求的場合。 1.定時/計數(shù)器結(jié)構(gòu)2.定時器如何計算時間 n在“內(nèi)部計時器” 功能下,每個機器周期定時器的值增1。因此,可以說此時的定時器是在計數(shù)機器周期。一個機器周期由12個晶振周期組成。當(dāng)晶振頻率為12MHz時:12,000,000/12=1,000,000就是每秒鐘有1,000,000個機器周期,即每個機器周期的時間是1s。定時器的值是在每個機器周期下(1us)增1;n課堂思考:(1)當(dāng)晶振頻率為6MHz時,定時器的值多長時間加1? (2)12MHz晶振頻率下,要求一次溢出定時時間為1
13、0us,請問定時寄存器THx/TLx計數(shù)多少次產(chǎn)生溢出?如果將晶振頻率改為6MHz呢? 定時器工作模式需要在定時器模式寄存器TMOD(Timer Mode Control Register)中進行編程設(shè)定。定時器模式寄存器TMOD不可以位尋址。位位符號符號功能說明功能說明7GATE定時器1門控制位(Timer 1 Gating Control Bit)當(dāng)TCON中的TR0設(shè)定為1,并且GATE=1,定時器1(Time1)只在 INT1引腳為高電平時計時(或計數(shù))當(dāng)GATE=0時,定時器1(Time1)只在TCON中的TR0設(shè)定為1時計時(或計數(shù))6C/T定時器1定時、計數(shù)功能選擇位(Timer
14、 1 Counter/Timer Select Bit)C/T=0時,定時器1(Time1)工作于計時方式C/T=1時,定時器1(Time1)工作于計數(shù)方式5M1定時器1工作模式選擇位(Timer 1 Mode Select Bit)4M0定時器1工作模式選擇位(Timer 1 Mode Select Bit)3GATE定時器0門控制位(Timer 0 Gating Control Bit)當(dāng)TCON中的TR0設(shè)定為1,并且GATE=1,定時器0(Time0)只在 INT0引腳為高電平時計時(或計數(shù))當(dāng)GATE=0時,定時器0(Time0)只在TCON中的TR0設(shè)定為1時計時(或計數(shù))2C/T
15、定時、計數(shù)功能選擇位(Timer 0 Counter/Timer Select Bit )C/T=0時,定時器0(Time0)工作于計時方式C/T=1時,定時器0(Time0)工作于計數(shù)方式1M1定時器0工作模式選擇位(Timer 0 Mode Select Bits)0M0定時器0工作模式選擇位(Timer 0 Mode Select Bits)3. 定時器專用寄存器 MODEM1M0模式說明模式說明00013位定時器10116位定時器2108位定時器;自動加載311TL0為8位計時(或計數(shù))器,由T0控制;TH0為另一計時(或計數(shù))器,由T1控制;TL1、TH1此時不使用。n特殊功能寄存器
16、TCOD也稱為定時器控制寄存器。 n定時寄存器定時寄存器(Timer Register) 定時器由兩個兩個8位寄存器位寄存器組成,分別是高字節(jié)寄存器(High Byte Register)和低字節(jié)寄存器(Low Byte Register)。對于定時器定時器0分別對應(yīng)分別對應(yīng)TH0寄存器(TH0 Register)和TL0寄存器(TL0 Register),對于定時器定時器1則分別對應(yīng)則分別對應(yīng)TH1寄存器和TL1寄存器。這兩個寄存器在模式0、模式1時組合成字數(shù)據(jù)寄存器使用,在模式2時分別使用,定時器0模式3分別使用,定時器1模式3不使用 。 nTR0:定時器定時器0運行控制位運行控制位(Ti
17、mer 0 Run Control Bit)由軟件置1或清0。置置1時定時器時定時器0啟動,啟動,清清0時定時時定時器器0停止停止nET0:定時器定時器0中斷控制位中斷控制位(Timer 0 interrupt Control Bit)由軟件置1或清0。置置1時允許定時器時允許定時器0中斷中斷,清清0時時關(guān)閉定時器關(guān)閉定時器0中斷中斷4.定時器工作方式n通過設(shè)置TMOD寄存器的M1、M0位,可以構(gòu)成定時器的4種工作方式。 n(1)方式0 n(2)方式1 n(3)方式2 n(4)方式3 5.定時器的設(shè)置與控制 n初始設(shè)置初始設(shè)置8051單片機內(nèi)部的定時器/計數(shù)器是可編程的,其工作方式和工作過程均
18、可通過程序進行設(shè)定和控制,需要初始設(shè)置的內(nèi)容如下:q先給定時器方式寄存器TMOD送一個方式控制字,設(shè)定使用哪個定時器及相應(yīng)的工作方式;q給定時寄存器(THx,TLx)送定時初值,確定需要定時的時間;q根據(jù)需要給中斷允許寄存器IE送中斷控制字,給中斷優(yōu)先級寄存器IP送優(yōu)先級控制字,以開放相應(yīng)中斷和設(shè)定中斷優(yōu)先級;q給定時器控制寄存器TCON送命令字,啟/停定時器運行。 n【例4-4】 晶振頻率為12Mhz,選擇T0定時1ms,在只依靠軟件控制定時器計數(shù)開關(guān)的情況下,請設(shè)置正確的T0的相關(guān)寄存器?n分析:選擇定時器T0,即需設(shè)置T0相關(guān)寄存器TMOD、TH0、TL0 、TCON。 n(1)晶振頻率
19、12Mhz情況下,每個機器周期是1s,定時1ms即是1000us。而方式2、3為8位計數(shù)器,一次溢出最長時間為256us,需要多次溢出才能達到1ms的定時要求,這樣將增加編程復(fù)雜性。如果采用方式0、方式1,它們一次溢出最長時間分別為8193us、65536us,即一次溢出范圍內(nèi)即可實現(xiàn)定時1000us。因此可設(shè)置采用T0方式1進行定時,由于只依靠軟件控制定時啟/停,即GATE應(yīng)為0。TMOD的高4位用來控制T1,可全部清“0”,只需設(shè)置TMOD低4位 TMOD用字節(jié)指令賦值為:TMOD=0 x01; n(2)由于12MHz晶振頻率下的機器周器為1us,因此周期定時1ms需要計數(shù)1,000個機器
20、周期,也就是定時寄存器TH0/TL0數(shù)值累計增加1,000即可。為了方便掌握定時時間結(jié)束的時間點,將定時寄存器設(shè)置為剛好經(jīng)過1,000累加就溢出。下面是設(shè)置定時寄存器的初始值過程:65536-1000=64536;將64536轉(zhuǎn)為成16進制:64536=0 xfc18,將0 xfc賦值給TH0,0 x18賦值給TL0即可。TH0=0 xfc; /TH0存放定時初值高8位TL0=0 x18;/TL0存放定時初值低8位即16位定時器,當(dāng)TH0/TL0從0 xfc18加到溢出(0 xffff再加1時),正好是1ms。 n(3)定時器0溢出可采用軟件查詢溢出標志位TF0的方法來判斷,但一般將定時器溢出
21、作為中斷處理,因此,將中斷允許寄存器IE的ET0位和EA位置1。即:ET0=1;/允許T0溢出中斷EA=1;/允許總中斷如果此系統(tǒng)中沒有其他的中斷源,一般不需要設(shè)置IP。n(4)啟動定時器運行,即將TCON的TR0置“1”。TR0=1;/啟動T0運行 n判斷定時寄存器是否溢出判斷定時寄存器是否溢出q前面討論了定時寄存器的工作原理,它在相應(yīng)信號源作用下,定時寄存器的值均會增1,當(dāng)THx/TLx的值超出了其表示范圍時,硬件就會自動將標志位TF0(或TF1)置1,定時寄存器的值也會恢復(fù)到初始值0(方式2除外)。q因此很多時候無需讀取定時寄存器的值,就可以知道期望的計時時間是否已經(jīng)結(jié)束,方法就是預(yù)先將
22、定時寄存器設(shè)置為剛好經(jīng)過期望的定時時間就溢出。故了解溢出標志位的情況,成為判斷計時是否結(jié)束的方便方法。q溢出標志位可以產(chǎn)生中斷申請,當(dāng)打開相應(yīng)中斷允許位,便引發(fā)硬件動作執(zhí)行中斷服務(wù)程序。 n【例4-5】擇TIME0的定時功能,在MODE1模式下,編程控制定時動作開關(guān);如定時0.5ms, 請運用溢出產(chǎn)生中斷的方式編寫相關(guān)程序?主程序的T0溢出中斷初始化程序:TMOD=0 x01;/初始TMOD寄存器TH0=HIGH(65536-500);/初始TH0/TL0寄存器,裝載定時初值TL0=LOW(65536-500);TR0=1; /啟動定時器T0運行ET0=1;/允許T0中斷EA=1;/開放總中斷
23、 T0溢出中斷程序:void T0_interrupt() interrupt 1 using 1/TH0=HIGH(65536-500);/重裝定時初值 TL0=LOW(65536-500);;【課堂思考】設(shè)定時器T0,以方式1工作,試編寫定時1s的程序。 n1. Proteus電路設(shè)計 n2. Keil C51程序設(shè)計 n3. Proteus-Keil聯(lián)合調(diào)試仿真 任務(wù)實施硬件電路圖n定時器時鐘程序流程及說明主程序?qū)⒀h(huán)點亮6個共陽極數(shù)碼管進行相應(yīng)的顯示,當(dāng)秒加到60進一位分鐘,當(dāng)分鐘加到60進一位小時,當(dāng)小時加到24重新清0開始。時間運行則采用定時器設(shè)計,每次定時50ms,計數(shù)20次定時
24、為1s。 定時次數(shù)變量清0時間運行到1s否秒、分鐘、小時變量相應(yīng)變化驅(qū)動數(shù)碼管秒、分鐘、小時進行相應(yīng)顯示開始Y初始定時器0寄存器及相關(guān)變量Nn運行Proteus-Keil聯(lián)合調(diào)試仿真 任務(wù)3 DS1302時鐘設(shè)計 任務(wù)描述:任務(wù)描述:任務(wù)分析:任務(wù)分析:本任務(wù)要求在主機斷電情況下,時鐘仍保持運行,即當(dāng)開機后,時本任務(wù)要求在主機斷電情況下,時鐘仍保持運行,即當(dāng)開機后,時鐘顯示模塊能顯示當(dāng)前正確時間(秒、分鐘、小時),并能擴展實現(xiàn)對日、鐘顯示模塊能顯示當(dāng)前正確時間(秒、分鐘、小時),并能擴展實現(xiàn)對日、月、星期、年的計數(shù)等。月、星期、年的計數(shù)等。 如果時鐘運行模塊與主機共電源,當(dāng)主機掉電后,時鐘模塊
25、也將停如果時鐘運行模塊與主機共電源,當(dāng)主機掉電后,時鐘模塊也將停止運行。重新開機后,時間又將從初始狀態(tài)開始運行,需要手動調(diào)整為正止運行。重新開機后,時間又將從初始狀態(tài)開始運行,需要手動調(diào)整為正確時間。因此,由主機產(chǎn)生時鐘運行信號或主機與時鐘模塊共一套電源,確時間。因此,由主機產(chǎn)生時鐘運行信號或主機與時鐘模塊共一套電源,在實際應(yīng)用中并不常見。目前一般運用實時時鐘芯片實現(xiàn)對秒、分鐘、小在實際應(yīng)用中并不常見。目前一般運用實時時鐘芯片實現(xiàn)對秒、分鐘、小時、月、星期、年的計數(shù),本任務(wù)選用時、月、星期、年的計數(shù),本任務(wù)選用DS1302串行時鐘芯片作為時鐘運串行時鐘芯片作為時鐘運行的核心部件,由單片機控制完
26、成實時時鐘的設(shè)計。行的核心部件,由單片機控制完成實時時鐘的設(shè)計。 1.串行時鐘電路DS1302接口簡介n串行時鐘電路DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,其接口簡單、價格低廉、使用方便,被廣泛地采用。它的主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能。 DS1302時鐘可以對秒、分鐘、小時、月、星期、年的計數(shù),年計數(shù)可達到2100 年;閏年可自行調(diào)整;可選擇12 小時制和24 小時制;可以設(shè)置AM、PM;有31*8 位的額外數(shù)據(jù)暫存寄存器;工作電壓:2.0-5.5V。 2. DS1302引腳及功能 3. DS1302寄存器 寄存器
27、名稱命令字 各位內(nèi)容取值范圍讀寫D7D6D5D4D3D2D1D0秒寄存器80H81HCH10SECSEC00-59分寄存器82H83H010MINMIN00-59小時寄存器84H85H12/24010HRHR01-12,0-23日期寄存器86H87H0010DATEDATE01-28,29,30,31月份寄存器88H89H00010MMONTH01-12周寄存器8AH8BH00000DAY01-07年份寄存器8CH8DH10YEARYEAR01-99控制寄存器8EH8FHWP00000004.數(shù)據(jù)輸入輸出時序圖 n1. Proteus電路設(shè)計 n2. Keil C51程序設(shè)計 n3. Prot
28、eus-Keil聯(lián)合調(diào)試仿真 任務(wù)實施硬件電路圖nDS1302程序設(shè)計開始初始變量及定義引腳讀DS1302秒數(shù)據(jù)讀DS1302分數(shù)據(jù)驅(qū)動數(shù)碼管顯示讀DS1302小時數(shù)據(jù)驅(qū)動數(shù)碼管顯示驅(qū)動數(shù)碼管顯示n運行Proteus-Keil聯(lián)合調(diào)試仿真 【課堂思考【課堂思考】如要取得DS1302日歷、星期數(shù)據(jù),請編寫出相應(yīng)的程序。 任務(wù)4 按鍵計數(shù)設(shè)計 任務(wù)描述:任務(wù)描述:任務(wù)分析:任務(wù)分析:任何一個電子元器件都有壽命,比如按鍵一般使用次數(shù)在任何一個電子元器件都有壽命,比如按鍵一般使用次數(shù)在10萬次。萬次。為了解有關(guān)器件的使用情況,本任務(wù)要求統(tǒng)計最常用按鍵(用來改變流水為了解有關(guān)器件的使用情況,本任務(wù)要求統(tǒng)
29、計最常用按鍵(用來改變流水燈運行狀態(tài)的按鍵)的使用次數(shù),當(dāng)達到燈運行狀態(tài)的按鍵)的使用次數(shù),當(dāng)達到10萬次后發(fā)聲警報,及時通知更萬次后發(fā)聲警報,及時通知更換按鍵以保證系統(tǒng)正常工作。換按鍵以保證系統(tǒng)正常工作。 顯然,用查詢方式設(shè)計按鍵是無法滿足要求。前面講到,顯然,用查詢方式設(shè)計按鍵是無法滿足要求。前面講到,51單片機單片機的定時器除了計時功能外,還有計數(shù)的作用,因此可以使用其的定時器除了計時功能外,還有計數(shù)的作用,因此可以使用其“計數(shù)計數(shù)”功功能自動統(tǒng)計按鍵次數(shù)。能自動統(tǒng)計按鍵次數(shù)。 1.定時器如何實現(xiàn)計數(shù) n當(dāng)它用作對外部事件計數(shù)時,接相應(yīng)的外部輸入引腳T0(P3.4)或T1(P3.5)。在
30、這種情況下,當(dāng)檢測到輸入引腳上的電平由高跳變到低,計數(shù)器就加1。把啤酒瓶經(jīng)過產(chǎn)生的脈沖信號接入P3.4引腳,每過一瓶啤酒則T0寄存器的計數(shù)值增1。這個過程是統(tǒng)計外部事件觸發(fā)的次數(shù),是個計數(shù)過程,如果沒有外部事件發(fā)生,計數(shù)器的值不變。如果想要了解生產(chǎn)線上經(jīng)過的啤酒瓶數(shù)量,只需讀取計數(shù)器中的值即可。 2.計數(shù)器的設(shè)置與控制n在確定了定時器的計數(shù)功能后,需要初始設(shè)置同定時大致相同,主要步驟如下:qTMOD中將功能設(shè)置為計數(shù)器,即將位設(shè)置為1,同時設(shè)置工作模式,即設(shè)置M1、M0的值;q設(shè)定計數(shù)寄存器THx/TLx的初始值;q根據(jù)需要設(shè)置中斷允許寄存器IE或優(yōu)先級寄存器IP的值,以開放相應(yīng)中斷和設(shè)定中斷優(yōu)先級;q通過TCON設(shè)置計數(shù)器的啟動方式,將GATE設(shè)置為0則通過TRx啟動。 3.單片機I/O驅(qū)動實現(xiàn)發(fā)聲警報n蜂鳴器分為壓電式和電磁式兩種。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼組成,其發(fā)聲原理為
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年資產(chǎn)評估師職業(yè)資格考試歷年真題解析
- 2025年鄉(xiāng)村醫(yī)生公共衛(wèi)生服務(wù)基本技能操作試題庫
- 2025年注冊會計師《會計》科目易錯題預(yù)測與深度解析試卷
- 2025年企業(yè)培訓(xùn)師職業(yè)資格考試真題卷:企業(yè)培訓(xùn)師培訓(xùn)師培訓(xùn)課程創(chuàng)新試題
- 2025年P(guān)MP項目管理專業(yè)人士資格考試模擬試卷五
- 2025年資產(chǎn)評估師職業(yè)資格考試真題卷:資產(chǎn)評估報告撰寫技巧試題
- 2025年專升本藝術(shù)概論考試模擬卷(藝術(shù)審美心理與藝術(shù)教育改革實踐研究)
- 2025設(shè)備采購合同標準范本
- 2025合同違約索賠仲裁申請書
- 介入護理進修后回院匯報
- 構(gòu)建和諧師生關(guān)系主題班會通用課件
- 混凝土裂縫的預(yù)防與控制通用課件
- 2024書香校園匯報材料五篇范文
- 國有企業(yè)投資并購
- 丁達爾效應(yīng)(修訂版)
- 安檢培訓(xùn)心得體會
- 復(fù)合外模板(巖棉帶)現(xiàn)澆混凝土保溫系統(tǒng)建筑構(gòu)造
- 國家義務(wù)教育質(zhì)量監(jiān)測心理健康和德育測試題
- 急性心衰護理個案
- 企業(yè)管理箴言解讀
- 2023靜脈治療護理技術(shù)操作標準解讀
評論
0/150
提交評論