C51微控制器一鍵多功能

時間 2021-11-04 16:40:26

1樓:匿名使用者

計數嘍,當沒按鍵時,計數為0,當按下按鍵時,計數自加即為1,然後進行判斷當滿足等於1時即p1.1閃爍並確保其他燈滅,當再次按下時,計數再自加即為2,然後進行判斷當滿足等於2時即p1.2閃爍並確保其他燈滅,以此類推。

當到了p1.3時,即再次迴圈即可。

2樓:匿名使用者

#include

#define uchar unsigned char#define uint unsigned intsbit key=p3^7;

sbit led0=p1^0;//低電平點亮sbit led1=p1^1;

sbit led2=p1^2;

sbit led3=p1^3;

void delay(uint n) //延遲程式,外接12mhz晶振的話 大約延遲n毫秒 }

void main()

while(!key);// 等待按鍵釋放}if(key_num==4) key_num=0;

if(key_num==0) //led0閃爍if(key_num==1)

if(key_num==2)

if(key_num==3) }}

c51微控制器程式求助

sec cnt equ 30h sec 0x equ 31h org 0000h sjmp mian org 000bh sjmp int t0 mian mov sec cnt,20 mov sec 0x,00h mov tmod,01h mov th0,65536 50000 256mov tl...

c51微控制器中斷程式中的interrupt1,2,3是由什麼決定的

中斷是指由於某種事件的發生 硬體或者軟體的 計算機暫停執行當前的程式,轉而執行另一程式,以處理髮生的事件,處理完畢後又返回原程式繼續作業的過程。中斷是處理器一種工作狀態的描述。1 int0 外部中斷0,由p3.2埠引入,低電平或下降沿引起。預設優先順序最高。2 int1 外部中斷1,由p3.3埠引入...

我C語言寫了C51微控制器的流水燈定時一秒的程式,有如下問題,求助高手改錯

include void delay void void main void 1 啟動就全亮,是因為你沒對p1口進行復位,預設的為高電平,所以會全亮 你在最前面加句p0 0x00 就可以解決了。2建議你使用delay函式比較好,這個延時自己可以調節的,就改變括號的數字就可以了。好像有它的時間計算公式...