51单片机驱动1602液晶显示器c程序
时间:11-24
来源:互联网
点击:
/*
程序效果:单片机控制液晶显示器1602显示字母数字,用户自行更改io
程序版权:http://www.51hei.com
*/
#includereg52.h> //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
uchar code table[]="51HEI XING XING " ; //显示的字母
uchar code table1[]="51HEI MCUXUE YUAU" ;
sbit lcdrs=P1^0; //寄存器选择引脚
sbit lcdwr=P1^1; //读写引脚
sbit lcde=P1^2; //片选引脚
void delay(uchar x) //延时子函数
{
uchar i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void write_com(uchar com) //写指令子函数
{ //根据1602液晶显示器协议编写
P2=com;
lcdrs=0;
lcdwr=0;
delay(5);
lcde=0;
delay(5);
lcde=1;
}
void write_dat(uchar dat) //写数据子函数
{
P2=dat;
lcdrs=1;
lcdwr=0;
delay(5);
lcde=0;
delay(5);
lcde=1;
}
void init() //初始化子函数
{
write_com(0x01); //清屏
write_com(0x3f); //功能设置
write_com(0x0d); //显示控制
write_com(0x06); //输入方式设置
}
void main()
{
uchar i; //定义局部变量
init();
write_com(0x80+0x02+0x10); //指针的位置
for(i=0;i15;i++) //显示
{
write_dat(table[i]);
delay(50); //延时,用于调节速度不匹配
}
write_com(0x80+0x40+0x10);
for(i=0;i16;i++)
{
write_dat(table1[i]);
delay(50);
}
for(i=0;i16;i++)
{
write_com(0x18);
delay(50);
}
while(1);
}
程序效果:单片机控制液晶显示器1602显示字母数字,用户自行更改io
程序版权:http://www.51hei.com
*/
#includereg52.h> //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
uchar code table[]="51HEI XING XING " ; //显示的字母
uchar code table1[]="51HEI MCUXUE YUAU" ;
sbit lcdrs=P1^0; //寄存器选择引脚
sbit lcdwr=P1^1; //读写引脚
sbit lcde=P1^2; //片选引脚
void delay(uchar x) //延时子函数
{
uchar i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void write_com(uchar com) //写指令子函数
{ //根据1602液晶显示器协议编写
P2=com;
lcdrs=0;
lcdwr=0;
delay(5);
lcde=0;
delay(5);
lcde=1;
}
void write_dat(uchar dat) //写数据子函数
{
P2=dat;
lcdrs=1;
lcdwr=0;
delay(5);
lcde=0;
delay(5);
lcde=1;
}
void init() //初始化子函数
{
write_com(0x01); //清屏
write_com(0x3f); //功能设置
write_com(0x0d); //显示控制
write_com(0x06); //输入方式设置
}
void main()
{
uchar i; //定义局部变量
init();
write_com(0x80+0x02+0x10); //指针的位置
for(i=0;i15;i++) //显示
{
write_dat(table[i]);
delay(50); //延时,用于调节速度不匹配
}
write_com(0x80+0x40+0x10);
for(i=0;i16;i++)
{
write_dat(table1[i]);
delay(50);
}
for(i=0;i16;i++)
{
write_com(0x18);
delay(50);
}
while(1);
}
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)