//用C语言编程,实现在1602液晶的第一行显示“I LOVE MCU”,第二行显示“WWW.TXMCU.COM”.
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[] = “I LOVE MCU!”; //这里面共计11个数值,后面的for语句里面一个一个地显示出来
uchar code table1[] = “WWW.TXMCU.COM”; //共计13个数值
sbit lcden = P3 ^ 4; //液晶使能端en,en=0,en=1,en=0 这三个组合拳为一个使能脉冲,数据被送进去
sbit lcdrs = P3 ^ 5; //液晶数据or命令选择端,rs=1,写的是数据;rs=0,写的是命令commond,控制程序。
sbit dula = P2 ^ 6;
sbit wela = P2 ^ 7;
uchar num;
void delay(uint z)
{
uint x, y;
for (x = z; x > 0; x–)
for (y = 110; y > 0; y–);
}
void write_com(uchar com)
{
lcdrs = 0; //选择写命令模式
P0 = com; //将要写的命令字送到数据总线上
delay(5); //稍作延迟待数据稳定
lcden = 1; //使能端给一个高脉冲,因为初始化函数中已经将lcden置0
delay(5); //再延时会
lcden = 0; //将使能端置0以完成高脉冲
}
void write_data(uchar date)
{
lcdrs = 1;
P0 = date;
delay(5);
lcden = 1;
delay(5);
lcden = 0;
}
void init()
{
dula = 0;
wela = 0;
lcden = 0;
write_com(0x38); //设置16×2显示,5×7点阵,8位 数据接口
write_com(0x0c); //设置开显示,不显示光标
write_com(0x06); //写一个字符后,地址指针加1
write_com(0x01); //显示清0,数据指针清0
}
void main()
{
init(); //||| 设置初始化函数init,设置1602显示,设置光标,指针工作模式。
write_com(0x80); //||| 写命令发送位置,0x80为第一个位置; 指令码是“80H+地址码”,规定位置形式。
for (num = 0; num {
write_data(table[num]); //table 0 = I,把I 写入P0=I,且脉冲进去,I 在里面显示了。大前提“写一个字符后,地址指针加1”,table=1,table=2,把所有写入。
delay(5);
}
write_com(0x80 + 0x40);
for (num = 0; num {
write_data(table1[num]);
delay(5);
}
while (1);
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!