找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

lcd1602只亮不顯示是什么原因

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:701099 發(fā)表于 2020-4-2 16:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
unsigned char code tab1[]="welcome AT89S51!";
unsigned char code tab2[]="LCD1602test..OK";
bit lcd1602_read_status();
void lcd1602_write_cmd(unsigned char cmd);
void lcd1602_write_dat(unsigned char dat);
void lcd1602_init();
void delay(unsigned int i);
void delay(unsigned int i)
{while(i--);}
bit lcd1602_read_status()
{ unsigned char temp;
RS=0;
RW=1;
temp=P0;
delay(20);
E=1;
delay(20);
E=0;
return (bit)(temp&0x80);
}
void lcd1602_write_cmd(unsigned char cmd)
{
while(lcd1602_read_status()!=0);
E=0;
RS=0;
RW=0;
P0=cmd;
delay(20);
E=1;
delay(20);
E=0;
}
void lcd1602_write_dat(unsigned char dat)
{
while(lcd1602_read_status()!=0);
E=0;
RS=1;
RW=0;
P0=dat;
delay(20);
E=1;
delay(20);
E=0;
}
void lcd1602_init()
{
E=0;
lcd1602_write_cmd(0x38);
lcd1602_write_cmd(0x0c);
lcd1602_write_cmd(0x01);
lcd1602_write_cmd(0x06);
delay(200);
}
void lcd1602_display()
{
unsigned char i,j;
lcd1602_write_cmd(0x80+0x00);
for(i=0;i<15;i++)
{lcd1602_write_dat(tab1[i]);delay(20);}
lcd1602_write_cmd(0x80+0x40);
for(j=0;j<14;j++)
{lcd1602_write_dat(tab2[j]);delay(20);}
}
void main()
{
lcd1602_init();
lcd1602_display();
while(1);
}

51hei圖片20200402161036.png (63.11 KB, 下載次數(shù): 59)

51hei圖片20200402161036.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:97554 發(fā)表于 2020-4-2 18:17 | 只看該作者
RW  RS  EN狀態(tài)不對,好像卡在讀忙狀態(tài)不跑了。這個顯示1602讀忙操作沒有意義。

初學(xué)者的經(jīng)驗1602顯示 先定義四個函數(shù)----延時、初始化、寫數(shù)據(jù)、寫命令。

然后主函數(shù)--初始化--寫命令---寫數(shù)據(jù)

就完事了,剛開始學(xué)的時候就是被這些晦澀難懂的寫法擋在門外很久很久。

單片機(jī),把它分成一塊塊的研究會好學(xué)的很多。
回復(fù)

使用道具 舉報

板凳
ID:213173 發(fā)表于 2020-4-2 20:00 | 只看該作者
查忙程序錯誤
回復(fù)

使用道具 舉報

地板
ID:688939 發(fā)表于 2020-4-2 21:41 | 只看該作者
proteus仿真1602時有BUG,把忙檢測那里的程序去掉,用延時5ms代替
回復(fù)

使用道具 舉報

5#
ID:593706 發(fā)表于 2020-4-3 10:09 | 只看該作者
如果你的代碼確定沒有問題,硬件接線也正確,那么只亮不顯示,極有可能是L1602上的對比度電壓(模塊第三腳)沒有調(diào)好,如果對比度電壓不全適,字符是完全看不見地。
回復(fù)

使用道具 舉報

6#
ID:673985 發(fā)表于 2020-4-3 11:15 來自手機(jī) | 只看該作者
代碼問題呀
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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