標(biāo)題:
液晶只顯示黑塊,請·大家?guī)臀铱纯闯绦,謝謝了
[打印本頁]
作者:
云中行走
時(shí)間:
2016-5-9 23:10
標(biāo)題:
液晶只顯示黑塊,請·大家?guī)臀铱纯闯绦,謝謝了
[attach]26215[/attach]
#include<reg51.h>
#include<intrins.h>
typedef unsigned char uchar;
typedef unsigned char uint;
unsigned char code table[]= {"Temp wireless "};
unsigned char code table1[]={"Temp: "};
unsigned char code shuzi[]={"123456789ABCDEFG"};
unsigned char num;
sbit rs=P1^2;//LCD數(shù)據(jù)/命令選擇端(H/L)
sbit rw=P1^1;//LCD讀/寫選擇端(H/L)
sbit en=P1^0;//LCD使能控制
/*******************************************************************************
以下是對液晶模塊的操作程序
*******************************************************************************/
/***********1602液晶顯示部分子程序****************/
void ready()
{
P0=0xff;
rs=0; //RS(H/L),低電平選擇命令
rw=1; //RW(H/L),讀操作
en=1;
while(P0&0x80); //當(dāng)為0時(shí)表示不忙,退出循環(huán)。
en=0;
}
void write_com(uchar com)
{
ready();
rs=0;//命令
rw=0;
P0=com;
en=1;//ready()執(zhí)行完后,en為0。形成高脈沖,表示可對液晶讀寫。
en=0;
}
void write_date(uchar date)
{
ready();
rs=1;//數(shù)據(jù)
rw=0;
P0=date;
en=1;//ready()執(zhí)行完后,en為0。形成高脈沖,表示可對液晶讀寫。
en=0;
}
/**************************************************
函數(shù)功能:主函數(shù)
***************************************************/
void main(void)
{
en=0;
P0=0xff;
write_com(0x38); //設(shè)置工作方式
write_com(0x0c); //設(shè)置光標(biāo)
write_com(0x06); //設(shè)置輸入方式
write_com(0x01); //清屏
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(shuzi[num]);
}
while(1);
}//
復(fù)制代碼
作者:
歐陽ouy
時(shí)間:
2016-5-26 22:45
對1602的操作部分,最好在每執(zhí)行完一條指令后加個延時(shí),比如delay(5);(具體延時(shí)程序我就不說了)延時(shí)一小會兒,讓1602準(zhǔn)備接收數(shù)據(jù)
作者:
歐陽ouy
時(shí)間:
2016-5-26 22:46
lcdrs=1;
lcdrw=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
就像這樣,每個后面都加個延時(shí)。
作者:
云中行走
時(shí)間:
2016-5-26 22:49
歐陽ouy 發(fā)表于 2016-5-26 22:46
lcdrs=1;
lcdrw=0;
好的,我試試
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1