网站头部怎样做有气势,外国人 做的中国字网站,国家企业信用信息公示系统入口,海报设计思路文章目录 一、LCD1602简介二、LCD1602接口原理图及引脚说明1、原理图2、引脚说明 三、LCD1602低层时序四、LCD1602高层时序五、一些宏定义总结 一、LCD1602简介
LCD1602#xff08;16x2#xff0c;显示器显示2排#xff0c;每排16个字符#xff09;。能显示的字符数是3216x2显示器显示2排每排16个字符。能显示的字符数是32但是不代表像素数是32因为一个字符是由多个像素组成的具体是多少像素我们不用去管因为LCD1602内置了字库了。带ASCII码字库不能显示中文。当我们想让LCD1602显示某个ASCII码字符时只需要将这个字符对应的ASCII码发给LCD1602内部的控制器控制器就会去查字库得到字模然后将字模发给内部的驱动器去驱动LCD做显示。 二、LCD1602接口原理图及引脚说明
1、原理图 LCD1602有8根数据线所以一个时钟可以传输8bit数据。 2、引脚说明
VCC、GND供电引脚BG VCC、BG GND背光的供电VO 液晶显示的偏压信号RS1时D0-D7上传输的是数据RS0时D0-D7上传输的是命令RW1时表示我们要读RW0时表示我们要写E1时表示使能 enableE0时表示禁止 disable 三、LCD1602低层时序 1、不忙检测信号 void Lcd1602_Read_Busy(void)
{unsigned char sta 0;LCD1602_DATAPORT 0xFF;LCD1602_RS 0;LCD1602_RW 1;do{LCD1602_E 1;sta LCD1602_DATAPORT;LCD1602_E 0; }while(sta 0x80);
}2、写命令 void Lcd1602_Write_Cmd(unsigned char cmd)
{Lcd1602_Read_Busy();LCD1602_RS 0;LCD1602_RW 0;LCD1602_DATAPORT cmd;_nop_();LCD1602_E 1;_nop_();LCD1602_E 0;
}3、写数据 void Lcd1602_Write_Data(unsigned char dat)
{Lcd1602_Read_Busy();LCD1602_RS 1;LCD1602_RW 0;LCD1602_DATAPORT dat;_nop_();LCD1602_E 1;_nop_();LCD1602_E 0;
}4、设置坐标 void Lcd1602_Set_Cursor(unsigned char x, unsigned char y)
{unsigned char addr;if(0 y) //0代表第一行非0代表第二行addr 0x00 x;elseaddr 0x40 x;Lcd1602_Write_Cmd(0x80 addr);
}四、LCD1602高层时序 1、初始化 void Lcd1602_Init(void)
{Lcd1602_Write_Cmd(0x38); //数据总线8位显示2行5*7点阵/字符Lcd1602_Write_Cmd(0x0c); //显示功能开无光标光标闪烁Lcd1602_Write_Cmd(0x06); //写入新数据后光标右移显示屏不移动Lcd1602_Write_Cmd(0x01); //清屏
}2、写一个字符串 void Lcd1602_Show_String(unsigned char x,unsigned char y,unsigned char *str)
{unsigned char i 0;if(0 y) //从第一行开始写{while(*str ! \0){if(i 16 - x) //如果字符串不超过16Lcd1602_Set_Cursor(x i, y);elseLcd1602_Set_Cursor(x i - 16, y 1); //如果超过16继续在第二行写Lcd1602_Write_Data(*str);str;i;}}else //从第二行开始写{while(*str ! \0){if(i 16 - x)Lcd1602_Set_Cursor(x i, y); //如果字符串不超过16elseLcd1602_Set_Cursor(x i - 16, 0); //如果超过16继续在第一行写Lcd1602_Write_Data(*str);str;i;}}
}五、一些宏定义
sbit LCD1602_RS P2^6; //数据命令选择
sbit LCD1602_RW P2^5; //读写选择
sbit LCD1602_E P2^7; //使能信号#define LCD1602_DATAPORT P0 //宏定义LCD1602数据端口总结
LCD1602的显示相对还是比较简单的由于内部封装了字库所以我们操作起来比较容易但是不可以显示复杂的字符