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對指令...