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

QQ登錄

只需一步,快速開始

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

單片機(jī)控制LCD1602出現(xiàn)第一行白色的方塊問題,線沒接錯(cuò)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
17黑幣
我在lcd上電后出現(xiàn)第一行白色的方塊。V0和VSS接口接了一個(gè)2.2K的電阻,線沒接錯(cuò)。下面是程序。求助,急!



最佳答案

查看完整內(nèi)容

VSS VDD V0接一個(gè)10K電位器,仔細(xì)調(diào)整下試試
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:326783 發(fā)表于 2019-4-3 20:27 | 只看該作者
VSS VDD V0接一個(gè)10K電位器,仔細(xì)調(diào)整下試試
回復(fù)

使用道具 舉報(bào)

板凳
ID:426422 發(fā)表于 2019-4-3 21:15 | 只看該作者
沒有人嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2019-4-4 12:45 | 只看該作者

沒有上代碼,神仙也幫不了你。
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2019-4-4 12:59 | 只看該作者
“下面是程序”?
回復(fù)

使用道具 舉報(bào)

6#
ID:504761 發(fā)表于 2019-4-4 13:39 | 只看該作者
應(yīng)該是程序有問題,把程序發(fā)出來
回復(fù)

使用道具 舉報(bào)

7#
ID:288922 發(fā)表于 2019-4-4 14:05 | 只看該作者
代碼沒有問題的話,LCD應(yīng)該是壞了,要不然就是接觸不良,當(dāng)時(shí)我的也是這種情況
回復(fù)

使用道具 舉報(bào)

8#
ID:467843 發(fā)表于 2019-4-4 14:08 | 只看該作者
沒有初始化程序或者初始化程序錯(cuò)誤,把你的程序發(fā)上來 ,不然就像樓上說的神仙也幫不了你
回復(fù)

使用道具 舉報(bào)

9#
ID:426422 發(fā)表于 2019-4-4 19:03 | 只看該作者
#ifndef __LCD1602_H__
#define __LCD1602_H__
//#include "delay.h"                 
#include<reg52.h>
sbit LCD1602_RS  =  P3^6;                  
sbit LCD1602_RW  =  P3^5;                  
sbit LCD1602_E   =  P3^4;                  

#define Busy    0x80
#define  LCD1602_Data  P0
void delay_50us_1602(unsigned int t)
{
        unsigned char i,j;
        for(i=0;i<t;i++)
                for(j=110;j>0;j--);
}

void LCD1602_write_com(unsigned char com)
{
  delay_50us_1602(5);
//        LCD1602_E = 0;
        LCD1602_RS = 0;
        LCD1602_RW = 0;
                LCD1602_E = 0;
        LCD1602_Data= com;
        delay_50us_1602(10);
        LCD1602_E = 1;
        delay_50us_1602(10);
        LCD1602_E = 0;
}

void LCD1602_write_data(unsigned char        dat)
{
        delay_50us_1602(10);
//        LCD1602_E = 0;
        LCD1602_RS = 1;
        LCD1602_RW = 0;
        LCD1602_E = 0;
        LCD1602_Data = dat;
        delay_50us_1602(10);
        LCD1602_E = 1;
        delay_50us_1602(10);
        LCD1602_E = 0;
}

void LCD1602_init(void)
{

   delay_50us_1602(15);
   LCD1602_write_com(0X38);
   delay_50us_1602(5);
//         LCD1602_write_com(0X0C);
//           LCD1602_write_com(0X06);
//           LCD1602_write_com(0X01);
   LCD1602_write_com(0X08);
           delay_50us_1602(5);
   LCD1602_write_com(0X01);
           delay_50us_1602(5);
   LCD1602_write_com(0X06);
           delay_50us_1602(5);
   LCD1602_write_com(0X0C);
           delay_50us_1602(5);
//         LCD1602_write_com(0x0e);
//         LCD1602_write_com(0x06);
//         LCD1602_write_com(0x01);
   
}


void LCD1602_Disp_ZF(unsigned char addr,unsigned char * pt,unsigned char num)
{
        unsigned char i;
        LCD1602_write_com(addr);
        for(i = 0;i < (num*1);i++)
                LCD1602_write_data(*(pt++));
}

#endif

void main(void)     
{
        Delay_ms(400);
        LCD1602_init();
        Delay_ms(10);
  LCD1602_Disp_ZF(0x80,"     CM       CM",16);
        LCD1602_Disp_ZF(0x80+0X40,"sdz:          CM",16);
        TMOD=0x01;     
        TH0=0;     
        TL0=0;   
        TH1=0xf8;   
        TL1=0x30;   
        ET0=1;
        ET1=1;     
        TR1=1;  
        EA=1;   
//        EA=0;
        sdz = ISP_READ(0x2c00)*256+ISP_READ(0x2c01);
        EA=1;
回復(fù)

使用道具 舉報(bào)

10#
ID:426422 發(fā)表于 2019-4-4 19:06 | 只看該作者
本帖最后由 zhubindada 于 2019-4-4 19:11 編輯

程序來了 。請(qǐng)大家?guī)拖旅Α?/td>
回復(fù)

使用道具 舉報(bào)

11#
ID:426422 發(fā)表于 2019-4-4 19:09 | 只看該作者
wangshengs 發(fā)表于 2019-4-4 13:39
應(yīng)該是程序有問題,把程序發(fā)出來

程序發(fā)了,親大神幫忙
回復(fù)

使用道具 舉報(bào)

12#
ID:213173 發(fā)表于 2019-4-5 06:59 | 只看該作者
zhubindada 發(fā)表于 2019-4-4 19:09
程序發(fā)了,親大神幫忙


  1. #include<reg52.h>

  2. #define Busy    0x80
  3. #define  LCD1602_Data  P0

  4. sbit LCD1602_RS  =  P3^6;                  
  5. sbit LCD1602_RW  =  P3^5;                  
  6. sbit LCD1602_E   =  P3^4;                  

  7. void delay_50us_1602(unsigned int t)
  8. {
  9.         unsigned char i,j;
  10.         for(i=0;i<t;i++)
  11.                 for(j=110;j>0;j--);
  12. }

  13. void LCD1602_write_com(unsigned char com)
  14. {
  15.         delay_50us_1602(5);
  16. // LCD1602_E = 0;
  17.         LCD1602_RS = 0;
  18.         LCD1602_RW = 0;
  19.         LCD1602_E = 0;
  20.         LCD1602_Data= com;
  21.         delay_50us_1602(10);
  22.         LCD1602_E = 1;
  23.         delay_50us_1602(10);
  24.         LCD1602_E = 0;
  25. }

  26. void LCD1602_write_data(unsigned char dat)
  27. {
  28.         delay_50us_1602(10);
  29. // LCD1602_E = 0;
  30.         LCD1602_RS = 1;
  31.         LCD1602_RW = 0;
  32.         LCD1602_E = 0;
  33.         LCD1602_Data = dat;
  34.         delay_50us_1602(10);
  35.         LCD1602_E = 1;
  36.         delay_50us_1602(10);
  37.         LCD1602_E = 0;
  38. }

  39. void LCD1602_init(void)
  40. {
  41.    delay_50us_1602(15);
  42.    LCD1602_write_com(0X38);
  43.    delay_50us_1602(5);
  44. // LCD1602_write_com(0X0C);
  45. // LCD1602_write_com(0X06);
  46. // LCD1602_write_com(0X01);
  47.    LCD1602_write_com(0X08);
  48.    delay_50us_1602(5);
  49.    LCD1602_write_com(0X01);
  50.    delay_50us_1602(5);
  51.    LCD1602_write_com(0X06);
  52.    delay_50us_1602(5);
  53.    LCD1602_write_com(0X0C);
  54.    delay_50us_1602(5);
  55. // LCD1602_write_com(0x0e);
  56. // LCD1602_write_com(0x06);
  57. // LCD1602_write_com(0x01);
  58.    
  59. }

  60. void LCD1602_Disp_ZF(unsigned char addr,unsigned char * pt,unsigned char num)
  61. {
  62.         unsigned char i;
  63.         LCD1602_write_com(addr);
  64.         for(i = 0;i < (num*1);i++)
  65.                 LCD1602_write_data(*(pt++));
  66. }

  67. void main(void)     
  68. {
  69. //        Delay_ms(400);
  70.         LCD1602_init();
  71. //        Delay_ms(10);
  72.         LCD1602_Disp_ZF(0x80,"     CM       CM",16);
  73.         LCD1602_Disp_ZF(0x80+0X40,"sdz:          CM",16);
  74.         TMOD=0x01;     
  75.         TH0=0;     
  76.         TL0=0;   
  77.         TH1=0xf8;   
  78.         TL1=0x30;   
  79.         ET0=1;
  80.         ET1=1;     
  81.         TR1=1;  
  82.         EA=1;   
  83. // EA=0;
  84. //        sdz = ISP_READ(0x2c00)*256+ISP_READ(0x2c01);
  85.         EA=1;
  86.         while(1);
  87. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

13#
ID:426422 發(fā)表于 2019-4-6 08:52 | 只看該作者

就是仿真上可以 ,實(shí)物不行,是何解?
回復(fù)

使用道具 舉報(bào)

14#
ID:213173 發(fā)表于 2019-4-6 14:19 | 只看該作者
zhubindada 發(fā)表于 2019-4-6 08:52
就是仿真上可以 ,實(shí)物不行,是何解?

仔細(xì)查對(duì)硬件!


回復(fù)

使用道具 舉報(bào)

15#
ID:494259 發(fā)表于 2019-4-6 16:29 來自觸屏版 | 只看該作者
這個(gè)我知道    你可能是把lcd的背光亮度調(diào)大了   就是第三個(gè)管腳Vo哪個(gè)     
回復(fù)

使用道具 舉報(bào)

16#
ID:426422 發(fā)表于 2019-4-10 10:13 | 只看該作者
已解決,謝謝大家。我的問題是在V0上面的2.2K電阻不夠使V0腳達(dá)到1.3V.要用足夠大的電位器來調(diào)節(jié)。
回復(fù)

使用道具 舉報(bào)

17#
ID:1074947 發(fā)表于 2023-5-6 14:01 來自觸屏版 | 只看該作者
樓主接的是10k的么
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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