如网页上呈现格局紊乱可从此处本例的完好源码:http://www.51hei.com/f/1602430.rar上图是仿真作用 显现2行字符.
#include
#define uchar unsigned char
/*****************************************
电路衔接
P1——DB0~DB7
P2.0——RS
P2.1——RW
P2.2——E
*****************************************/
#define LCD_DB P1
sbit LCD_RS=P2^0;
sbit LCD_RW=P2^1;
sbit LCD_E=P2^2;
uchar code ttt[]=”ShanXi Dianzi Kejixueyuan”;//25
uchar code kkk[]=”Dianzi GonGcheng Xueyun”;//23
/******界说函数****************/
#define uchar unsigned char
#define uint unsigned int
void LCD_init(void);//声明初始化函数
void LCD_write_command(uchar command);//写指令函数
void LCD_write_data(uchar dat);//写数据函数
void LCD_disp_char(uchar x,uchar y,uchar dat);//在某个屏幕方位上显现一
//个字符,X(0-16),y(1-2)
//void LCD_check_busy(void);//查看忙函数。我没用到此函数,由于通过率极低。
void delay_n40us(uint n);//延时函数
//********************************
//*******初始化函数***************
void LCD_init(void)
{
LCD_write_command(0x38);//设置8位格局,2行,5×7
LCD_write_command(0x0c);//全体显现,关光标,不闪耀
LCD_write_command(0x06);//设定输入方法,增量不移位————–
LCD_write_command(0x01);//铲除屏幕显现—————-
delay_n40us(100);//实践证明,我的LCD1602上,用for 循环200 次就能牢靠完结清屏指令。
}
//********************************
//********写指令函数***********设置先向1602写入的数据为地址*
void LCD_write_command(uchar dat)
{
LCD_DB=dat;
LCD_RS=0;//指令
LCD_RW=0;//写入
LCD_E=1;//答应
LCD_E=0;//发生下降沿
delay_n40us(1);//实践证明,我的LCD1602 上,用for 循环1 次就能完结一般写指令。
}