![]() |
發布時間: 2022-6-12 19:05
正文摘要:這是個矩陣按鍵,按下任意一個按鍵,數碼管顯示從0-F的值。 單片機C語言源程序如下: #include<reg52.h> sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; sb ... |
// 執行下一次的掃描輸出 keyOut++; if(keyOut > 4) { keyOut = 0; } ======================= 這個是要給下一次掃描處理的吧? switch(keyOut) { .... } ==================== 這個switch處理的是keyOut當前值 要先處理當前的,然后再考慮下一個,邏輯要清楚啊 |
這個程序代碼長,內存大,不好 |
條件表達式語句,動作里面沒有包括switchy語句,放到前后都沒有作用。 這個格式是java語言寫法吧 | 這個管道符在這里是按位或啊 |
轉成就成圖看看![]() |
xcopter 發表于 2022-6-12 19:17 發生錯誤的根本原因是代碼錯誤,改變代碼位置只是改變發生錯誤的矩陣行。 錯誤:if(keyOut > 4) 正確:if(keyOut >= 4) 或 if(keyOut > 3) |