|
發布時間: 2018-5-26 15:17
正文摘要:本帖最后由 ethanshen 于 2018-5-26 15:27 編輯 如何用光電開關計數并用LCD1602顯示,求大神們指教 下面是我寫的程序,希望大家幫我看一下,很急!!!!!! 不知道為什么,總是第一下顯示,后面就不顯示了, ... |
| 樓主,可以讓我看下實物引腳怎樣連接嗎 |
QIANLILI 發表于 2018-5-28 09:44 key1是什么,為什么我測試了還是數字不變化 |
| 你好, 為什么我只顯示了 coi 三個字母有時候是8個字母 有時候是全的。 為什么?新手,, |
|
程序修改了下。 主程序建議如下: void main() { LCD1602Init(); display_char(0,0,&table1[0]); while(1) { if(key1==0) { delay(20); if(key1==0) { num++; Write_Cmd(0x01); display_char(0,0,&table1[0]); display_digit(num); //顯示數值加在主程序里 不要放在時間中斷里。時間中斷有干擾顯示。 把時間中斷程序取消掉。 while(!key1); } } } } 仿真測試過。能正確顯示遞加的數值。 |
|
void display_digit(uchar d)//顯示數字 { uchar bai,shi,ge; bai=d/100; shi=d%100/10; ge=d%10; Write_Dat(bai+'0'); Write_Dat(shi+'0'); Write_Dat(ge+'0'); while(1); 是這句代碼 應該取消掉。否則顯示一次數字后一直停留在這里不下去。 } 另外 程序顯示數字位置代碼需要再修改下。現在仿真試下來,計數后是一直往后顯示而不是在原位置刷新再顯示。 |
devcang 發表于 2018-5-26 16:22 但還是一樣的結果啊! |
|
如果低電平就觸發,那檢測連接到外部中斷上。。。。。。。主函數只管顯示 ~~~~~~~~~~~ |