




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機技術(shù)基礎(chǔ)教程與實踐整理ppt 第第9章章 51單片機實現(xiàn)狀態(tài)機單片機實現(xiàn)狀態(tài)機 9.1 有限狀態(tài)機有限狀態(tài)機有限狀態(tài)機(FSM)與流程圖很相似,具有一組按照一定路徑排列的狀態(tài),依據(jù)于狀態(tài)中的事件和動作,一個狀態(tài)可以轉(zhuǎn)移到其他狀態(tài)。狀態(tài)是時間中的一個點,例如,當(dāng)你等火車的時候,你在等待狀態(tài)。一種狀態(tài)在一個狀態(tài)機中,只能出現(xiàn)一次。事件是某時發(fā)生的事情,例如火車到達,火車運行。動作是當(dāng)事件出現(xiàn)時,實現(xiàn)的任務(wù),例如,火車到達后,上車轉(zhuǎn)移是兩個狀態(tài)之間的聯(lián)系,可以從一個狀態(tài)移動到另外一個狀態(tài)。狀態(tài)圖就是對一個事物在某個事件發(fā)生后從一個源狀態(tài)到另外一個目的狀態(tài)轉(zhuǎn)移的圖形描述。狀態(tài)圖中,使用圓圈表示狀
2、態(tài),圓圈中的文字或數(shù)字表示該狀態(tài)的名字或是編碼,狀態(tài)轉(zhuǎn)移方向用箭頭表示,在箭頭旁寫的文字是轉(zhuǎn)移條件。對于梅里狀態(tài)圖,在箭頭旁用“輸入/輸出”的格式表示轉(zhuǎn)移條件與滿足該轉(zhuǎn)移條件下的輸出;而對于摩爾狀態(tài)機,常將輸出放在狀態(tài)圓圈中。單片機技術(shù)基礎(chǔ)教程與實踐整理pptreset=0reset=0reset=0reset=0reset=0reset=0a0a0a1a1a2a2a3a3a4a4報警報警置數(shù)置數(shù)定時定時k=0k=0k=0k=0k=1k=1td=1td=1.由圖可知,當(dāng)k=0時,狀態(tài)從a0轉(zhuǎn)移到a1,若是k0=1,從狀態(tài)a1轉(zhuǎn)移到a2,等等,若是reset=0,則無論在什么狀態(tài),都將轉(zhuǎn)移到a0
3、狀態(tài)。單片機技術(shù)基礎(chǔ)教程與實踐整理ppt一個狀態(tài)機描述需要五個要素:狀態(tài)、輸入、輸出、狀態(tài)轉(zhuǎn)移函數(shù)、輸出函數(shù)。如果在一個狀態(tài)中包含著另一個狀態(tài)序列,則稱該狀態(tài)為復(fù)合狀態(tài)。狀態(tài)機就是能夠根據(jù)狀態(tài)轉(zhuǎn)移條件進行狀態(tài)轉(zhuǎn)換和輸出狀態(tài)活動的自動機。狀態(tài)機可以使用數(shù)字電路實現(xiàn),或是單片機通過軟件編程實現(xiàn)。如果狀態(tài)數(shù)量有限、輸入數(shù)量有限、輸出數(shù)量有限,則稱為有限狀態(tài)機(FSM)。在數(shù)字電路中,有兩類基本的電路,它們是組合電路和時序電路,它們之間的區(qū)別是組合電路的結(jié)構(gòu)中沒有反饋、輸入值直接決定輸出值,而時序電路的結(jié)構(gòu)中具有反饋,其輸出由狀態(tài)和輸入決定。狀態(tài)機是時序電路的一種。記 憶 電 路組 合 邏 輯反 饋輸
4、 入現(xiàn) 在 狀 態(tài)次 態(tài) 邏 輯 或 驅(qū) 動 邏 輯.單片機技術(shù)基礎(chǔ)教程與實踐整理ppt9.1.1 時鐘同步有限狀態(tài)機時鐘同步有限狀態(tài)機如果一個時序電路中的觸發(fā)器都使用同一個時鐘信號,則稱為同步狀態(tài)機1.結(jié)構(gòu)時鐘同步狀態(tài)機的結(jié)構(gòu)如圖所示。其中次態(tài)邏輯由現(xiàn)態(tài)和輸入形成。狀態(tài)記憶是n個觸發(fā)器,用于記憶2n狀態(tài)。輸出邏輯由現(xiàn)在狀態(tài)和輸入形成。在時鐘的上升沿或是下降沿(取決于觸發(fā)器結(jié)構(gòu)),觸發(fā)器在次態(tài)邏輯的控制下動作。次態(tài)邏輯狀態(tài)記憶驅(qū)動現(xiàn)態(tài)輸出邏輯時鐘輸入輸出.單片機技術(shù)基礎(chǔ)教程與實踐整理ppt2.輸出邏輯如果一個時序電路的輸出與現(xiàn)在狀態(tài)和輸入都有關(guān),則稱為梅里狀態(tài)機,就是說,在某狀態(tài)下,滿足某輸入
5、條件的輸出就是梅里輸出。值得注意的是梅里狀態(tài)機的輸入變化直接引起輸出的變化,而不是等到下一個狀態(tài)到來時輸出才變化。就是梅里狀態(tài)機。次態(tài)邏輯狀態(tài)記憶驅(qū)動現(xiàn)態(tài)輸出邏輯時鐘輸入輸出.與輸入無關(guān),輸出只與狀態(tài)有關(guān)的狀態(tài)機,稱為摩爾狀態(tài)機,所以摩爾狀態(tài)機的輸出與狀態(tài)變化同步。摩爾狀態(tài)機是使用廣泛的狀態(tài)機,如圖所示。單片機技術(shù)基礎(chǔ)教程與實踐整理ppt3.狀態(tài)編碼具有n個狀態(tài)變量的狀態(tài)機具有2n個狀態(tài)。究竟一個狀態(tài)用什么樣的二進制數(shù)表示,就是狀態(tài)編碼問題。狀態(tài)與它的編碼之間不是唯一關(guān)系。最簡單的狀態(tài)編碼就是采用自然二進制整數(shù)順序來表示狀態(tài),這樣的編碼雖然簡單,但是最終的電路未必是最簡單的。如果要得到最簡單的
6、結(jié)果,最好把各種編碼都試一試,但是太累人,一般情況下采用經(jīng)驗編碼方法。在狀態(tài)編碼時應(yīng)該考慮的一些因素:(1)選擇初始狀態(tài)的編碼與狀態(tài)機的復(fù)位狀態(tài)相同,這樣就會使?fàn)顟B(tài)機復(fù)位時就回到狀態(tài)機的初始狀態(tài)。(2)每一次狀態(tài)變化,應(yīng)該使發(fā)生的狀態(tài)變量最少。(3)如果有未使用的狀態(tài),則盡量選擇可以達到簡化邏輯設(shè)計的狀態(tài)編碼。設(shè)計中應(yīng)該保證從未使用狀態(tài)一定可以進入初始狀態(tài)。單片機技術(shù)基礎(chǔ)教程與實踐整理ppt4.主從狀態(tài)機一個大的狀態(tài)機設(shè)計是非常復(fù)雜的,一般情況下,最好將大的狀態(tài)機分解成小狀態(tài)機的集合。一般劃分的原則是按照功能劃分,主要輸入、輸出和控制算法由主狀態(tài)機完成,而輔助的、在主狀態(tài)機控制下的算法由子狀態(tài)
7、機完成,就是說主狀態(tài)機完成頂層算法,子狀態(tài)機完成底層算法。最常見的劃分就是將計數(shù)器作為子狀態(tài)機,這時,主狀態(tài)機只要發(fā)出啟動信號,而等待計數(shù)器返回的計數(shù)完成信號。雖然主狀態(tài)機增加了啟動計數(shù)器的輸出信號和來自計數(shù)器的計數(shù)完成信號,但是該計數(shù)器就可以為主狀態(tài)機節(jié)省n1個狀態(tài)。主從狀態(tài)機的一般結(jié)構(gòu)如圖所示。主 狀 態(tài) 機子 狀 態(tài) 機 1子 狀 態(tài) 機 2子 狀 態(tài) 機 nSTART1START2STARTnDONE1DONE2DONEn輸 出輸 入.單片機技術(shù)基礎(chǔ)教程與實踐整理ppt5.狀態(tài)轉(zhuǎn)移條件狀態(tài)轉(zhuǎn)移的條件和輸入的信號數(shù)有關(guān),n個輸入信號,將有2n個轉(zhuǎn)移條件,這些條件之間應(yīng)該是互斥的,只能有一
8、個轉(zhuǎn)移條件有效。也就是只能轉(zhuǎn)移到另外一個狀態(tài),而不是一個以上的狀態(tài)。在狀態(tài)機設(shè)計過程中,對于狀態(tài)轉(zhuǎn)移的條件是容易給出的,但是使多個狀態(tài)轉(zhuǎn)移條件滿足互斥條件確是比較難的,因為這需要更深刻的考慮狀態(tài)、轉(zhuǎn)移條件之間的關(guān)系。一個狀態(tài)只向另外一個狀態(tài)轉(zhuǎn)移的狀態(tài)機是最簡單的狀態(tài)機,因為只有一個狀態(tài)轉(zhuǎn)移條件。有些狀態(tài)圖只給出本狀態(tài)向外狀態(tài)的轉(zhuǎn)移條件,而向自己轉(zhuǎn)移的條件未給出,這種情況可以理解為只要不向外狀態(tài)轉(zhuǎn)移就保持在本狀態(tài)不動。單片機技術(shù)基礎(chǔ)教程與實踐整理ppt6.狀態(tài)機的輸入信號狀態(tài)機的輸入信號往往使是按鍵信號,既然是按鍵信號,則按下去的時間長短是隨機的,可能是一個或幾個時鐘脈沖的時間,如果狀態(tài)機的狀態(tài)
9、轉(zhuǎn)移是在某輸入信號的作用之下連續(xù)轉(zhuǎn)移,例如,在狀態(tài)1,當(dāng)按鍵第一次為0時,轉(zhuǎn)移到狀態(tài)2,第二次為0時轉(zhuǎn)移到狀態(tài)1,則會因為按鍵一直保持在0,引起狀態(tài)不斷的轉(zhuǎn)換,不能實現(xiàn)每按一次按鍵,轉(zhuǎn)換一次狀態(tài)的目的。解決的方法是設(shè)計邊沿微分電路,使按鍵按下時,只在下降沿輸出一個時鐘周期的低電平,保證只有一個狀態(tài)轉(zhuǎn)移。7.上電狀態(tài)機初始化在狀態(tài)機上電時,無論為何種輸入條件,都應(yīng)該進入到一個確定的狀態(tài),該狀態(tài)稱為上電初始狀態(tài)。有些狀態(tài)機可以在上電時,自動進入上電初始狀態(tài),有些狀態(tài)機則不能,需要復(fù)位信號的幫助才能進入上電初始狀態(tài)。9.1.2狀態(tài)圖狀態(tài)圖狀態(tài)圖是用于小型、中型狀態(tài)機設(shè)計的一種方法,該方法的特點是簡單
10、。狀態(tài)圖中的狀態(tài)轉(zhuǎn)移是用一根弧線表示的,所以不管有多少輸入變量,也只能有一個轉(zhuǎn)移條件表達式,應(yīng)該使現(xiàn)在狀態(tài)到所有次態(tài)的轉(zhuǎn)移條件互斥,也就是說只能轉(zhuǎn)移到一個次態(tài)。另外需要說明的是用于控制器的狀態(tài)機大部分都是摩爾狀態(tài)機,就是說這些狀態(tài)機的輸出僅僅與狀態(tài)有關(guān)。單片機技術(shù)基礎(chǔ)教程與實踐整理ppt例題9-1設(shè)計一個順序開關(guān)裝置,該開關(guān)裝置在按鍵k第一次按下時,三盞燈x、y和z同時點亮,當(dāng)k再次按下時,x燈立刻熄滅;y燈15s后熄滅,在y燈熄滅后18s后,z燈熄滅。轉(zhuǎn) 移 條件說明狀態(tài)說明輸出說明k輸入按鍵z0三燈都滅t1515秒定時 起動td1515秒定時到信號z1三燈都亮t1818秒定時 起動td18
11、18秒定時到信號z2三燈都亮xx燈z3x燈滅,其他亮yy燈z4x、y燈滅,z燈亮zz燈單片機技術(shù)基礎(chǔ)教程與實踐整理pptz0z0z1z1z2z2z3z3z4z4k=0k=0k=1k=1td15=1td15=1td18=1td18=1k=0k=0.x=0y=0z=0 x=1y=1z=1x=1y=1z=1x=0y=1z=1x=0y=0z=1.單片機技術(shù)基礎(chǔ)教程與實踐整理ppt例題9-2試設(shè)計一個交通信號燈控制器,該交通燈的紅、黃、綠燈亮滅順序是如下:南北綠燈10秒南北黃燈3秒南北綠閃5秒東西綠燈10秒東西黃燈3秒東西綠閃5秒南北紅燈東西紅燈. . . . .轉(zhuǎn)移條件說明狀態(tài)說明輸出說明td1010
12、秒定時到信號a0南北綠、東西紅t1010秒定時起動td58秒定時到信號a1南北綠閃,東西紅t88秒定時起動td33秒定時到信號a2南北黃、東西紅t33秒定時起動a3南北紅、東西綠n1南北紅燈a4南北紅、東西綠閃n2南北黃燈a5南北紅、東西黃n3南北綠燈d1東西紅燈d2東西黃燈d3東西綠燈單片機技術(shù)基礎(chǔ)教程與實踐整理ppta0a0a1a1a2a2a3a3a4a4a5a5td10td10td5td5td3td3td10td10td5td5td3td3.單片機技術(shù)基礎(chǔ)教程與實踐整理ppt9.2.1 C語言描述狀態(tài)機的語句語言描述狀態(tài)機的語句intstate=S0;/初始狀態(tài)while(1)/無限循環(huán)
13、switch(state)caseS0:If(T0轉(zhuǎn)移條件滿足)狀態(tài)轉(zhuǎn)移到滿足T0條件的次態(tài);操作;If(T1轉(zhuǎn)移條件滿足)狀態(tài)轉(zhuǎn)移到滿足T1條件的次態(tài);操作;If(TN轉(zhuǎn)移條件滿足)狀態(tài)轉(zhuǎn)移到滿足TN條件的次態(tài);操作;break;caseS1:/插入S1的操作;/插入離開S1的轉(zhuǎn)移;break;caseSN:/插入SN的操作;/插入離開SN的轉(zhuǎn)移;break;通常將表示狀態(tài)轉(zhuǎn)移的一系列通常將表示狀態(tài)轉(zhuǎn)移的多個if語句寫成if-else語句,這樣可以使轉(zhuǎn)移條件形成互斥。單片機技術(shù)基礎(chǔ)教程與實踐整理ppt當(dāng)然也可以直接使用if語句描寫狀態(tài)機,例如:if(state=S0)if(T0轉(zhuǎn)移條件滿足)
14、狀態(tài)轉(zhuǎn)移到滿足T0條件的次態(tài);操作;elseif(T1轉(zhuǎn)移條件滿足)狀態(tài)轉(zhuǎn)移到滿足T1條件的次態(tài);操作;elseif(TN轉(zhuǎn)移條件滿足)狀態(tài)轉(zhuǎn)移到滿足TN條件的次態(tài);操作;if(state=S1)/插入離開該狀態(tài)的條件語句/插入要轉(zhuǎn)移的次態(tài)/插入S1狀態(tài)的操作語句if(state=SN)/插入離開該狀態(tài)的條件語句/插入要轉(zhuǎn)移的次態(tài)/插入SN狀態(tài)的操作語句單片機技術(shù)基礎(chǔ)教程與實踐整理ppt9.2.2 描述狀態(tài)機的完整描述狀態(tài)機的完整C程序格式程序格式#include數(shù)碼管的譯碼表格設(shè)置定時器的定時變量設(shè)置狀態(tài)變量設(shè)置其他全局變量主程序:局部變量初始化定時器初始化語句中斷允許語句主程序無限循環(huán)中:
15、(1)輸入信號處理語句獲得所有的輸入信號狀態(tài)單片機技術(shù)基礎(chǔ)教程與實踐整理ppt(2)狀態(tài)機描述語句主要是描述狀態(tài)轉(zhuǎn)移、轉(zhuǎn)移條件、定時變量清零等該狀態(tài)下的輸出語句顯示該狀態(tài)的發(fā)光二極管(不是必須的,用于調(diào)試)(3)顯示處理語句將定時數(shù)據(jù)送到數(shù)碼管顯示(不是必須的,用于調(diào)試)(4)其他語句(5)若是在狀態(tài)描述語句中沒有描述輸出,可單獨將各個狀態(tài)下的輸出描述定時器中斷服務(wù)程序中:設(shè)置靜態(tài)局部變量根據(jù)定時器工作模式確定是否設(shè)置初值,若是需要精確定時,選擇不需要預(yù)置初值的工作方式2每中斷一次就增加數(shù)值的語句,獲得確定的中斷時間(例如1s)。按照確定的中斷時間,增加定時變量單片機技術(shù)基礎(chǔ)教程與實踐整理pp
16、t9.3 示例程序示例程序 在狀態(tài)機描述中,除了直接描述狀態(tài)機的語句外,還需要按鍵(鈕)輸入語句、定時器描述等語句,本節(jié)通過示例對按鍵、定時等的C描述給予介紹。示例程序1按鍵處理程序。P3口全部連接按鍵,P0口連接的數(shù)碼管顯示按鍵的值,程序中變量kk是按鍵的值,不同的按鍵按下,數(shù)碼管顯示不同的值。變量說明變量說明nn延遲時間循環(huán)變量kk按鍵值table共陽數(shù)碼管譯碼表單片機技術(shù)基礎(chǔ)教程與實踐整理ppt源程序如下:#includeAT89X51.hunsignedintcodetable=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,
17、0 x90;unsignedintkk=0 x08;voidmain()unsignedintnn;while(1)P3=0 xff;/P3口連接8個按鍵作為輸入if(P3|0 x00)!=0 xff)/如果有按鍵按下for(nn=0;nn1000;nn+);/延時if(P3|0 x00)!=0 xff)/按鍵還在按下狀態(tài)switch(P3)case0 xfe:/P3_0=0,fe=11111110kk=0;break;case0 xfd:/P3_1=0,fd=11111101kk=1;break;單片機技術(shù)基礎(chǔ)教程與實踐整理pptcase0 xfb:/P3_2=0,fb=11111011kk
18、=2;break;case0 xf7:/P3_3=0f7=11110111kk=3;break;case0 xef:/P3_4=0,ef=11101111kk=4;break;case0 xdf:/P3_5=0,df=11011111kk=5;break;case0 xbf:/P3_6=0,bf=10111111kk=6;break;case0 x7f:/P3_7=07f=01111111kk=7;break;default:kk=8;while(P3!=0 xff);/如果按鍵還在按下時,則停留在此,等待按鍵抬起P0=tablekk;/將鍵值送到P0口連接的數(shù)碼管顯示單片機技術(shù)基礎(chǔ)教程與實踐
19、整理ppt示例程序2按鍵控制秒計數(shù)(定時器0工作在方式1)。P3口引腳連接按鍵,按鍵按下后,P0口連接的數(shù)碼管顯示按鍵號,P1口循環(huán)顯示0按鍵號之間的值,P2_0連接的LED燈亮1s,滅1s。如下程序采用定時器0,方式1工作,由于預(yù)裝初值需要時間,所以不是精確計數(shù)。變量說明變量說明nn主函數(shù)內(nèi)延遲時間循環(huán)變量kk按鍵值t0隨定時器中斷次數(shù)遞增變量nn局部靜態(tài)變量,隨定時器中斷次數(shù)增加table共陽數(shù)碼管譯碼表單片機技術(shù)基礎(chǔ)教程與實踐整理ppt源程序如下:#includeAT89X51.h/文件夾名yuzuo2unsignedintcodetable=0 xC0,0 xF9,0 xA4,0 xB
20、0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;unsignedintkk=0 x08;unsignedintt0;voidmain()unsignedintnn;TMOD=0 x01;/定時器0,M1M0=01(模式1),gate=0(外中斷不起作用),C/T=0TH0=0 x3c;/設(shè)置TH初值0 x3cb0=65536-50000=15536,50ms中斷一次,每秒中斷20次TL0=0 xb0;/設(shè)置TL初值TR0=1;/啟動定時器0ET0=1;/設(shè)置中斷使能寄存器,允許定時器0中斷EA=1;/允許所有中斷源中斷while(1)P3=0 xff;/P3口連接8
21、個按鍵作為輸入if(P3)!=0 xff)/如果有鍵按下for(nn=0;nnkk)/由于kk是按鍵值,所以按鍵不同,kk不同,因此延遲時間也不同。t0=0;單片機技術(shù)基礎(chǔ)教程與實踐整理ppt示例程序3按鍵控制定時時間的程序(定時器0工作在方式2)。按鍵值kk不同,則t0值的循環(huán)周期不同,因此可以通過kk改變t0,進而改變與t0相關(guān)的周期長度。變量說明變量說明nn主函數(shù)內(nèi)延時時間循環(huán)變量kk按鍵值t0隨定時器中斷次數(shù)遞增變量nn局部靜態(tài)變量,隨定時器中斷次數(shù)增加table共陽數(shù)碼管譯碼表單片機技術(shù)基礎(chǔ)教程與實踐整理ppt源程序如下:#includeAT89X51.hunsignedintcod
22、etable=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;unsignedintkk=0 x08;unsignedintt0;voidmain()unsignedintnn;TMOD=0 x02;/定時器0,工作模式M1,M0=2(0000,0010),8位、自動重裝定時模式/gate=0(外中斷不起作用),C/T=0(取時鐘信號)TH0=0 x06;/預(yù)置初值6到定時器TH,預(yù)置250微秒溢出一次(12MHz)/0.25ms,若是需要定時1s,則需要乘以4000,TL0=0 x06;/預(yù)置TL0值TR0=1;/啟動定
23、時器0ET0=1;/允許定時器中斷EA=1;/允許總中斷單片機技術(shù)基礎(chǔ)教程與實踐整理pptwhile(1)P3=0 xff;/P3口連接8個按鍵作為輸入if(P3)!=0 xff)/有鍵按下for(nn=0;nnkk)/kk改變t0的循環(huán)周期t0=0;單片機技術(shù)基礎(chǔ)教程與實踐整理ppt示例程序4在使用如下的按鍵檢測程序時,可以根據(jù)需要按鍵的多少裁減程序。如果需要按鍵按下時起作用,則應(yīng)該去掉等待按鍵抬起的語句,但是應(yīng)該注意,若是在狀態(tài)轉(zhuǎn)移條件中,連續(xù)兩個轉(zhuǎn)移條件具有相同的鍵值,這可能引起狀態(tài)連續(xù)變化。P3口連接按鍵,P0口連接的數(shù)碼管顯示按鍵值。變量說明變量說明nn主函數(shù)內(nèi)延遲時間循環(huán)變量kk按
24、鍵值n0,n1,n2n3,n4,n5,n6,n7各個按鍵按下標(biāo)志t0隨定時器中斷次數(shù)遞增變量nn局部靜態(tài)變量,隨定時器中斷次數(shù)增加table共陽數(shù)碼管譯碼表單片機技術(shù)基礎(chǔ)教程與實踐整理ppt源程序如下:#includeAT89X51.hunsignedintcodetable=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;unsignedintn0,n1,n2,n3,n4,n5,n6,n7;unsignedintkk=8;voidmain()unsignedintnn;while(1)P3=0 xff;/P3口連接8個按
25、鍵作為輸入if(P3_0=0)/P3_0鍵按下for(nn=0;nn1000;nn+);/延時if(P3_0=0)/如果還在按下狀態(tài),則n0=1,kk=0;否則n0=0,kk=8;n0=1;kk=0;P2_0=0;elsen0=0;while(!P3_0);/等待按鍵抬起單片機技術(shù)基礎(chǔ)教程與實踐整理pptif(P3_1=0)/P3_1連接的按鍵處理程序for(nn=0;nn1000;nn+);if(P3_1=0)n1=1;kk=1;elsen1=0;while(!P3_1);if(P3_2=0)/P3_2連接的按鍵處理程序for(nn=0;nn1000;nn+);if(P3_2=0)n2=1;
26、kk=2;elsen2=0;while(!P3_2);if(P3_3=0)/P3_3連接的按鍵處理程序for(nn=0;nn1000;nn+);if(P3_3=0)n3=1;kk=3;/P3_3連接的按鍵處理程序elsen3=0;while(!P3_3);if(P3_4=0)for(nn=0;nn1000;nn+);if(P3_4=0)n4=1;kk=4;/P3_4連接的按鍵處理程序elsen4=0;while(!P3_4);單片機技術(shù)基礎(chǔ)教程與實踐整理pptif(P3_5=0)/P3_5連接的按鍵處理程序for(nn=0;nn1000;nn+);if(P3_5=0)n5=1;kk=5;els
27、en5=0;while(!P3_5);if(P3_6=0)/P3_6連接的按鍵處理程序for(nn=0;nn1000;nn+);if(P3_6=0)n6=1;kk=6;elsen6=0;while(!P3_6);if(P3_7=0)/P3_7連接的按鍵處理程序for(nn=0;nn1000;nn+);if(P3_7=0)n7=1;kk=7;elsen7=0;while(!P3_7);P0=tablekk;/P0口連接的數(shù)碼管顯示按鍵值單片機技術(shù)基礎(chǔ)教程與實踐整理ppt9.4 燈開關(guān)類例題燈開關(guān)類例題例題例題9-3 設(shè)計一個開關(guān)燈裝置,該開關(guān)燈裝置在按鍵k(P3_0引腳)第一次按下時,三盞燈a、b和c同時點亮,當(dāng)k再次按下時,a燈立刻熄滅;b燈15s后熄滅,在b燈熄滅18s后,c燈熄滅變量說明變量說明nn主函數(shù)內(nèi)延時時間循環(huán)變量kk按鍵
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年心理發(fā)展與教育技術(shù)考試試卷及答案
- 2025年國際貿(mào)易與經(jīng)濟學(xué)考研試卷及答案分析
- 2025年全國高中數(shù)學(xué)競賽試卷及答案
- 2025年人力資源管理考試題及答案
- 海外城市綜合體施工進度監(jiān)理及技術(shù)支持合同
- 商標(biāo)品牌授權(quán)運營及市場拓展協(xié)議
- 電子商務(wù)平臺技術(shù)研發(fā)與業(yè)務(wù)模式創(chuàng)新協(xié)議
- 基因治療項目臨床試驗研究員派遣合同
- 果園無人機植保租賃與智能植保解決方案協(xié)議
- 網(wǎng)紅蛋糕店區(qū)域代理加盟連鎖經(jīng)營合同
- 大學(xué)學(xué)院學(xué)生出國(境)訪學(xué)管理辦法(試行)
- 三年級數(shù)學(xué)-《年月日》整理和復(fù)習(xí)課件
- 兼職教師任職承諾書
- 兩器車間產(chǎn)能分析
- JIS C9335-1-2014 家用和類似用途電器.安全性.第1部分:通用要求
- TSG Z7002-2022 特種設(shè)備檢測機構(gòu)核準(zhǔn)規(guī)則
- 上海市2020年中考化學(xué)試卷(word版含解析)
- 史上最全的數(shù)列通項公式的求法15種
- 配電室高低壓運行記錄表
- 番茄采摘機械手
- 報聯(lián)商——有效溝通PPT課件
評論
0/150
提交評論