![]() |
發布時間: 2019-12-20 22:23
正文摘要:我想做一個按下按鍵能通過1602顯示按鍵數值,并且通過串口顯示在電腦上的程序 現在的問題是,我用的開發板,我先是定義了開發板上面的4個獨立按鍵3.0 3.1 3.2 3.3 但是下載后,能 ... |
給你改寫成4個獨立按鍵P3.0 、P3.1 、P3.2 、P3.3 與串口共用P3.0 、P3.1 ,1602顯示鍵值的示例。
|
因為你的串口發送是在串口中斷里的,但是按照你的想法是按一下串口發一個數,但是從一開始直到按鍵按下串口始終沒有接收到外部發送的數據,那怎么會進入串口中斷函數呢,所以你應該把你這個串口中斷函數改為普通函數,然后把這個程序加在每個按鍵程序有按下情況的判斷后面,這樣就可以了。 |
csmyldl 發表于 2019-12-21 00:54 這個我已經修改了 按照開發板原理圖RXD=k1 TXD=K2 我把K1定義3.0 TXD定義3.1 但是按鍵顯示在1602的就是不對 K1按下顯示B K2 按下顯示A 我不知道是不是原理圖錯了 把K1 K2調換就對了 手里有沒有萬用表 現在的問題是串口可以顯示字符了 不過只有K2按下可以直接顯示字符 B 其他按鍵 需要按下后 再按下K2鍵才能顯示對應字符 如按下K3 后 再按下K2才能顯示K3的字符C |
按鍵延時消抖的時間是不是長了,10ms就可以了 |
液晶上顯示B就是按下K1后的結果,按下K2將顯示C,這是對的,因為你顯示的內容是數組a[]中的內容,按下K1后,anjian=1,對應字母B,按下K2后,anjian=2,對應字母C |
因為你的串口發送是在串口中斷里的,但是按照你的想法是按一下串口發一個數,但是從一開始直到按鍵按下串口始終沒有接收到外部發送的數據,那怎么會進入串口中斷函數呢,所以你應該把你這個串口中斷函數改為普通函數,然后把這個程序加在每個按鍵程序有按下情況的判斷后面,這樣就可以了。 |
1576905479516..jpg (2.01 MB, 下載次數: 74)