請教各位單片機大佬 我在學習1602液晶屏顯示 但為什么會這樣呢
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table1[]="I Love You";
uchar code table2[]="xiao ming";
uchar *str1=table1;
uchar *str2=table2;
#define LcdDB P0
sbit LcdEN=P2^3;
sbit LcdRW=P2^1;
sbit LcdRS=P2^0;
void Lcd_Init();
void LcdWrCmd(uchar cmd);
void LcdWrDat(uchar dat);
void LcdBusy();
void Lcd_Show(uchar x,uchar y);
void main()
{
Lcd_Init();
Lcd_Show(2,0);
while(*str1 !='\0')
{
LcdWrDat(*str1++);
}
Lcd_Show(1,1);
while(*str2 !='\0')
{
LcdWrDat(*str2++);
}
while(1)
{
;
}
}
void Lcd_Init()
{
LcdWrCmd(0x38);
LcdWrCmd(0x0c);
LcdWrCmd(0x06);
LcdWrCmd(0x01);
}
void LcdWrCmd(uchar cmd)
{
LcdBusy();
LcdRS=0;
LcdRW=0;
LcdDB=cmd;
LcdEN=1;
LcdEN=0;
}
void LcdWrDat(uchar dat)
{
LcdBusy();
LcdRS=1;
LcdRW=0;
LcdDB=dat;
LcdEN=1;
LcdEN=0;
}
void LcdBusy()
{
LcdDB=0xFF;
LcdRS=0;
LcdRW=1;
LcdEN=1;
while(LcdDB&0x80);
LcdEN=0;
}
void Lcd_Show(uchar x,uchar y)
{
uchar addr;
if(y==0)
{
addr=0x00+x;
}
else
addr=0x40+x;
LcdWrCmd(addr|0x80);
}
uj5u.com熱心網友回復:
是不是V0電壓高了,調低點看看uj5u.com熱心網友回復:
這個電壓不是引腳設定好了的嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230061.html
標籤:單片機/工控
上一篇:dht11在tiny4412上的驅動測驗顯示resource temporary unavailable
下一篇:數電設計
