LCD1602的显示问题
没有找到对应的资料,什么数字对应什么功能。
* 函 数 名 : LcdInit()
* 函数功能 : 初始化LCD屏
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
#ifndef LCD1602_4PINS
void LcdInit() //LCD初始化子程序
{
LcdWriteCom(0x38); //开显示
LcdWriteCom(0x0c); //开显示不显示光标
LcdWriteCom(0x06); //写一个指针加1
LcdWriteCom(0x01); //清屏
LcdWriteCom(0x80); //设置数据指针起点
}
#else
void LcdInit() //LCD初始化子程序
{
LcdWriteCom(0x32); //将8位总线转为4位总线
LcdWriteCom(0x28); //在四位线下的初始化
LcdWriteCom(0x0c); //开显示不显示光标
LcdWriteCom(0x06); //写一个指针加1
LcdWriteCom(0x01); //清屏
LcdWriteCom(0x80); //设置数据指针起点
}
#endif
网上大把资料啦
直接百度
1602指令
#include<reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sbite=P0^7;
sbitrs=P0^6;//连时要接上拉电阻
//r/~w可以直接接地
ucharcodetable[]=“0123456789”//10个
//--------------------------
//延时
//--------------------------
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//---------------------------
//---------------------------
//1602写命令函数
//---------------------------
voidlcd_wcom(ucharcom)
{
rs=0;
P2=com;
delay(5);
e=1;
e=0;
}
//----------------------------
//----------------------------
//1602写数据函数
//----------------------------
voidlcd_wdat(uchardat)
{
rs=1;
P2=dat;
delay(5);
e=1;
e=0;
}
//---------------------------
//---------------------------
//1602初始化函数
//--------------------------
voidlcd_init()
{
lcd_wcom(0x38);//8位数据,双列,5*7字形
lcd_wcom(0x08);//关屏
lcd_wcom(0x01);//清屏
lcd_wcom(0x06);//显示地址递增,即写一个数据后,显示位置右移一位
lcd_wcom(0x0c);//开启显示屏,显示光标,光标不闪烁
}
//-----------------------------
//------------------
//主函数
//----------------
voidmain()
{
ucharm;
lcd_init();
lcd_wcom(0x80+0x00)//显示地址
for(m=0;m<10;m++)
{
lcd_wdat(table[m]);
delay(200);
}
while(1);//动态停机
}
//显示一行
建议看一下郭天祥教单片机的视频,大概在LESSON 8哪一节,如果你需要的话,我有下载链接