新闻中心

EEPW首页>嵌入式系统>设计应用> 常用液晶屏LCD1602的使用

常用液晶屏LCD1602的使用

作者: 时间:2012-08-15 来源:网络 收藏
#includereg52.h>sbit RS=P2^0;sbit RW=P2^1;sbit EN=P2^2;//LCD的三个控制端unsigned char table[]={0x15,0x0A,0x15,0x0A,0x15,0x0A,0x15,0x0A};void delay(unsigned int i){while(--i);}void Read_busy()
//忙检测,DB7为1则busy,不能进行读写操作 ;每次读写前应"读忙"检测{P0=0x00;RS=0;RW=1;EN=1;while(P0 0x80);EN=0;}void write_LCD_command(unsigned char value)//写命令函数{Read_busy();RS=0;RW=0; EN=1;P0=value;delay(100);EN=0;}void write_LCD_data(unsigned char value)//写命令函数{Read_busy();RS=1;RW=0; EN=1;P0=value;delay(100);EN=0;}void init_LCD(){write_LCD_command(0x38);//在这里加延时delay(5);write_LCD_command(0x0c);//开显示,不显示光标,且不闪烁//在这里加延时delay(5); write_LCD_command(0x06);//每次写入数据后地址指针加1 //在这里加延时delay(5);write_LCD_command(0x01);//清屏}void main(){unsigned char num;init_LCD();write_LCD_command(0x40);
//对CGRAM第一个自定义操作,若是第二个则为0x48,其次类推(上面有对顶的关系)for(num=0;num8;num++){write_LCD_data(table[num]);}write_LCD_command(0x80); //规定显示在第一行第一个位置write_LCD_data(0x00); //显示第一个自定义(0x40对应第一个:0x00)while(1);}/*到这里程序结束了,第一次写可能说的不够清晰,有不懂的可以留言给我^_^*/

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭