![]() |
發布時間: 2019-3-23 22:27
正文摘要:求大佬給看一下1602亂碼的原因 #include <STC89C5xRC.H> #include <stdio.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #include "LCD1602.h" sbit R ... |
仔細檢測程序。多看看其他帖子。吸取經驗。樓主加油。祝你早日成功。 |
我已經弄好了,換了幾個舊模塊都不行,然后自己焊接了一個ds1302的模塊,再修改修改的程序就好了。 |
樓上說的對,你這個顯示程序的輸入參數應該是ASCII碼,而你輸入的是數字,比如‘0’的ASCII碼是0x30, 以141行 write_data(time_buf[0]/16);為例 ,比如你要顯示數字2 應該是write_data(0x32);其中0x32是數字2的ASCII碼 因此在你141后面所有 write_data(XXX)全部改成write_data(‘0’+XXX)就能顯示了 或者write_data(0x30+XXX) |
1602顯示的字符,如顯示3數字 代碼0x30+3,你出現亂碼是沒有進行顯示碼的+0x30. |
qq1104859436 發表于 2019-3-24 12:31 生搬硬套行不通,就算電路與程序是配套的,只是芯片不一樣都有可能出問題 |
HC6800-ES-V2.0 發表于 2019-3-24 10:02 不行啊,這個程序下載進去什么都沒有了,1602也不顯示東西了 |
實例91 具有校正功能的時鐘1302(LCD1602顯示) |
給一個例子,你對照看看:![]() ![]() |
45.69 KB, 下載次數: 43