|
發布時間: 2019-2-1 17:20
正文摘要:無按鍵按下時紅燈和綠燈倒計時時間為30s,黃燈時間為5s,按鍵1有兩種模式:第一種模式是改變寶田路時間,第二種模式(即再按一下按鍵1),改變前進路時間 按鍵2和按鍵3分別是在不同模式下時間加1和時間減1;按鍵4是 ... |
lhblhb 發表于 2019-2-3 14:46 看了你的電路圖,P2高4位還有其他用途,所以判斷按鍵時不能隨意改變P2狀態。可以這樣寫: void DULIANJIAN() //獨立按鍵模塊 { u8 i; //臨時變量 i=GPIO_TRAFFId; //讀P2口賦值變量i i&=0x0f; //高4位清0,保留低4位 if(i!=0x0f) //判斷有鍵按下 { delay(100); //延時 if(i!=0x0f) //確認有鍵按下 { switch(i) //按鍵鍵位的確定 { case(0x0e):key_can=1;break; case(0x0d):key_can=2;break; case(0x0b):key_can=3;break; case(0x07):key_can=4;break; } } } } |
zhengchong60 發表于 2019-2-1 18:54 這個是我仿照開發板的電路設計的,靜態數碼管,34位顯示寶田路時間,78位顯示前進路時間 |
wulin 發表于 2019-2-1 20:20 試過了還是不行,還是要感謝你,新春快樂 |
|
void DULIANJIAN() //獨立按鍵模塊 { GPIO_TRAFFId=0x0f; //P2口 if(GPIO_TRAFFId!=0x0f) //判斷按鍵 { delay(100); //延時 if(GPIO_TRAFFId!=0x0f) { switch(GPIO_TRAFFId) //按鍵鍵位的確定 { case(0x0e):key_can=1;break; case(0x0d):key_can=2;break; case(0x0b):key_can=3;break; case(0x07):key_can=4;break; } while(!GPIO_TRAFFId); } } } |