久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15147|回復: 5
收起左側

單片機+LCD1602只亮不顯示

[復制鏈接]
ID:508945 發表于 2019-5-7 16:27 | 顯示全部樓層 |閱讀模式
最開始1602第一排只顯示一排方塊,在1602上加了排針之后(因為焊接原因1602需要高一點)就只亮不顯示任何東西了。下面是1602部分的程序:
#include<at89x51.h>
#include <intrins.h>
#define uint  unsigned int
#define uchar unsigned char
void delay(uint z)
{
   uint a,b;
   for(a=z;a>0;a--)
     for(b=640;b>0;b--);
}
sbit LcdRs                = P2^5;
sbit LcdRw                = P2^6;
sbit LcdEn          = P2^7;
#define  DBPort P0               
#define LCD_COMMAND                        0      
#define LCD_DATA                        1      
#define LCD_CLEAR_SCREEN        0x01      
#define LCD_HOMING                  0x02  
void LCD_Write(bit style, unsigned char input)
{
        LcdEn=0;
        LcdRs=style;
        LcdRw=0;                _nop_();
        DBPort=input;        _nop_();
        LcdEn=1;                _nop_();
        LcdEn=0;                _nop_();
_nop_();
        delay(1);//
}
#define LCD_SHOW                        0x04   
#define LCD_HIDE                        0x00   
#define LCD_CURSOR                        0x02
#define LCD_NO_CURSOR                0x00        
#define LCD_FLASH                        0x01   
#define LCD_NO_FLASH                0x00   
void LCD_SetDisplay(unsigned char DisplayMode)
{
        LCD_Write(LCD_COMMAND, 0x08|DisplayMode);        
}
#define LCD_AC_UP                        0x02
#define LCD_AC_DOWN                        0x00      
#define LCD_MOVE                        0x01   
#define LCD_NO_MOVE                        0x00      
void LCD_SetInput(unsigned char InputMode)
{
        LCD_Write(LCD_COMMAND, 0x04|InputMode);
}
void LCD_Initial()
{
        LcdEn=0;
        LCD_Write(LCD_COMMAND,0x38);         
        delay(15);
        LCD_Write(LCD_COMMAND,0x38);
        delay(15);
        LCD_Write(LCD_COMMAND,0x38);
        delay(15);
        LCD_Write(LCD_COMMAND,0x38);
        delay(15);
        LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);  
        delay(15);
        LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   
        delay(15);
        LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);   
        delay(15);
}
void GotoXY(unsigned char x, unsigned char y)
{
        if(y==0)
                LCD_Write(LCD_COMMAND,0x80|x);
        if(y==1)
                LCD_Write(LCD_COMMAND,0x80|(x-0x40));
        delay(2);
}
void Print(unsigned char *str)
{
        while(*str!='\0')
        {
                LCD_Write(LCD_DATA,*str);
                str++;
                delay(2);
        }
}

回復

使用道具 舉報

ID:530180 發表于 2019-5-7 23:59 | 顯示全部樓層
是不是沒接上拉電阻
回復

使用道具 舉報

ID:530187 發表于 2019-5-8 00:19 | 顯示全部樓層
連接P0口要加上拉電阻,如果最開始在1602液晶屏上能夠顯示16個5*7的黑塊,則說明一開始的連接沒有錯,能夠正常初始化的,因為write_com(0x38);初始化后就是在第一行顯示黑塊的。后面只亮屏不顯示的話,你可以查看一下接線有沒錯誤,如果沒錯,可以換塊液晶屏排查一下。另外對1602不熟悉的時候,你可以一步一步慢慢調試,熟悉后再進行自己的編程操作
回復

使用道具 舉報

ID:530187 發表于 2019-5-8 00:30 | 顯示全部樓層
如果連接P0口需要加上拉電阻。只要一開始能夠在第一行顯示一排5*7的黑塊,就是能夠正常初始化,后來焊了排針卻只亮的話,先查看下接線有沒接錯,或者有什么線路接觸不良。也有可能是因為對比度沒調節好,你可以調一下那個可變電阻試一下。如果還不行,換一塊顯示屏試一下,看下是不是顯示屏壞了
回復

使用道具 舉報

ID:213173 發表于 2019-5-8 06:35 | 顯示全部樓層
你的這個程序本來就不完整,不可能正常顯示。開始顯示一排方塊表明1602初始化失敗,說明程序有問題。被你折騰后只亮不顯示任何東西說明不單純只是程序問題了。
回復

使用道具 舉報

ID:530228 發表于 2019-5-8 07:00 | 顯示全部樓層
連接P0口要加上拉電阻
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品91久久| 欧美日韩高清在线一区 | 懂色中文一区二区在线播放 | 国产精品美女在线观看 | 亚洲导航深夜福利涩涩屋 | 91高清在线视频 | av入口 | 天堂视频免费 | 夜夜精品浪潮av一区二区三区 | 久久亚洲一区 | 国产精品99久久久久久动医院 | 国产欧美精品一区二区 | 超碰精品在线 | 免费在线观看av网站 | 久草资源| 精品国产一区二区在线 | 美美女高清毛片视频免费观看 | 色综合天天天天做夜夜夜夜做 | 一区二区三区观看视频 | 午夜视频免费在线观看 | 日韩在线观看网站 | 欧美成人影院 | 成人在线观看免费爱爱 | 日韩国产精品一区二区三区 | 欧美日韩中文在线 | 国产精品久久久久久久午夜片 | 精品在线视频播放 | 久久久无码精品亚洲日韩按摩 | 国产一级片一区二区三区 | 天天操欧美| 亚洲成人一区二区三区 | 国产四虎 | 久久久久国产 | 中文字幕一区二区三区在线观看 | 久久99精品久久久久婷婷 | 81精品国产乱码久久久久久 | 亚洲1区| 黄色免费看 | 国产精品一区一区 | 男女羞羞视频网站 | 国产精品欧美一区二区三区 |