初步认识51单片机-2.2单片机控制LCD1602液晶显示模块
s(unsigned char t);
void write_com(unsigned char mycmd);
void write_data(unsigned char mydata);
sbit RS=P2^7;
sbit EN=P2^6;
void main (void)
{
LCD_init();
write_com(0x0f);
write_data(0x41);
while(1);
}
void LCD_init(void)
{
delayMs(15);
write_com(0x38);
delayMs(5);
write_com(0x38);
write_com(0x08);
write_com(0x01);
write_com(0x06);
write_com(0x0c);
}
void delayUs(unsigned char t)
{
while(--t);
}
void delayMs(unsigned char t)
{
while(--t)
{
delayUs(245);
delayUs(245);
}
}
void write_com(unsigned char mycmd)
{
delayMs(5);//注意这里需要延时5ms比较保险代替判断忙信号
P0=mycmd; //准备好指令
RS=0; //告诉LCD1602,P0中放的是指令不是数据
EN=1;
delayUs(5); //根据时序图,脉冲要有一定宽度
EN=0; //使指令有效,开始执行
}
void write_data(unsigned char mydata)
{
delayMs(5);//注意这里需要延时5ms比较保险
P0=mydata;
RS=1;
EN=1;
delayUs(5);
EN=0;
}
51单片机单片机控制LCD1602液晶显示模 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)