在51微控制器中按鍵程式跳到串列埠中斷中然後在按一下這

2021-08-21 11:55:24 字數 1082 閱讀 8165

1樓:生活如歌

沒這麼用過,你的意思還是有鍵按下後通過串列埠傳送資訊,那直接呼叫一段傳送子程式就是了。

如果你非得用中斷,試試給ti,ri置1

2樓:大餅

能不能說說你要完成什麼功能?非要這麼實現我感覺是可以的,可是我想先知道你這是要幹什麼。

好吧,你可以把a鍵的外部中斷設定為邊沿觸發(下降沿)(假設是那個外部中斷的引腳是sbit ext0=p3^0),然後在中斷函式裡面寫上

int flag=1;

while(flag)

}我寫得這個沒加消抖,不過意思應該明白了吧

3樓:匿名使用者

這是不行的,如果是外部中斷的話,你可以講鍵接到外部中斷io口,可以實現,定時器中斷,可以接入到定時器io口,用計數器模式,也可以實現,但串列埠中斷卻不可以的 。

4樓:凌寒冰吻

如果用串列埠的話,按了a鍵(開啟串列埠),此時,傳送一個數字,並判斷是否符合,然後再按b,c鍵增加或減少數字,d鍵關閉串列埠.

如果不用串列埠的話,可以用a做一個位判斷標誌,按下時,可以進行b或c的加減,並進行數碼管的顯示,按d可以將a做的標誌清0.,,,

5樓:匿名使用者

貌似難實現,就算你能跳進中斷,你總不能呆在裡面不出來吧?中斷執行完後會自己返回的。

c52微控制器按下一個鍵進入中斷,再按這個鍵退出中斷可以實現嗎?

6樓:做而論道

可以的。

在中斷程式中,檢測按鍵,沒有按,就反覆檢測。

再次按下後,再退出中斷程式。

在51微控制器中,按一下按鍵1,執行一個程式功能1,按按鍵2,執行程式功能2,按鍵3,執行功能3

7樓:匿名使用者

設定外部中斷

,再copy中斷函式裡設定一個flag,

若按鍵1觸發中斷則,flag=1:其它兩個類似再主函式裡設定

while(1)

else if(flag==2)

else if(flag==3)}

51微控制器串列埠通訊寫字元,51微控制器串列埠通訊寫一個字元

你主程式這麼寫,傳送一個字元後,微控制器並不停止。應該加一行無限迴圈語句,while 1 才能停,如下 include include unsigned char ch bit read flag 0 void init serialcom void 串列埠通訊初始設定 向串列埠傳送一個字元 voi...

51微控制器,通過串列埠助手向微控制器傳送字串,微控制器將字串逆序傳送回計算機,用C語言程式設計

電腦通過串列埠助手向微控制器傳送字串,微控制器定義一個可以儲存7個字元的陣列,依次儲存接收的字串,當接收到7個字串後,就可以從陣列的最後一個字元向前傳送每一個字元給電腦就可以了。剩下的就是串列埠初始化,串列埠接收和傳送程式了,就比較好寫了。其實,電腦傳送任意的7個字元的字串都可以,微控制器收到後就可...

51微控制器串列埠傳送「 」是怎麼回事

51微控制器的串列埠,是個全雙工的串列埠,傳送資料的同時,還可以接收資料。當序列傳送完畢後,將在標誌位 ti 置 1,同樣,當收到了資料後,也會在 ri 置 1。無論 ri 或 ti 出現了 1,只要串列埠中斷處於開放狀態,微控制器都會進入串列埠中斷處理程式。在中斷程式中,要區分出來究竟是傳送引起的...