微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 初步认识51单片机-2.2单片机控制LCD1602液晶显示模块

初步认识51单片机-2.2单片机控制LCD1602液晶显示模块

时间:11-21 来源:互联网 点击:

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;

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top