LCD1602只顯一排黑塊,求大佬幫忙解答謝謝。

2021-10-04 04:18:23 字數 1466 閱讀 4090

proteus **是可以顯示的,但是實物上就顯示不了了。第一排顯示黑塊,第二排沒有東西顯示。求大佬幫忙解答~

實物圖,原理圖,**圖,** 如下:

這是**:

#include #include "intrins.h"						 

#include #define lcd1602_db p0

sbit lcd1602_rs = p2^0; //lcd1602 顯示

sbit lcd1602_rw = p2^1; //lcd1602 顯示

sbit lcd1602_e = p2^2; //lcd1602 顯示

void initlcd1602();

void lcdshowstr(unsigned char x, unsigned char y, unsigned char *str);

void lcdshowstr_data(unsigned char x, unsigned char y, unsigned char s);

void main (void)

/* 等待液晶準備好 */

void lcdwaitready()

while (sta & 0x80); //bit7 等於1表示液晶正忙,重複檢測直到其等於0為止

}/* 向lcd1602 寫入一位元組命令,cmd-待寫入命令值 */

void lcdwritecmd(unsigned char cmd)

/* 向 lcd1602 寫入一位元組資料,dat-寫入資料值 */

void lcdwritedat(unsigned char dat)

/* 設定顯示 ram 起始位址,亦即游標位置,(x,y)-對應螢幕上的字元座標 */

void lcdsetcursor(unsigned char x, unsigned char y)

else

lcdwritecmd(addr | 0x80); //設定 ram 位址

}/* 在液晶上顯示字串,(x,y)-對應螢幕上的起始座標,str-字串指標 */

void lcdshowstr(unsigned char x, unsigned char y, unsigned char *str)

}void lcdshowstr_data(unsigned char x, unsigned char y, unsigned char s)

/* 初始化1602液晶 */

void initlcd1602()

lcd1602顯示實驗

字元從最右邊往左移動16次,最後停止在螢幕上 include define uchar unsigned char define uint unsigned int uchar code display talk is cheap uchar code display1 show me code s...

LCD1602學習筆記

lcd1602代表可以顯示16行,2列。同時他有16個介面,有vss和vdd分別是地線和5v電源介面,第三個vl是背光介面,為了顯示更清楚通常接地。許多超市上掛著的那種滾動螢幕便是lcd1602的大致功能。include define uchar unsigned char define uint ...

LCD1602的使用詳解

一 學習目的 學會如何使用乙個新的模組 二 lcd1602原理 1 只能顯示ascii碼 1602 16個字元 行 2行 畫素 16 2 2 分析時序圖 1 寫操作 微控制器至hd44780 描述 首先要對暫存器的選擇和讀 寫操作選擇進行配置。rs是暫存器選擇,rs 1對資料進行操作 rs 0對指令...