![項(xiàng)目5按鍵識(shí)別的設(shè)計(jì)_第1頁](http://file3.renrendoc.com/fileroot3/2021-11/29/2a196ddd-f167-4d51-b912-9d618e06c2a9/2a196ddd-f167-4d51-b912-9d618e06c2a91.gif)
![項(xiàng)目5按鍵識(shí)別的設(shè)計(jì)_第2頁](http://file3.renrendoc.com/fileroot3/2021-11/29/2a196ddd-f167-4d51-b912-9d618e06c2a9/2a196ddd-f167-4d51-b912-9d618e06c2a92.gif)
![項(xiàng)目5按鍵識(shí)別的設(shè)計(jì)_第3頁](http://file3.renrendoc.com/fileroot3/2021-11/29/2a196ddd-f167-4d51-b912-9d618e06c2a9/2a196ddd-f167-4d51-b912-9d618e06c2a93.gif)
![項(xiàng)目5按鍵識(shí)別的設(shè)計(jì)_第4頁](http://file3.renrendoc.com/fileroot3/2021-11/29/2a196ddd-f167-4d51-b912-9d618e06c2a9/2a196ddd-f167-4d51-b912-9d618e06c2a94.gif)
![項(xiàng)目5按鍵識(shí)別的設(shè)計(jì)_第5頁](http://file3.renrendoc.com/fileroot3/2021-11/29/2a196ddd-f167-4d51-b912-9d618e06c2a9/2a196ddd-f167-4d51-b912-9d618e06c2a95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 項(xiàng)目項(xiàng)目5 5 按鍵識(shí)別的設(shè)計(jì)按鍵識(shí)別的設(shè)計(jì) 知識(shí)目標(biāo):1 1了解單片機(jī)的定義、類型和應(yīng)用領(lǐng)域;了解單片機(jī)的定義、類型和應(yīng)用領(lǐng)域;2 2掌握掌握AT89S51AT89S51單片機(jī)的封裝形式、實(shí)物外形及各個(gè)引腳的功能;單片機(jī)的封裝形式、實(shí)物外形及各個(gè)引腳的功能;3. 3. 掌握掌握AT89S51AT89S51單片機(jī)最小系統(tǒng)的組成及相關(guān)電路的工作原理;單片機(jī)最小系統(tǒng)的組成及相關(guān)電路的工作原理;4. 4. 掌握掌握AT89S51AT89S51單片機(jī)基本接口電路的組成及電路功能。單片機(jī)基本接口電路的組成及電路功能。 能力目標(biāo)
2、:1. 1. 認(rèn)識(shí)認(rèn)識(shí)AT89S51AT89S51單片機(jī)、晶體振蕩器、單片機(jī)、晶體振蕩器、RS-232RS-232串口端及電阻、電容串口端及電阻、電容 等元器件。等元器件。2. 2. 會(huì)搭建單片機(jī)最小系統(tǒng)應(yīng)用電路;會(huì)搭建單片機(jī)最小系統(tǒng)應(yīng)用電路;3. 3. 了解單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程。了解單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì) 在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤主要用于向計(jì)算機(jī)輸入數(shù)據(jù)、傳送命令等,是人工干預(yù)計(jì)算機(jī)的主要手段。鍵盤要通過接口與單片機(jī)相連,分為編碼鍵盤和非編碼鍵盤兩類。
3、 鍵盤上閉合鍵的識(shí)別由專用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號(hào)或鍵值的稱為編碼鍵盤,如計(jì)算機(jī)鍵盤。而靠軟件編程來識(shí)別的稱為非編碼鍵盤,在單片機(jī)組成的各種系統(tǒng)中,使用最廣泛的是非編碼鍵盤。當(dāng)然,也有用到編碼鍵盤的。 非編碼鍵盤有分為:獨(dú)立鍵盤和行列式(又稱為矩陣式)鍵盤。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì) 用單鍵(即獨(dú)立鍵盤中的按鍵)實(shí)現(xiàn)對LED進(jìn)行控制,每按一次按鍵時(shí),LED顯示方式變化一次,用以表示按鍵控制的結(jié)果。1 1提出任務(wù)提出任務(wù) 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永
4、格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì) (1)硬件電路設(shè)計(jì) 以AT89S51單片機(jī)作為控制電路,按鍵連接至單片機(jī)的P1.0引腳,另一端接地,P2口外接8個(gè)采用共陽極連接方式的發(fā)光二極管(LED)和8個(gè)限流電阻,硬件電路原理圖所示。2 2任務(wù)分析任務(wù)分析XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0
5、/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89S51R8510R7510R6510R5510R4510R3510R2510R1510D1D2D3D4D5D6D7D8KX1CRYSTALC122pC222pR91kC310uF 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵
6、控制LEDLED的設(shè)計(jì)的設(shè)計(jì) (2)獨(dú)立式按鍵的軟件設(shè)計(jì) 在單片機(jī)應(yīng)用系統(tǒng)中主程序一般是循環(huán)結(jié)構(gòu),鍵盤程序作為子程序供主程序調(diào)用。單片機(jī)按鍵控制系統(tǒng)的主程序結(jié)構(gòu)圖所示。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì) 上電初始化后便循環(huán)調(diào)用鍵盤程序、顯示程序、功能處理程序等。在循環(huán)的過程中還可能因中斷而執(zhí)行中斷服務(wù)程序。 另外,在鍵盤的軟件設(shè)計(jì)中還要注意按鍵的去抖動(dòng)問題。由于按鍵一般是由機(jī)械式觸點(diǎn)構(gòu)成的,在按鍵按下和斷開的瞬間均有一個(gè)抖動(dòng)過程,時(shí)間大約為5ms10ms,可能會(huì)造成單片機(jī)對按鍵的誤識(shí)別。 單片機(jī)
7、單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì)物理按鍵抖動(dòng)波形圖物理按鍵抖動(dòng)波形圖 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì) 按鍵消抖一般有兩種方法,即硬件消抖和軟件消抖。硬件消抖方法硬件消抖方法 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì)在軟件設(shè)計(jì)中,當(dāng)單片機(jī)檢測到有鍵按下時(shí),可以先延時(shí)一段時(shí)間越過抖動(dòng)過程再對按鍵識(shí)別。實(shí)際應(yīng)用中,一
8、般希望按鍵一次按下單片機(jī)只處理一次,但由于單片機(jī)執(zhí)行程序的速度很快,按鍵一次按下可能被單片機(jī)多次處理。為避免此問題,可在按鍵第一次按下時(shí)延時(shí)10ms之后再次檢測按鍵是否按下,如果此時(shí)按鍵仍然按下,則確定有按鍵輸入。這樣便可以避免按鍵的重復(fù)處理。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì)軟件消抖流程圖軟件消抖流程圖 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì)3 3源程序編寫源程序編寫 /* 文件名:xm5-1.c *
9、 / #include / 包含頭文件 sbit key1=P10; / 按鍵定義 void delay10ms(void) / 延時(shí)10ms 子函數(shù) unsigned char i,k; / 變量定義 for(i=20;i0;i-) / for語句循環(huán)體 for(k=250;k0;k-); 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)1 1 單鍵控制單鍵控制LEDLED的設(shè)計(jì)的設(shè)計(jì)3 3源程序編寫源程序編寫void main(void) / 主函數(shù) char i=0 xfe; P2=i; /置P2.0引腳為低電平 while(1) if(key1= =
10、0) /判斷按鍵key1是否按下 delay10ms(); if(key1=0) /去抖動(dòng) if(i&0 x80)=0) i=i1; else i=(i1)+1; P2=i; while(key1=0); 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì) 用AT89S51單片機(jī)及LED數(shù)碼管實(shí)現(xiàn)對鍵盤鍵值的實(shí)現(xiàn)。當(dāng)按下鍵盤中不同按鍵時(shí),LED數(shù)碼管上顯示不同的鍵值。1 1提出任務(wù)提出任務(wù) 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)
11、計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)2 2任務(wù)分析任務(wù)分析 (1)硬件電路設(shè)計(jì) 本設(shè)計(jì)采用AT89S51單片機(jī)最小系統(tǒng),P3口外接矩陣式鍵盤接口電路,P1口外接共陰型七段數(shù)碼管,如圖5.2.1所示。電路中共有16個(gè)按鍵,按44的矩陣式排列,鍵號(hào)依次為0F。單片機(jī)的P3.0P3.3為輸出口,連接4條列線;P3.4P3.7為輸入口,連接4條行線。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0
12、.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C5123456781RP1RESPACK-70123456789BCDEFAX1CRYSTALC2
13、22pC322pR11kC110uF鍵盤鍵值顯示電路圖鍵盤鍵值顯示電路圖 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì) (2)軟件設(shè)計(jì)思路 矩陣式按鍵的軟件設(shè)計(jì)與獨(dú)立式按鍵不同的只是按鍵的識(shí)別方法不同。在矩陣式按鍵的掃描程序中,要對按鍵逐行逐列地掃描,得到按下鍵的行列信息,然后還要轉(zhuǎn)換成鍵號(hào),以便據(jù)此轉(zhuǎn)到相應(yīng)的鍵處理程序。 按鍵掃描子函數(shù)中,先對4條行線送高電平,當(dāng)判斷有按鍵按下之后,延時(shí)30ms之后再判斷該按鍵是否按下。若仍然有按鍵按下,則能知道被按下按鍵所處的行編碼。之后再在判斷被按下按鍵所處列編碼
14、,綜合行、列編碼得到按鍵位置,從而判斷出鍵值。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)程序流程圖程序流程圖 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)3 3源程序編寫源程序編寫/文件名xm5-2.c#include #define uchar unsigned char#define uint unsigned intuchar key;unsigned char code disp_code=0 x3f
15、,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;unsigned char code key_code=0 xee,0 xed,0 xeb,0 xe7,0 xde,0 xdd,0 xdb,0 xd7, 0 xbe,0 xbd,0 xbb,0 xb7,0 x7e,0 x7d,0 x7b,0 x77 ; 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)3 3源程序編寫源程序編寫v
16、oid delayms(uint ms) uchar t; while(ms-) for(t = 0; t 120; t+); 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)3 3源程序編寫源程序編寫uchar keyscan() /鍵盤掃描程序 uchar scan1,scan2,keycode,j; P3=0 xf0; scan1=P3; if(scan1&0 xf0)!=0 xf0) /判鍵是否按下 delayms(30); /延時(shí)30ms scan1=P3; if(scan1&0
17、xf0)!=0 xf0) /二次判鍵是否按下 P3=0 x0f; scan2=P3; keycode=scan1|scan2; /組合成鍵編碼 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)for(j=0;j=15;j+) if(keycode= key_codej) /查表得鍵值 key=j; return(key); else P3=0 xff; return (16); 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示
18、的設(shè)計(jì)void keydown() /判斷是否有鍵按下 P3=0 x0f; if(P3&0 x0f)!=0 x0f) keyscan(); P0=disp_codekey; /在數(shù)碼管上顯示鍵值 main() P0 = 0 xbf; /數(shù)碼管顯示- P3 = 0 xff; while(1) keydown(); 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì) 思考:思考: 矩陣鍵盤中,如果有兩個(gè)按鍵同時(shí)按下,能否識(shí)別? 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任
19、務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì) 知識(shí)鏈接知識(shí)鏈接 一、矩陣式鍵盤 1結(jié)構(gòu)和工作原理 當(dāng)輸入部分有多個(gè)按鍵時(shí),若仍然采用獨(dú)立鍵盤,必然會(huì)占用大量的I/O口,采用矩陣鍵盤是一種比較節(jié)省資源的方法。矩陣式鍵盤又稱行列式鍵盤,往往用于按鍵數(shù)量較多的場合。矩陣式鍵盤的按鍵設(shè)置在行與列的交點(diǎn)上。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)一般矩陣鍵盤的連接示意圖一般矩陣鍵盤的連接示意圖 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵
20、狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)2 2任務(wù)分析任務(wù)分析 (1)硬件電路設(shè)計(jì) 本設(shè)計(jì)采用AT89S51單片機(jī)最小系統(tǒng),P3口外接矩陣式鍵盤接口電路,P1口外接共陰型七段數(shù)碼管,如圖5.2.1所示。電路中共有16個(gè)按鍵,按44的矩陣式排列,鍵號(hào)依次為0F。單片機(jī)的P3.0P3.3為輸出口,連接4條列線;P3.4P3.7為輸入口,連接4條行線。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì) 2按鍵的識(shí)別 確定鍵盤上哪一個(gè)鍵被按下可以采用逐行掃描或逐列掃描的方法,稱為行(列)掃描法。 (1)先將全部列線置為
21、低電平,然后通過行線接口讀取行線電平,判斷鍵盤中是否有按鍵被按下。 (2)判斷閉合鍵的具體位置。在確認(rèn)鍵盤中有按鍵被按下后,依次將列線置為低電平,再逐行檢測各行的電平狀態(tài)。若某行為低電平,則該行與置為低電平的列線相交處的按鍵即為閉合按鍵。 (3)綜合上述兩步的結(jié)果,即可確定出閉合鍵所在的行和列,從而識(shí)別出所按下的鍵。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì) 3矩陣式鍵盤的軟件設(shè)計(jì) 矩陣式鍵盤的掃描常用編程掃描方式、定時(shí)掃描方式或中斷掃描方式,無論采用哪種方式,都要編制相應(yīng)的鍵盤掃描程序。在鍵盤掃描
22、程序中一般要完成以下幾個(gè)功能: (1)判斷鍵盤上有無按鍵按下; (2)去鍵的機(jī)械抖動(dòng)影響; (3)求所按鍵的鍵號(hào); (4)轉(zhuǎn)向鍵處理程序。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì) 在編程掃描方式中,只有當(dāng)單片機(jī)空閑時(shí),才執(zhí)行鍵盤掃描任務(wù)。一般是把鍵盤掃描程序編成子程序,在主程序循環(huán)執(zhí)行時(shí)調(diào)用。在主程序執(zhí)行任務(wù)太多或執(zhí)行時(shí)間太長時(shí),按鍵的反應(yīng)速度會(huì)變慢。 在定時(shí)掃描方式中單片機(jī)可以定時(shí)對鍵盤進(jìn)行掃描,方法是利用單片機(jī)內(nèi)部定時(shí)器,每隔一定的時(shí)間就產(chǎn)生定時(shí)中斷,CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有按鍵
23、按下時(shí)進(jìn)行處理。 在中斷掃描方式中,當(dāng)鍵盤上有按鍵被按下時(shí)產(chǎn)生中斷申請,單片機(jī)響應(yīng)中斷后,在中斷服務(wù)程序中完成鍵掃描、識(shí)別鍵號(hào)并進(jìn)行鍵功能處理。 以上幾種鍵盤掃描方式只是轉(zhuǎn)入鍵盤掃描程序的方式不同,而鍵盤掃描程序的設(shè)計(jì)方法是類似的。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)二、函數(shù)的返回值 函數(shù)的值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的并返回給主調(diào)函數(shù)的值。對函數(shù)返回值有以下一些說明: 函數(shù)的值只能通過return語句返回主調(diào)函數(shù)。 return 語句的一般形式為: return 表達(dá)式;
24、 或者為: return (表達(dá)式); 該語句的功能是計(jì)算表達(dá)式的值,并返回給主調(diào)函數(shù)。在函數(shù)中允許有多個(gè)return語句,但每次調(diào)用只能有一個(gè)return 語句被執(zhí)行,因此只能返回一個(gè)函數(shù)值。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)2 2 多路按鍵狀態(tài)指示的設(shè)計(jì)多路按鍵狀態(tài)指示的設(shè)計(jì)函數(shù)值的類型和函數(shù)定義中函數(shù)的類型應(yīng)保持一致。如果兩者不一致,則以函數(shù)類型為準(zhǔn),自動(dòng)進(jìn)行類型轉(zhuǎn)換。 如函數(shù)值為整型,在函數(shù)定義時(shí)可以省去類型說明。 不返回函數(shù)值的函數(shù),可以明確定義為“空類型”,類型說明符為“void”。如: void s(int n) 一旦函數(shù)被定義
25、為空類型后,就不能在主調(diào)函數(shù)中使用被調(diào)函數(shù)的函數(shù)值了。為了使程序有良好的可讀性并減少出錯(cuò),凡不要求返回值的函數(shù)都應(yīng)定義為空類型。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)利用獨(dú)立按鍵(采用外部中斷方式)控制彩燈的運(yùn)行。通過按動(dòng)按鍵,使得彩燈在三種閃亮方式(左移、右移、自定義花樣)之間切換。1 1提出任務(wù)提出任務(wù) 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)一般來說,按鍵處理方式有以下兩種:第一種方法是
26、不斷地查詢按鍵,有按鍵按下時(shí)進(jìn)行消抖處理,再判斷是否真的有按鍵按下。這種方法在按鍵查詢期間不能做任何其他操作。第二種方法是每隔一段時(shí)間,抽樣檢測一次,對鍵值進(jìn)行判別處理。利用按鍵對單片機(jī)輸出進(jìn)行控制的基本方式在任務(wù)1和任務(wù)2中已介紹,分別實(shí)現(xiàn)了單鍵、多鍵對單片機(jī)輸出的控制。但是,任務(wù)1和任務(wù)2中的對按鍵處理的方式還存在不夠完善之處。為了解決這個(gè)問題,本任務(wù)中采用單片機(jī)的外部中斷方式來實(shí)現(xiàn)對按鍵輸入的處理。為了實(shí)現(xiàn)外部中斷對單片機(jī)的輸出的控制,需要將按鍵連接在外部中斷所對應(yīng)的引腳上。2.2.任務(wù)分析任務(wù)分析 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3
27、3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/
28、A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89S51R8510R7510R6510R5510R4510R3510R2510R1510D1D2D3D4D5D6D7D8KX1CRYSTALC122pC222pR91kC310uF中斷控制LED電路圖 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)由于中斷函數(shù)與主函數(shù)之間的運(yùn)行相當(dāng)于兩個(gè)程序并行運(yùn)行,而將一個(gè)任務(wù)分為兩個(gè)部分處理的具體分解方法有多種,因此用中斷函數(shù)控制彩燈的顯示,具體實(shí)現(xiàn)方法和實(shí)現(xiàn)程序也是多種多樣的。3 3
29、程序設(shè)計(jì)分析程序設(shè)計(jì)分析 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)(a a)主函數(shù)流程圖)主函數(shù)流程圖 b b)中斷函數(shù)流程圖)中斷函數(shù)流程圖 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì) /文件名xm5-3.c#include #define uchar unsigned charuchar light,a,b;void delay05s() /延時(shí)0.5s子函數(shù)uchar i,j,k;for(i=
30、5;i0;i-) for(j=200;j0;j-)for(k=250;k0;k-);4源程序編寫 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)void delay10ms()uchar i,k;for(i=20;i0;i-) for(k=250;k0;k-); void left() /左移點(diǎn)亮LEDlight=light1;if(light= =0) light=0 x01;P2=light;4源程序編寫 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3
31、采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)void assum() /用戶自定義LED點(diǎn)亮方式uchar code dispcode8=0 xff,0 x7e,0 xbd,0 xdb,0 xe7,0 xdb,0 xbd,0 x7e;if(b= =7)b=0;else b+;P2=dispcodeb;4源程序編寫 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)void main()IT0=1; /設(shè)置INT0為下降沿觸發(fā)EX0=1; /局部開中斷,即允許INT0中斷EA=1; /全局開中斷a=1;
32、light=0 x01;b=0;while(1)switch(a)case 1:left();break;case 2:right();break;case 3:assum();break;delay05s();4源程序編寫 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)void int_0() interrupt 0 / 中斷子函數(shù)delay10ms();if(INT0= =0)a+;if(a3)a=1;4源程序編寫 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任
33、務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì) 知識(shí)鏈接知識(shí)鏈接 1.中斷有關(guān)概念 所謂中斷就是利用硬件配合,根據(jù)某種需要斷開正在執(zhí)行的程序而轉(zhuǎn)向另一專門程序,結(jié)束后再返回到原斷開處繼續(xù)執(zhí)行被中止的程序,這個(gè)過程稱為中斷。 中斷后轉(zhuǎn)向執(zhí)行的程序叫中斷服務(wù)程序或中斷處理程序。原程序被斷開的位置(地址)叫作斷點(diǎn)。 發(fā)出中斷信號(hào)的設(shè)備稱為中斷源。中斷源要求中斷服務(wù)所發(fā)出的標(biāo)志信號(hào)稱為中斷請示或中斷申請。 中斷源向CPU發(fā)出中斷申請,CPU經(jīng)過判斷認(rèn)為滿足條件,則對中斷源作出答復(fù),這叫中斷響應(yīng)。中斷響應(yīng)后就去處理中斷源的有關(guān)請求,即轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。 對于計(jì)算機(jī)控制系統(tǒng)而言,中斷源是多
34、種多樣的。不同的機(jī)器中斷源也有所不同。一般情況,中斷包括:外部設(shè)備如鍵盤、打印機(jī)等,還有內(nèi)部定時(shí)器、故障源以及根據(jù)需要人為設(shè)置的中斷源等。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)2. 引入中斷的主要優(yōu)點(diǎn)(1)提高CPU工作效率CPU工作速度快,外設(shè)工作速度慢,形成CPU等待,效率降低。設(shè)置中斷后,CPU不必花費(fèi)大量時(shí)間等待和查詢外設(shè)工作。(2)實(shí)現(xiàn)實(shí)時(shí)處理功能中斷源根據(jù)外界信息變化可以隨時(shí)向CPU發(fā)出中斷請求,若條件滿足,CPU會(huì)馬上響應(yīng),對中斷要求及時(shí)處理。若用查詢方式往往不能及時(shí)處理。(3
35、)實(shí)現(xiàn)分時(shí)操作單片機(jī)應(yīng)用系統(tǒng)通常需要控制多個(gè)外設(shè)同時(shí)工作。例如鍵盤、打印機(jī)、顯示器、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等。這些設(shè)備工作有些是隨機(jī)的,有些是定時(shí)的,對于一些定時(shí)工作的外設(shè),可以利用定時(shí)器,到一定時(shí)間產(chǎn)生中斷,在中斷服務(wù)程序中控制這些外設(shè)荼。例如動(dòng)態(tài)掃描顯示,每隔一定時(shí)間,更換顯示字位碼和字段碼。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)3. AT89S51中斷源AT89S51單片機(jī)共有5個(gè)中斷源。它們分別是:2個(gè)外部中斷,即。和)3 . 3(P1INT)2 . 3(0TPIN3個(gè)片內(nèi)中斷,
36、即定時(shí)器T0的溢出中斷、定時(shí)器T1的溢出中斷和串行口中斷;這5個(gè)中斷源,可以根據(jù)需要隨時(shí)向CPU發(fā)出中斷申請。當(dāng)外部中斷源超過兩個(gè),還可以通過一定的方法擴(kuò)充。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)(1)外部中斷源外部中斷是由外部信號(hào)引起的,請求有兩種信號(hào)觸發(fā)方式,即低電平觸發(fā)和下降沿觸發(fā)。外部中斷請求的這兩種信號(hào)方式,可通過設(shè)置寄存器TCON中的IT0和IT1位狀態(tài)的值來設(shè)定。TCOND7D6D5D4D3D2D1D0位符號(hào)TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8D
37、H8CH8BH8AH89H88H寄存器寄存器TCONTCON的內(nèi)容及位地址的內(nèi)容及位地址 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)其中各位的含義如下: IT0和IT1 :外部中斷請求觸發(fā)方式控制位 IE0和IE1 :外中斷請求標(biāo)志位。 TF0和TF1 :定時(shí)/計(jì)數(shù)器溢出中斷請求標(biāo)志位 TR0(TR1):定時(shí)/計(jì)數(shù)器的運(yùn)行控制位 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)(2)定時(shí)器溢出中斷源定時(shí)/計(jì)
38、數(shù)器中斷由單片機(jī)內(nèi)部定時(shí)器產(chǎn)生,屬于內(nèi)部中斷。AT89S51內(nèi)部有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器T0和T1,它們以計(jì)數(shù)的方法來實(shí)現(xiàn)定時(shí)或計(jì)數(shù)的。當(dāng)它作為定時(shí)器使用時(shí),其計(jì)數(shù)信號(hào)來自于CPU內(nèi)部的機(jī)器周期脈沖,當(dāng)它作為計(jì)數(shù)器使用時(shí),其計(jì)數(shù)信號(hào)來自于CPU的T0(P3.4)、T1(P3.5)引腳。在啟動(dòng)定時(shí)/計(jì)數(shù)器后,每來一個(gè)機(jī)器周期或在對應(yīng)的引腳上每檢測到一個(gè)脈沖信號(hào)時(shí),定時(shí)/計(jì)數(shù)器就加1一次,當(dāng)計(jì)數(shù)器的值從全1變?yōu)槿?時(shí),就去置位一個(gè)溢出標(biāo)志位,CPU查詢到后就知道有定時(shí)/計(jì)數(shù)器的溢出中斷的申請。(3)串行中斷源串行口中斷請求是在單片機(jī)芯片內(nèi)部自動(dòng)發(fā)生的,不需在芯片上設(shè)置引入端。串行口中斷源分為串
39、行口發(fā)送中斷和串行口接收中斷兩種。串行中斷是為串行數(shù)據(jù)傳送的需要而設(shè)置的。每當(dāng)串行口發(fā)送完一組串行數(shù)據(jù)時(shí),就會(huì)使串行口控制寄存器SCON中的串行發(fā)送中斷標(biāo)志位TX置1,每當(dāng)串行口接收完一組串行數(shù)據(jù)時(shí),就會(huì)使寄存器SCON中的串行接收中斷標(biāo)志位RX置1,作為串行口中斷請求標(biāo)志,產(chǎn)生一個(gè)中斷請求。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)SCOND7D6D5D4D3D2D1D0位符號(hào)SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H寄存器寄存器SCON
40、SCON的內(nèi)容及位地址的內(nèi)容及位地址其中與中斷請求標(biāo)志有關(guān)的位如下:TI:串行口發(fā)送中斷請求標(biāo)志位RI:串行口接收中斷請求標(biāo)志位 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)4中斷控制51系列單片機(jī)中斷系統(tǒng)的硬件結(jié)構(gòu)如下圖所示。對中斷信號(hào)進(jìn)行鎖存、屏蔽、優(yōu)先級控制是通過設(shè)置一些特殊功能寄存器,如寄存器TCON、SCON、IE和IP來進(jìn)行的。EX0EAPX001ET0PT001EX1PX101ET1PT101ESPS011RITISCONTCONIE0TF0IE1TF110101IT0IT1INT0I
41、NT1T0T1RXTXIEIP111111110硬件查詢自然優(yōu)先級自然優(yōu)先級中斷入口中斷入口高級低級中斷源中斷源 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)IED7D6D5D4D3D2D1D0位符號(hào)EA-ESET1EX1ETOEX0位地址AFHAEHADHACHABHAAHA9HA8H寄存器寄存器IEIE的內(nèi)容及位地址的內(nèi)容及位地址 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)其中各位的含義如下:EA:
42、中斷允許/禁止位,它是中斷請求的總開關(guān)。0為禁止,1為允許。當(dāng)EA=O時(shí),將屏蔽所有中斷請求。ES:允許禁止串行口中斷,當(dāng)ES位為0時(shí),禁止串行口中斷。當(dāng)ES位為時(shí),允許串行口中斷。ETl:允許禁止定時(shí)器T1中斷,當(dāng)ETl位為0時(shí),禁止定時(shí)計(jì)數(shù)器Tl中斷,當(dāng)ETl位為時(shí),允許定時(shí)計(jì)數(shù)器Tl中斷。EXl:允許/禁止 中斷,當(dāng)EXl位為0時(shí),禁止 中斷,當(dāng)EXl位為0時(shí),禁止 中斷。ET0:允許禁止定時(shí)器T0中斷,當(dāng)ET0位為0時(shí),禁止定時(shí)/計(jì)數(shù)器T0中斷,當(dāng)ET0位為時(shí),允許定時(shí)/計(jì)數(shù)器T0中斷EX0:允許/禁止 中斷,當(dāng)EX0位為0時(shí),禁止 中斷,當(dāng)EX0位為時(shí),允許 中斷。 AT89S51單
43、片機(jī)復(fù)位后,將IE寄存器清零,單片機(jī)處于關(guān)中斷狀態(tài)。若要開放中斷,必須使EA=l且響應(yīng)中斷允許位也為1。開中斷既可使用置位指令,也可使用字節(jié)操作指令實(shí)現(xiàn)。INT1INT1INT1INT0INT0INT0 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)(2)中斷優(yōu)先級控制寄存器IP單片機(jī)的中斷系統(tǒng)通常允許多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向CPU發(fā)出中斷請求時(shí),就存在CPU優(yōu)先響應(yīng)哪一個(gè)中斷源請求的問題。AT89S51單片機(jī)只有兩個(gè)中斷優(yōu)先級,即低優(yōu)先級和高優(yōu)先級,對于所有的中斷源均可由軟件設(shè)置為高優(yōu)先級中斷
44、或低優(yōu)先級中斷,當(dāng)寄存器IP中相應(yīng)位的值為0時(shí)表示該中斷源為低優(yōu)先級,為l時(shí)表示為高優(yōu)先級。高優(yōu)先級中斷源可以中斷一個(gè)正在執(zhí)行的低優(yōu)先級中斷源的中斷服務(wù)程序,即可實(shí)現(xiàn)兩級中斷嵌套,但同級或低優(yōu)先級中斷源不能中斷正在執(zhí)行的中斷服務(wù)程序。IPD7D6D5D4D3D2D1D0位符號(hào)-PSPT1PX1PTOPX0位地址BFHBEHBDHBCHBBHBAHB9HB8H寄存器寄存器IPIP的內(nèi)容及位地址的內(nèi)容及位地址 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐 張永格 何乃味主編 任務(wù)任務(wù)3 3 采用外中斷控制的彩燈設(shè)計(jì)采用外中斷控制的彩燈設(shè)計(jì)各位含義如下:PS:串行口中斷優(yōu)先級控制位。若PS
45、=1,則串行口指定為高優(yōu)先級,否則為低優(yōu)先級。PTl:定時(shí)/計(jì)數(shù)器T1中斷優(yōu)先級控制位。若PTl=1,則定時(shí)/計(jì)數(shù)器T1指定為高優(yōu)先級,否則為低優(yōu)先級。PXl:外部中斷1中斷優(yōu)先級控制位。若PXl=1,則外部中斷1指定為高優(yōu)先級,否則為低優(yōu)先級。PT0:定時(shí)/計(jì)數(shù)器T0中斷優(yōu)先級控制位。若PT0=1,則定時(shí)/計(jì)數(shù)器T0指定為高優(yōu)先級,否則為低優(yōu)先級。PX0:外部中斷0中斷優(yōu)先級控制位。若PX0=1,則外部中斷0指定為高優(yōu)先級,否則為低優(yōu)先級。AT89S51單片機(jī)中,當(dāng)幾個(gè)同級的中斷源提出中斷請求,CPU同時(shí)收到幾個(gè)同一優(yōu)先級的中斷請求時(shí),哪一個(gè)的請求能夠得到服務(wù)取決于單片機(jī)內(nèi)部的硬件查詢順序,其硬件查詢順序便形成了中斷的自然優(yōu)先級,CPU將按照自然優(yōu)先級的順序確定該響應(yīng)哪個(gè)中斷請求,自然優(yōu)先級是按照外部中斷0、定時(shí)/計(jì)數(shù)器0、外部中斷1、定時(shí)/計(jì)數(shù)器1、串行口的順序依次來響應(yīng)中斷請求。 單片機(jī)單片機(jī)C C語言應(yīng)用技術(shù)與實(shí)踐語言應(yīng)用技術(shù)與實(shí)踐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度土地開發(fā)權(quán)轉(zhuǎn)讓合同附規(guī)劃設(shè)計(jì)及施工許可
- 施工合同簽訂及履行制度
- 教育機(jī)構(gòu)的字體運(yùn)用規(guī)范
- 遠(yuǎn)程教育對學(xué)習(xí)困難學(xué)生的支持研究
- 幼兒園燃?xì)庑孤?yīng)急預(yù)案
- 上海市某物流有限公司勞動(dòng)合同
- 個(gè)人委托代理合同范本示例
- 三孩子離婚贍養(yǎng)費(fèi)合同范本
- 二手物品買賣合同范文
- 個(gè)人住房抵押貸款合同范本大全
- 河南2025年河南職業(yè)技術(shù)學(xué)院招聘30人筆試歷年參考題庫附帶答案詳解
- 2025年長沙穗城軌道交通有限公司招聘筆試參考題庫含答案解析
- 2024年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2025年山東華魯海運(yùn)有限公司招聘筆試參考題庫含答案解析
- 銀川經(jīng)濟(jì)技術(shù)開發(fā)區(qū)2024年綜合考核評價(jià)指標(biāo)表及評分細(xì)則
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- 讀書分享《給教師的建議》課件
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題講座
- 廣東省茂名市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 2024統(tǒng)編版新教材道德與法治七年級全冊內(nèi)容解讀課件(深度)
- 成人氧氣吸入療法-中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)
評論
0/150
提交評論