找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

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

查看數(shù): 7083 | 評論數(shù): 14 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2019-4-3 20:27

正文摘要:

我在lcd上電后出現(xiàn)第一行白色的方塊。V0和VSS接口接了一個2.2K的電阻,線沒接錯。下面是程序。求助,急!

回復(fù)

ID:1074947 發(fā)表于 2023-5-6 14:01
樓主接的是10k的么
ID:426422 發(fā)表于 2019-4-10 10:13
已解決,謝謝大家。我的問題是在V0上面的2.2K電阻不夠使V0腳達(dá)到1.3V.要用足夠大的電位器來調(diào)節(jié)。
ID:494259 發(fā)表于 2019-4-6 16:29
這個我知道    你可能是把lcd的背光亮度調(diào)大了   就是第三個管腳Vo哪個     
ID:213173 發(fā)表于 2019-4-6 14:19
zhubindada 發(fā)表于 2019-4-6 08:52
就是仿真上可以 ,實物不行,是何解?

仔細(xì)查對硬件!


ID:426422 發(fā)表于 2019-4-6 08:52

就是仿真上可以 ,實物不行,是何解?
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ù)制代碼



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

程序發(fā)了,親大神幫忙
ID:426422 發(fā)表于 2019-4-4 19:06
本帖最后由 zhubindada 于 2019-4-4 19:11 編輯

程序來了 。請大家?guī)拖旅Α?/td>
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;
ID:467843 發(fā)表于 2019-4-4 14:08
沒有初始化程序或者初始化程序錯誤,把你的程序發(fā)上來 ,不然就像樓上說的神仙也幫不了你
ID:288922 發(fā)表于 2019-4-4 14:05
代碼沒有問題的話,LCD應(yīng)該是壞了,要不然就是接觸不良,當(dāng)時我的也是這種情況
ID:504761 發(fā)表于 2019-4-4 13:39
應(yīng)該是程序有問題,把程序發(fā)出來
ID:123289 發(fā)表于 2019-4-4 12:59
“下面是程序”?
ID:213173 發(fā)表于 2019-4-4 12:45

沒有上代碼,神仙也幫不了你。
ID:426422 發(fā)表于 2019-4-3 21:15
沒有人嗎
ID:326783 發(fā)表于 2019-4-3 20:27
VSS VDD V0接一個10K電位器,仔細(xì)調(diào)整下試試

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

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

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