LCD1602的常用指令
1、清屏指令 写入0x01 全部清屏;写入0x02只数据指针亲清屏
2模式设置
0X38 设置16X2显示 5X7点阵 8为数据接口
操作时序
1、读状态 RS=L,RW=H,E=H
2、读数据 RS=H,RW=L,E=H
3、写指令:RS=L RW=L,D0~D7指令代码 E=高脉冲
4、写数据:RS=H,RW=L,D0~D7=数据 E=高脉冲
#include <reg52.h>
#include "LCD1602.h"
#include "Delay.h"
#include "Key.h"
int cnt=5, KeyNum;
void main()
{
while(1)
{ KeyNum=Key();
if(KeyNum==1)
{ LCD_Init();
LCD_ShowString(2,1,"hello");
}
if(KeyNum==2)
{
LCD_Init();
LCD_ShowString(2,1,"hpu");
}
}
}
/*独立按键模块*/
#include <REGX52.H>
#include "Delay.h"
unsigned char Key()
{
unsigned char KeyNumber=0;
if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);KeyNumber=1;}
if(P3_0==0){Delay(20);while(P3_0==0);Delay(20);KeyNumber=2;}
if(P3_2==0){Delay(20);while(P3_2==0);Delay(20);KeyNumber=3;}
if(P3_3==0){Delay(20);while(P3_3==0);Delay(20);KeyNumber=4;}
return KeyNumber;
}
|