




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第二部分程序編寫程序框架結(jié)構(gòu)(背?。?整體框架結(jié)構(gòu) 具體程序結(jié)構(gòu) for(初始化表達式;條件表達式;增量表達式) while do while if( )else switch . case整體框架結(jié)構(gòu)(背?。?#include 宏定義或這全局變量 延時子程序 字符串顯示子程序 void main (viod) 參量定義與調(diào)用子程序中斷子程序While (表達式)語句(內(nèi)部可為空)特點:先執(zhí)行和判斷表達式,后執(zhí)行語句。原則:若表達式非0,即為真,那么執(zhí)行語句。否則跳出while 語句。While和dowhile簡單小程序?qū)嵗?#include void main (void) unsigned
2、 char i,sun; sum=0; i=1; while(i=100) sum=sum+i;i+; P2=sum; While和dowhile#includesbit P2_1=P20;unsigned int a;void main() /主函數(shù)while(1!=0) a=50000;P2_1=0;while(a-!=0);P2_1=1;a=50000; while(a-); 用while語句控制P2口花樣閃爍延時60msi從0到255,指示燈顯示數(shù)字#include /*函數(shù)功能:延時約60ms (3*100*200=60000s)*/void delay60ms(void) unsi
3、gned char m,n; for(m=0;m100;m+) for(n=0;n200;n+) ;void main(void) unsigned char i; while(1) i=0; while(i0 xff) P2=i; delay60ms(); i+; dowhile 先執(zhí)行循環(huán)體,后判斷的類型do 循環(huán)體 while(表達式); 例子:例子:用用do.while 讓讓LED花樣閃爍花樣閃爍程序下載步驟 安裝MCU-VERSION2使用手冊中的USB轉(zhuǎn)串口K340 定義COM4 打開應(yīng)用軟件中stc-isp下載 點擊 界面設(shè)置下載注意事項 務(wù)必要斷電 在變換代 碼處打勾程序的反匯
4、編 復(fù)習其他高級操作 單步執(zhí)行 設(shè)置斷點 端口查看 查看窗口view_for(初始化表達式;條件表達式;增量表達式)語句塊;(背住)執(zhí)行過程eg: 初始化后首先看滿足條件 表達式嗎?是,執(zhí)行語句塊并 增量;否,退出循環(huán)。 分號的問題 空語句; 永久循環(huán) 具體編程應(yīng)用_P11單片機控制多盞LED實現(xiàn)彩燈顯示Void main () unsigned char I,sum; sum=0; for(i=0;i=10;i+)(無分號) sum=sum+I; P0=sum; 程序講解與模仿一 P2=0 xef; for(i=1;i20000;i+); P2=0 xdf; for(i=1;i20000;i
5、+) ;P2=0 xbf; for(i=1;i20000;i+);P2=0 x7f; for(i=1;i20000;i+); P2=0 xff; for(i=1;i20000;i+) ; P2=0 x00; for(i=1;i20000;i+) ;#includevoid main(void) unsigned int i; P2=0 xfe; for(i=1;i20000;i+) ; P2=0 xfd; for(i=1;i20000;i+) ;P2=0 xfb; for(i=1;i20000;i+) ;P2=0 xf7; for(i=1;i20000;i+) ;思考:能否改成5萬、6萬、7萬
6、、8萬等程序如何改進程序改進#include void delay(void) unsigned int i; for(i=1;i20000;i+) ; void main(void) P2=0 xfe; delay( ); P2=0 xfd; delay( ); P2=0 xfb; delay( ); P2=0 xf7; delay( ); P2=0 xef; delay( ); P2=0 xdf; delay( );P2=0 xbf; delay( );P2=0 x7f; delay( ); P2=0 xff; delay( ); P2=0 x00; delay( );程序還能不能更簡程序
7、還能不能更簡利用庫函數(shù)完成-更簡#include#includeunsigned int temp; void delay(void) unsigned int i; for(i=1;i20000;i+) ; void main()temp=0 xfe;while(1) P2=temp; delay( ); temp=_irol_(temp,1); 程序模仿二#include unsigned char LED;unsigned int i;delay ( ) for(i=0;i5000;i+);main( ) LED=0 x01; while(1) P2=LED; delay( ); LED
8、=1; if(LED=0)LED=0X01; 時間延時計算時間延時計算 t=N*T(機器周期)機器周期)=(3*5000+2)*1.085uS時間延時多用下面小子程序時間延時多用下面小子程序delay ( ) for(i=0;in;i+) for(i=0;ib) max=a; else max=b;If語句(2) If(表達式1) 語句1; else If(表達式2) 語句2; else If(表達式3) 語句3; else 語句4;用if語句控制p2口燈亮/實例:用if語句控制P0口8位LED的流水方向#include /包含單片機寄存器的頭文件sbit S1=P14; /將S1位定義為P1
9、.4sbit S2=P15; /將S2位定義為P1.5/*函數(shù)功能:主函數(shù)*/void main(void) while(1) if(S1=0) /如果按鍵S1按下 P2=0 x0f; /P2口高四位LED點亮 if(S2=0) /如果按鍵S2按下 P2=0 xf0; /P2口低四位LED點亮 Switchcase switch (表達式) case常量表達式1; 語句1; break; case常量表達式2; 語句2; break; . default; 語句n+1; 實例當i=1,第一個燈亮,依此類推課后練習(獨立完成)1. 第一個發(fā)光管以間隔200ms閃爍2. 8個發(fā)光管由上至下間隔50
10、0ms流動,同時蜂鳴器發(fā)聲。3. 8個發(fā)光管來回流動,間隔100ms,蜂鳴器發(fā)聲。4. 8個發(fā)光管間隔200ms由上至下,再由下至上,再由上至下,再由下至上,然后全部熄滅再以300ms間隔全部閃爍5次。重復(fù)上面過程。蜂鳴器和繼電器 硬件電路 軟件編程練習繼電器有參和無參函數(shù) 自己編寫延時500ms的程序有參子程序調(diào)用#include#define uchar unsigned char #define uint unsigned int sbit buzzer=P34; void delay(uchar z) uchar x,y;for(x=1000;x1;x-)for(y=z;y1;y-);
11、void main() /主函數(shù) while(1) buzzer=0;delay(500);buzzer=1; delay(500); 數(shù)碼管應(yīng)用 課堂練習:用按鍵計次顯示自己的學號 用數(shù)碼管顯示你的學號 硬件電路 編寫顯示一個數(shù)字的程序獨立按鍵 位置:鍵盤和中斷一排下2個按鍵 鍵盤方向問題:以數(shù)碼管方向為準,上上下下; 與跳線相連,方向外外; 硬件電路具體電路獨立按鍵應(yīng)用 防抖動電路#includesbit key1=P10; sbit key2=P11; sbit led1=P20;sbit led2=P21;void delay(unsigned int t) unsigned int
12、i,j; for(i=1000;i0;i-) for(j=t;j0;j-);void main() while(1) if(key1=0) delay(7); if(key1=0) led1=led1; if(key2=0) delay(7); if(key2=0) led2=led2; 數(shù)碼管abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b)共陰極共陽極 使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。TX-1B實驗板
13、用共陰LED顯示器,根據(jù)電路連接圖顯示16進制數(shù)的編碼已列在下表。 顯示原理共陰數(shù)碼管碼表 0 x3f , 0 x06 , 0 x5b , 0 x4f , 0 x66 , 0 x6d , 0 1 2 3 4 5 0 x7d , 0 x07 , 0 x7f , 0 x6f , 0 x77 , 0 x7c , 6 7 8 9 A B 0 x39 , 0 x5e , 0 x79 , 0 x71 , 0 x00 C D E F 無顯示Led代碼查詢軟件應(yīng)用 點擊 界面 共陰 共陽 點擊生 成代碼 LED數(shù)碼顯示方式及電路數(shù)碼顯示方式及電路 靜態(tài)顯示方式靜態(tài)顯示方式LED顯示器工作方式有兩種:靜態(tài)顯示方
14、式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復(fù)雜,成本較高。 動態(tài)顯示 動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,
15、所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。 ALEWRRDRXDTXDINT0EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U189C52PSENP10P11P12P13P14P15P16P17T0T1INT1P00P01P02P03P04P05P06P
16、07P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27P20P21P22P23abfcgdeDPY117421105ab cd e fg3dpdpabfcgdedpabfcgdedpabfcgdedpC06C28C39C412LEDDPY 4-LED12345678161514131211109R1KP00P01P02P03P04P05P06P075V我們實際板子數(shù)碼管接口位選控制:位選控制: P1_0 , P1_1 , P1_2段選控制:段選控制: P2口口在驅(qū)動芯片上:在驅(qū)動芯片上: 74HC138 74HC245在驅(qū)動方式上:在驅(qū)動方式上:
17、動態(tài)顯示動態(tài)顯示數(shù)碼管 優(yōu)點優(yōu)點 缺點缺點動態(tài)顯示:動態(tài)顯示: 代碼簡潔邏輯清晰代碼簡潔邏輯清晰 流動顯示控制延時流動顯示控制延時 靜態(tài)顯示:靜態(tài)顯示: 顯示穩(wěn)定顯示穩(wěn)定 調(diào)用繁瑣調(diào)用繁瑣74HC138譯碼器74HC138譯碼器74HC24574HC245數(shù)組 一維數(shù)組 int a7=0,1,2,3,4,5,6 二維數(shù)組 unsigned char x34 字符數(shù)組 char a2=B, E, I char str=“Now,Temerature is:”P12 按鍵計次顯示程序3.1 80C51的中斷系統(tǒng)的中斷系統(tǒng) 3.1.1 80C513.1.1 80C51的中斷系統(tǒng)結(jié)構(gòu)的中斷系統(tǒng)結(jié)構(gòu)一、
18、中斷的概念一、中斷的概念 CPUCPU在處理某一事件在處理某一事件A A時,發(fā)生了另一事件時,發(fā)生了另一事件B B請求請求CPUCPU迅速去處理(迅速去處理(中斷發(fā)生中斷發(fā)生);); CPUCPU暫時中斷當前的工作,轉(zhuǎn)去處理事件暫時中斷當前的工作,轉(zhuǎn)去處理事件B B(中斷響應(yīng)和中斷服務(wù)中斷響應(yīng)和中斷服務(wù));); 待待CPUCPU將事件將事件B B處理完畢后,再回到原來事處理完畢后,再回到原來事件件A A被中斷的地方繼續(xù)處理事件被中斷的地方繼續(xù)處理事件A A(中斷返中斷返回回),這一過程稱為),這一過程稱為中斷中斷 。MCS-51單片機的中斷系統(tǒng)結(jié)構(gòu)執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷
19、響應(yīng)執(zhí)行中斷處理程序中斷返回引起引起CPU中斷的根源,稱為中斷的根源,稱為中斷源中斷源。中斷源向。中斷源向CPU提出提出的中斷請求。的中斷請求。CPU暫時中斷原來的事務(wù)暫時中斷原來的事務(wù)A,轉(zhuǎn)去處理事件,轉(zhuǎn)去處理事件B。對事件對事件B處理完畢后,再回到原來被中斷的地方(即處理完畢后,再回到原來被中斷的地方(即斷點斷點),),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)中斷系統(tǒng)(中斷機構(gòu))。(中斷機構(gòu))。 隨著計算機技術(shù)的應(yīng)用,人們發(fā)現(xiàn)中斷技隨著計算機技術(shù)的應(yīng)用,人們發(fā)現(xiàn)中斷技術(shù)不僅解決了快速主機與慢速術(shù)不僅解決了快速主機與慢速I/O設(shè)備的數(shù)據(jù)設(shè)備的數(shù)
20、據(jù)傳送問題,而且還具有如下優(yōu)點:傳送問題,而且還具有如下優(yōu)點: 分時操作分時操作。CPU可以分時為多個可以分時為多個I/O設(shè)備服設(shè)備服務(wù),提高了計算機的利用率;務(wù),提高了計算機的利用率;實時響應(yīng)實時響應(yīng)。CPU能夠及時處理應(yīng)用系統(tǒng)的隨能夠及時處理應(yīng)用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;機事件,系統(tǒng)的實時性大大增強;可靠性高可靠性高。CPU具有處理設(shè)備故障及掉電等具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。80C51中斷系統(tǒng)的結(jié)構(gòu)中斷系統(tǒng)的結(jié)構(gòu) 80C51的中斷系統(tǒng)有的中斷系統(tǒng)有5個中斷源個中斷源(8052有 6個) ,2個優(yōu)先級,可實現(xiàn)
21、二級中斷嵌套個優(yōu)先級,可實現(xiàn)二級中斷嵌套 。 1 1、(、(P3.2P3.2)可由)可由IT0(TCON.0)IT0(TCON.0)選擇其為低電平選擇其為低電平有效還是下降沿有效。當有效還是下降沿有效。當CPUCPU檢測到檢測到P3.2P3.2引腳上引腳上出現(xiàn)有效的中斷信號時,中斷標志出現(xiàn)有效的中斷信號時,中斷標志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申請中斷。申請中斷。 2 2、(P3.3(P3.3)可由)可由IT1(TCON.2)IT1(TCON.2)選擇其為低電平選擇其為低電平有效還是下降沿有效。當有效還是下降沿有效。當CPUCPU檢測到檢測到P3.3
22、P3.3引腳上引腳上出現(xiàn)有效的中斷信號時,中斷標志出現(xiàn)有效的中斷信號時,中斷標志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申請中斷。申請中斷。 3 3、TF0TF0(TCON.5TCON.5),片內(nèi)定時),片內(nèi)定時/ /計數(shù)器計數(shù)器T0T0溢出中斷請求標志。當定時溢出中斷請求標志。當定時/ /計數(shù)器計數(shù)器T0T0發(fā)生發(fā)生溢出時,置位溢出時,置位TF0TF0,并向,并向CPUCPU申請中斷。申請中斷。 4 4、TF1TF1(TCON.7TCON.7),片內(nèi)定時),片內(nèi)定時/ /計數(shù)器計數(shù)器T1T1溢出中斷請求標志。當定時溢出中斷請求標志。當定時/ /計數(shù)器計數(shù)器T1
23、T1發(fā)生發(fā)生溢出時,置位溢出時,置位TF1TF1,并向,并向CPUCPU申請中斷。申請中斷。 5 5、RIRI(SCON.0SCON.0)或)或TITI(SCON.1SCON.1),串行口),串行口中斷請求標志。當串行口接收完一幀串行數(shù)中斷請求標志。當串行口接收完一幀串行數(shù)據(jù)時置位據(jù)時置位RIRI或當串行口發(fā)送完一幀串行數(shù)據(jù)或當串行口發(fā)送完一幀串行數(shù)據(jù)時置位時置位TITI,向,向CPUCPU申請中斷。申請中斷。 二、中斷請求標志二、中斷請求標志1、TCON的中斷標志的中斷標志IT0(TCON.0),外部中斷),外部中斷0觸發(fā)方式控制位。觸發(fā)方式控制位。當當IT0=0時,為電平觸發(fā)方式。時,為電
24、平觸發(fā)方式。當當IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。時,為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷),外部中斷0中斷請求標志位。中斷請求標志位。IT1(TCON.2),外部中斷),外部中斷1觸發(fā)方式控制位。觸發(fā)方式控制位。IE1(TCON.3),外部中斷),外部中斷1中斷請求標志位。中斷請求標志位。TF0(TCON.5),定時),定時/計數(shù)器計數(shù)器T0溢出中斷請求標志位。溢出中斷請求標志位。TF1(TCON.7),定時),定時/計數(shù)器計數(shù)器T1溢出中斷請求標志位。溢出中斷請求標志位。 2、SCON的中斷標志的中斷標志RI(SCON.0),串行口接收中斷標志位。當允許
25、),串行口接收中斷標志位。當允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位件置位RI。注意,。注意,RI必須由軟件清除。必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標志位。當),串行口發(fā)送中斷標志位。當CPU將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位位TI。CPU響應(yīng)中斷時,不能自動清除響應(yīng)中斷時,不能自動清除TI,TI必須必須由軟件清除。由軟件清除。 一、中斷允許控制一、中斷允許控制 CPU對中斷系統(tǒng)所有中斷以
26、及某個中斷源的開放和屏蔽對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器是由中斷允許寄存器IE控制的??刂频摹?.1.3 80C513.1.3 80C51中斷的控制中斷的控制 EX0(IE.0),外部中斷,外部中斷0允許位;允許位;ET0(IE.1),定時,定時/計數(shù)器計數(shù)器T0中斷允許位;中斷允許位; EX1(IE.2),外部中斷,外部中斷0允許位;允許位;ET1(IE.3),定時,定時/計數(shù)器計數(shù)器T1中斷允許位;中斷允許位;ES(IE.4),串行口中斷允許位;,串行口中斷允許位;EA (IE.7), CPU中斷允許(總允許)位。中斷允許(總允許)位。二、中斷優(yōu)先級控制二、中
27、斷優(yōu)先級控制 80C51單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二級單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的中的相應(yīng)位的狀態(tài)來規(guī)定的 。PX0(IP.0),外部中斷),外部中斷0優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PT0(IP.1),定時),定時/計數(shù)器計數(shù)器T0優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PX1(IP.2),外部中斷),外部中斷0優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PT1(IP.3),定時),定時/計數(shù)器計數(shù)器T1優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PS (IP.4),串行口優(yōu)先級設(shè)定
28、位;),串行口優(yōu)先級設(shè)定位;PT2 (IP.5) ,定時,定時/計數(shù)器計數(shù)器T2優(yōu)先級設(shè)定位。優(yōu)先級設(shè)定位。PX0(IPH.0),外部中斷),外部中斷0優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PT0(IPH.1),定時),定時/計數(shù)器計數(shù)器T0優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PX1(IPH.2),外部中斷),外部中斷0優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PT1(IPH.3),定時),定時/計數(shù)器計數(shù)器T1優(yōu)先級設(shè)定位;優(yōu)先級設(shè)定位;PS (IPH.4),串行口優(yōu)先級設(shè)定位;),串行口優(yōu)先級設(shè)定位;PT2 (IPH.5) ,定時,定時/計數(shù)器計數(shù)器T2優(yōu)先級設(shè)定位。優(yōu)先級設(shè)定位。而而80C52單片機有四個中斷優(yōu)先級,即
29、可實現(xiàn)四級中單片機有四個中斷優(yōu)先級,即可實現(xiàn)四級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級由中斷優(yōu)先斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級由中斷優(yōu)先級寄存器級寄存器IP和和IPH中的相應(yīng)位的狀態(tài)來規(guī)定的中的相應(yīng)位的狀態(tài)來規(guī)定的 。 同一優(yōu)先級中的中斷申請不止一個時,則有中同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權(quán)排隊問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊,斷優(yōu)先權(quán)排隊問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:所示: 設(shè)置設(shè)置52單片機的單片機的4個中斷源個中斷源,使他們的優(yōu)順序使他們的優(yōu)順序為為T1,INT1,INT0
30、,T0.IPH = 0X08; PT1 = 1;IP = 0X40;PX1 = 1;80C51單片機的中斷優(yōu)先級有三條原則:單片機的中斷優(yōu)先級有三條原則:CPU同時接收到幾個中斷時,同時接收到幾個中斷時,首先響應(yīng)優(yōu)先級別最高首先響應(yīng)優(yōu)先級別最高的中斷請求的中斷請求。正在進行的中斷過程正在進行的中斷過程不能被新的同級或低優(yōu)先級的不能被新的同級或低優(yōu)先級的中斷請求所中斷中斷請求所中斷。正在進行的低優(yōu)先級中斷服務(wù),正在進行的低優(yōu)先級中斷服務(wù),能被高優(yōu)先級中斷能被高優(yōu)先級中斷請求所中斷請求所中斷。 為了實現(xiàn)上述后兩條原則,為了實現(xiàn)上述后兩條原則,中斷系統(tǒng)內(nèi)部設(shè)有兩中斷系統(tǒng)內(nèi)部設(shè)有兩個用戶不能尋址的優(yōu)先
31、級狀態(tài)觸發(fā)器。個用戶不能尋址的優(yōu)先級狀態(tài)觸發(fā)器。其中一個置其中一個置1,表示正在響應(yīng)高優(yōu)先級的中斷,它將阻斷后來所有表示正在響應(yīng)高優(yōu)先級的中斷,它將阻斷后來所有的中斷請求;另一個置的中斷請求;另一個置1,表示正在響應(yīng)低優(yōu)先級中,表示正在響應(yīng)低優(yōu)先級中斷,它將阻斷后來所有的低優(yōu)先級中斷請求。斷,它將阻斷后來所有的低優(yōu)先級中斷請求。3.2 80C51單片機中斷處理過程單片機中斷處理過程 中斷響應(yīng)條件中斷響應(yīng)條件 中斷源有中斷請求;中斷源有中斷請求; 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開中斷(即開中斷(即EA=1)。)。以上三條同時滿足時,以上三條同時滿足時,CPU才有可能響才
32、有可能響應(yīng)中斷應(yīng)中斷。3.2.1 3.2.1 中斷響應(yīng)條件和時間中斷響應(yīng)條件和時間 3.3 80C51的定時的定時/計數(shù)器計數(shù)器 實現(xiàn)定時功能,實現(xiàn)定時功能,比較方便的辦法是利用單比較方便的辦法是利用單片機內(nèi)部的定時片機內(nèi)部的定時/計數(shù)器計數(shù)器。也可以采用下面三。也可以采用下面三種方法:種方法:軟件定時軟件定時:軟件定時不占用硬件資源,但占用了:軟件定時不占用硬件資源,但占用了CPU時間,降低了時間,降低了CPU的利用率。的利用率。采用時基電路定時采用時基電路定時:例如采用:例如采用555電路,外接必要電路,外接必要的元器件(電阻和電容),即可構(gòu)成硬件定時電路。的元器件(電阻和電容),即可構(gòu)成
33、硬件定時電路。但在硬件連接好以后,定時值與定時范圍不能由軟但在硬件連接好以后,定時值與定時范圍不能由軟件進行控制和修改,即不可編程。件進行控制和修改,即不可編程。采用可編程芯片定時采用可編程芯片定時:這種定時芯片的定時值及定:這種定時芯片的定時值及定時范圍很容易用軟件來確定和修改,此種芯片定時時范圍很容易用軟件來確定和修改,此種芯片定時功能強,使用靈活。在單片機的定時功能強,使用靈活。在單片機的定時/計數(shù)器不夠用計數(shù)器不夠用時,可以考慮進行擴展。時,可以考慮進行擴展。3.3.1 3.3.1 定時定時/ /計數(shù)器的結(jié)構(gòu)和工作原理計數(shù)器的結(jié)構(gòu)和工作原理 一、定時一、定時/計數(shù)器的結(jié)構(gòu)計數(shù)器的結(jié)構(gòu)
34、定時定時/計數(shù)器的實質(zhì)是加計數(shù)器的實質(zhì)是加1計數(shù)器(計數(shù)器(16位),由高位),由高8位和低位和低8位兩個寄存器組成。位兩個寄存器組成。TMOD是定時是定時/計數(shù)器的工作方式寄存計數(shù)器的工作方式寄存器,確定工作方式和功能;器,確定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標志的啟動和停止及設(shè)置溢出標志。 二、定時二、定時/計數(shù)器的工作原理計數(shù)器的工作原理 加加1計數(shù)器計數(shù)器輸入的計數(shù)脈沖有兩個來源輸入的計數(shù)脈沖有兩個來源,一個是由一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后送來;一個分頻后送來;一個是是T0或或T1引腳
35、輸入的外部脈沖源。每來一個脈沖計引腳輸入的外部脈沖源。每來一個脈沖計數(shù)器加數(shù)器加1,當加到計數(shù)器為全,當加到計數(shù)器為全1時,再輸入一個脈沖時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使就使計數(shù)器回零,且計數(shù)器的溢出使TCON中中TF0或或TF1置置1,向,向CPU發(fā)出中斷請求(定時發(fā)出中斷請求(定時/計數(shù)器中斷允計數(shù)器中斷允許時)。如果定時許時)。如果定時/計數(shù)器工作于定時模式,則表計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。數(shù)值已滿。 可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加可見,由溢出時計數(shù)器的值減去計數(shù)
36、初值才是加1計數(shù)器的計數(shù)值計數(shù)器的計數(shù)值。 設(shè)置為定時器模式時設(shè)置為定時器模式時,加,加1計數(shù)器是對內(nèi)部機器周期計數(shù)器是對內(nèi)部機器周期計數(shù)(計數(shù)(1個機器周期等于個機器周期等于12個振蕩周期,即計數(shù)頻率個振蕩周期,即計數(shù)頻率為晶振頻率的為晶振頻率的1/12)。)。計數(shù)值計數(shù)值N乘以機器周期乘以機器周期Tcy就是就是定時時間定時時間t 。設(shè)置為設(shè)置為計數(shù)器模式時計數(shù)器模式時,外部事件計數(shù)脈沖由,外部事件計數(shù)脈沖由T0或或T1引腳輸入到計數(shù)器。在每個機器周期的引腳輸入到計數(shù)器。在每個機器周期的S5P2期間采樣期間采樣T0、T1引腳電平。當某周期采樣到一高電平輸入,而引腳電平。當某周期采樣到一高電平
37、輸入,而下一周期又采樣到一低電平時,則計數(shù)器加下一周期又采樣到一低電平時,則計數(shù)器加1,更新,更新的計數(shù)值在下一個機器周期的的計數(shù)值在下一個機器周期的S3P1期間裝入計數(shù)器。期間裝入計數(shù)器。由于檢測一個從由于檢測一個從1到到0的下降沿需要的下降沿需要2個機器周期,因個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當晶此要求被采樣的電平至少要維持一個機器周期。當晶振頻率為振頻率為12MHz時時,最高計數(shù)頻率不超過,最高計數(shù)頻率不超過1/2MHz,即,即計數(shù)脈沖的周期要大于計數(shù)脈沖的周期要大于2 s。 3.3.2 定時定時/計數(shù)器的控制計數(shù)器的控制 80C51單片機定時單片機定時/計數(shù)器的
38、工作由兩個特殊功能計數(shù)器的工作由兩個特殊功能寄存器控制。寄存器控制。TMOD用于設(shè)置其工作方式;用于設(shè)置其工作方式;TCON用用于控制其啟動和中斷申請。于控制其啟動和中斷申請。一、工作方式寄存器一、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于設(shè)置定時用于設(shè)置定時/計數(shù)器的計數(shù)器的工作方式,低四位用于工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式。其格式如下:如下:GATE:門控位。:門控位。GATE0時,只要用軟件使時,只要用軟件使TCON中的中的TR0或或TR1為為1,就可以啟動定時,就可以啟動定時/計數(shù)器工作;計數(shù)器工作;GATA1時,要用時,要用軟件使軟
39、件使TR0或或TR1為為1,同時外部中斷引腳或也為高電平時,同時外部中斷引腳或也為高電平時,才能啟動定時才能啟動定時/計數(shù)器工作。即此時定時器的啟動條件,加計數(shù)器工作。即此時定時器的啟動條件,加上了或引腳為高電平這一條件。上了或引腳為高電平這一條件。 :定時定時/計數(shù)模式選擇位。計數(shù)模式選擇位。 0為定時模式;為定時模式; =1為計為計數(shù)模式。數(shù)模式。M1M0:工作方式設(shè)置位。定時:工作方式設(shè)置位。定時/計數(shù)器有四種工作方式,計數(shù)器有四種工作方式,由由M1M0進行設(shè)置。進行設(shè)置。C/TC/TC/T 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中斷位用于控制外部中斷,已
40、在前面介紹。已在前面介紹。TCON的高的高4位用于控制位用于控制定時定時/計數(shù)器的啟動和中斷申請。其格式如下:計數(shù)器的啟動和中斷申請。其格式如下:TF1(TCON.7):):T1溢出中斷請求標志位。溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動計數(shù)溢出時由硬件自動置置TF1為為1。CPU響應(yīng)中斷后響應(yīng)中斷后TF1由硬件自動清由硬件自動清0。T1工作時,工作時,CPU可隨時可隨時查詢查詢TF1的狀態(tài)。所以,的狀態(tài)。所以,TF1可用作查詢測試的標志??捎米鞑樵儨y試的標志。TF1也可以用軟件也可以用軟件置置1或清或清0,同硬件置,同硬件置1或清或清0的效果一樣。的效果一樣。TR1(TCON.6):):
41、T1運行控制位。運行控制位。TR1置置1時,時,T1開始工作;開始工作;TR1置置0時,時,T1停止工作。停止工作。TR1由軟件置由軟件置1或清或清0。所以,用軟件可控制定時。所以,用軟件可控制定時/計數(shù)器計數(shù)器的啟動與停止。的啟動與停止。TF0(TCON.5):):T0溢出中斷請求標志位,其功能與溢出中斷請求標志位,其功能與TF1類同。類同。TR0(TCON.4):):T0運行控制位,其功能與運行控制位,其功能與TR1類同。類同。 3.3.3 定時定時/計數(shù)器的工作方式計數(shù)器的工作方式 一、方式一、方式0 方式方式0為為13位計數(shù)位計數(shù),由,由TL0的低的低5位(高位(高3位未用)和位未用)
42、和TH0的的8位組成。位組成。TL0的低的低5位溢出時向位溢出時向TH0進位,進位,TH0溢出時,置位溢出時,置位TCON中的中的TF0標志,向標志,向CPU發(fā)出中斷請求。發(fā)出中斷請求。定時器模式時定時器模式時有有:Nt/ Tcy 計數(shù)初值計算的公式為:計數(shù)初值計算的公式為:定時器的初值還可以采用計數(shù)個數(shù)直接取補法獲得定時器的初值還可以采用計數(shù)個數(shù)直接取補法獲得。計數(shù)模式時,計數(shù)脈沖是計數(shù)模式時,計數(shù)脈沖是T0引腳上的外部脈沖。引腳上的外部脈沖。13X=2 -N門控位門控位GATE具有特殊的作用。當具有特殊的作用。當GATE=0時,經(jīng)反相后使時,經(jīng)反相后使或門輸出為或門輸出為1,此時僅由,此時僅由TR0控制與門的開啟,與門輸出控制與門的開啟,與門輸出1時,控制開關(guān)接通,計數(shù)開始;時,控制開關(guān)接通,計數(shù)開始;當當GA
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓機構(gòu)教育行業(yè)數(shù)據(jù)服務(wù)協(xié)議
- 二零二五年度農(nóng)業(yè)科技文職人員聘用協(xié)議
- 2025年度茶樓合作經(jīng)營協(xié)議書:茶樓與茶藝茶具研發(fā)中心的合作合同
- 二零二五年度知識產(chǎn)權(quán)質(zhì)押合同解除與資金返還協(xié)議
- 2025年度船舶租賃與船舶技術(shù)咨詢服務(wù)協(xié)議
- 2025年度超市轉(zhuǎn)讓與智能化升級改造合作協(xié)議
- 2025年度智能化社區(qū)物業(yè)委托經(jīng)營管理合同
- 專業(yè)資格教育培訓合作協(xié)議
- 新型儲能技術(shù)應(yīng)用開發(fā)合作協(xié)議
- 行路難:古典詩詞中的壯志情懷教案
- 正常肌肉及常見肌病的病理學表現(xiàn)
- 01-BUFR格式應(yīng)用指南(試用版)
- 體育測量與評價04心肺功能的測量與評價
- 提高意識風險防范化解能力體會發(fā)言
- RB/T 089-2022綠色供應(yīng)鏈管理體系要求及使用指南
- 2023年度危險作業(yè)安全監(jiān)護手冊
- 馬克思主義哲學十講
- 催化材料智慧樹知到答案章節(jié)測試2023年南開大學
- GB/T 9846.1-2004膠合板第1部分:分類
- GB/T 32685-2016工業(yè)用精對苯二甲酸(PTA)
- 部編優(yōu)質(zhì)課國家一等獎初中語文八年級下冊《大道之行也》
評論
0/150
提交評論