欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2189|回復: 2
打印 上一主題 下一主題
收起左側(cè)

單片機+LCD1602四線驅(qū)動,亂碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:717669 發(fā)表于 2020-3-28 16:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
原來的延時都是3ms,我測試的時候改成的15ms,現(xiàn)在顯示的是第一行有一堆亂碼,第二行空。麻煩各位大神幫我看看哪里出問題了唄,謝謝。
  1. #include <stc89c5xrc.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. typedef unsigned int u16;
  6. typedef unsigned char u8;
  7. sbit lcdrs=P1^0;
  8. sbit lcdrw=P1^1;
  9. sbit lcden=P2^5;
  10. sbit P2_0=P2^0;
  11. sbit P2_1=P2^1;
  12. uchar key_s, key_v, tmp;
  13. uchar code table1[]="    5675747456:    ";
  14. uchar code table2[]="  the best one! ";
  15. void delayms(uint x);
  16. void Lcd_1602_write(uchar com,date);
  17. void Lcd_1602_init();
  18. void main() {
  19.         uchar num;        
  20.         P0=0xFF;
  21.   Lcd_1602_init();
  22.          Lcd_1602_write(0,0x80);
  23.          for(num=0;num<16;num++)
  24.   {
  25.     Lcd_1602_write(1,table1[num]);
  26.     delayms(15);
  27.   }
  28.   Lcd_1602_write(0,0xc0);
  29.   for(num=0;num<16;num++)
  30.   {
  31.      Lcd_1602_write(1,table2[num]);
  32.      delayms(15);
  33.   }        
  34.         while(1) {
  35.         }
  36. }
  37. void delayms(uint x)
  38. {
  39.           uint i,j;
  40.           for(i=x;i>0;i--)
  41.                 for(j=110;j>0;j--);
  42. }
  43. void Lcd_1602_write(uchar com,date)
  44. {
  45.           uchar i;
  46.           lcdrw=0;
  47.           lcdrs=com;
  48.           for(i=0;i<2;i++)
  49.           {
  50.        lcden=1;
  51.        P0=(P0&0x0f)|(date&0xf0);
  52.        delayms(15);
  53.        lcden=0
  54.        date<<=4;
  55.           }
  56. }
  57. void Lcd_1602_init()
  58. {                                                                                          

  59.           Lcd_1602_write(0,0x28);
  60.         delayms(15);
  61.         lcden=1;
  62.         lcden=0;
  63.         Lcd_1602_write(0,0x28);
  64.           Lcd_1602_write(0,0x0e);
  65.           Lcd_1602_write(0,0x06);
  66.           Lcd_1602_write(0,0x01);
  67. }
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:699259 發(fā)表于 2020-3-28 17:17 | 只看該作者
為何一定要用4線驅(qū)動,網(wǎng)上例程非常多
回復

使用道具 舉報

板凳
ID:584814 發(fā)表于 2020-3-31 17:03 | 只看該作者
編譯時注意看提示,你貼的這程序根本通不過編譯。
第53行 lcden=0 后面少了個分號,加上后已在普中板上完美運行。
一般不改1602可以4數(shù)據(jù)2控制2電源共8線運行,如果加工或用轉(zhuǎn)換口還可以少線。
建議找個4線任意口的程序,你的這個程序4線還是占了整個P0
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表