找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4379|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

新手求教,剛學(xué)12864代碼調(diào)了好久,電位器也擰了好久,就是只亮不顯示

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 5 黑幣 回復(fù)本帖可獲得 5 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:229016 發(fā)表于 2017-11-13 11:57 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code ta1[]=" Hello 杜甫";
  5. uchar code ta2[]="E點(diǎn)電子工作室";
  6. uchar code ta3[]="落霞與孤鶩齊飛";
  7. uchar code ta4[]="秋水共長(zhǎng)天一色";
  8. sbit RS=P3^5;
  9. sbit RW=P3^6;
  10. sbit EN=P3^4;
  11. sbit PSB=P3^7;
  12. void delayms(uint ms)
  13. {
  14.    uint x,y;
  15.    for(x=0;x<ms;x++)
  16.      for(y=0;y<113;y++);
  17. }
  18. void dectbusybit() //忙檢測(cè)
  19. {
  20.    P0=0xff;
  21.    RS=0; //讀指令
  22.    RW=1;
  23.    EN=1;
  24.    while(P0&0x80);//如果液晶是忙,停在這里
  25.    delayms(5);
  26.   }
  27. void lcd_wrcom(uchar com) //寫(xiě)指令函數(shù)
  28. {
  29.    dectbusybit();
  30. RS=0;
  31. RW=0;
  32. EN=1;
  33. P0=com;
  34. delayms(1);
  35. EN=0;
  36.   }
  37. void lcd_wrdat(uchar dat)
  38. {
  39.    dectbusybit();
  40. RS=1;
  41. RW=0;
  42. EN=1;
  43. P0=dat;
  44. delayms(1);
  45. EN=0;
  46.   }
  47. void lcd_init()
  48. {
  49.   lcd_wrcom(0x30);//八位數(shù)據(jù)接口,基本指令
  50.    delayms(5);
  51.    lcd_wrcom(0x0c);//開(kāi)顯示設(shè)置光標(biāo)不顯示不反白
  52.    delayms(5);
  53.    lcd_wrcom(0x01);//清屏
  54.    delayms(20);
  55.    }
  56. void lcd_wraddr(uchar x,uchar y)
  57. {
  58.   uchar X,Z;
  59.   if(x==1)
  60.   {
  61.      X=0x80;
  62.   }
  63. else if(x==2)
  64. {
  65.    X=0x90;
  66.    }
  67. else if(x==3)
  68. {
  69.    X=0x88;
  70.    }
  71. else if(x==4)
  72. {
  73.    X=0x98;
  74.    }
  75. Z=X+y;
  76. lcd_wrcom(Z);
  77. }
  78. void main()
  79. {
  80.   uchar i;
  81.   lcd_init();
  82.   delayms(5);
  83.   while(1)
  84.   {
  85.     lcd_wraddr(1,0);//第1行第1列
  86.     while(ta1[i]!='\0');
  87. {  
  88.    lcd_wrdat(ta1[i]);
  89.    i++;
  90. delayms(5);
  91. }
  92.   lcd_wraddr(2,0);//第2行第1列
  93.     while(ta2[i]!='\0');
  94. {  
  95.    lcd_wrdat(ta2[i]);
  96.    i++;
  97. delayms(5);
  98. }
  99. lcd_wraddr(3,0);//第3行第1列
  100.     while(ta3[i]!='\0');
  101. {  
  102.    lcd_wrdat(ta3[i]);
  103.    i++;
  104. delayms(5);
  105. }
  106. lcd_wraddr(4,0);//第4行第1列
  107.     while(ta4[i]!='\0');
  108. {  
  109.    lcd_wrdat(ta4[i]);
  110.    i++;
  111. delayms(5);
  112. }
  113. while(1);
  114. }
  115. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:96682 發(fā)表于 2017-11-13 13:54 | 只看該作者
首要排除的是不是用錯(cuò)了液晶屏(有/無(wú)字庫(kù)液晶屏),再查其它的原因
回復(fù)

使用道具 舉報(bào)

板凳
ID:229016 發(fā)表于 2017-11-13 16:30 | 只看該作者
我用的是QC系列的,應(yīng)該是有字庫(kù)液晶屏
回復(fù)

使用道具 舉報(bào)

地板
ID:229016 發(fā)表于 2017-11-13 18:20 | 只看該作者
很急,麻煩大神幫忙看看,這個(gè)模塊沒(méi)解決,后面的沒(méi)法進(jìn)行了
回復(fù)

使用道具 舉報(bào)

5#
ID:140489 發(fā)表于 2017-11-14 09:07 | 只看該作者
這個(gè)程序是劉平《深入淺出玩轉(zhuǎn)單片機(jī)》書(shū)里面的,程序沒(méi)問(wèn)題的,仔細(xì)檢查硬件有沒(méi)有錯(cuò)
回復(fù)

使用道具 舉報(bào)

6#
ID:240206 發(fā)表于 2017-11-14 09:27 | 只看該作者
根據(jù)電路圖 檢查硬件的連接
回復(fù)

使用道具 舉報(bào)

7#
ID:229016 發(fā)表于 2017-11-15 19:00 | 只看該作者
lids 發(fā)表于 2017-11-14 09:07
這個(gè)程序是劉平《深入淺出玩轉(zhuǎn)單片機(jī)》書(shū)里面的,程序沒(méi)問(wèn)題的,仔細(xì)檢查硬件有沒(méi)有錯(cuò)

一看就是老手,劉平老師的,再看看,謝謝啦!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表