一、利用单片机如何控制LCD
今天的主题是如何用单片机控制LCD编写数字钟,该数字钟具有校时功能,代码较长,我会仔细为大家讲解的。
当然如果大家对数字钟感兴趣的话可以看我的姐妹篇,如何用74LS192芯片编写数字钟~~~
欢迎“戳一戳”
在写如何用单片机控制LCD的时候,首先需要对LCD的初始化,在初始化中我们需要用到以下几个函数,分别是——LCD初始化函数、检查忙标志函数、写命令函数、写数据函数、显示字符串函数、延时函数、主函数等。接下来我会逐个介绍各个函数。
二、单个函数分解
1. 1、LCD_INITIAL——初始化函数
void lcd_initial(void)
{
RW=0;
E=0;
write_command(0x3C);
write_command(0x0C); //写入0x0C:开整体显示,光标关,无闪烁
write_command(0x06); //写入0x06:光标右移,写入一个字符后地址指针加1
write_command(0x01); //写入0X01:清屏
write_command(0x80); //写入0x80:字符输入地址,字符的第一位
delay(1); //延时
}
2、WRITE_COMMAND——写命令函数
void write_command(uchar com)
{
check_busy();
E=0; //规定RS和E同时为0时,才可以写入命令
RS=0;
RW=0;
out=com; //将命令com写入P0口
E=1; //写命令时,E应为正脉冲,即正跳变,所以前面先置E=0
_nop_(); //空操作一个机器周期,等待硬件反应
E=0; //E由高电平变为低电平,LCD开始执行命令
delay(1);
}
3、CHECK_BUSY——检验忙函数
在执行大多数命令时都需要检测LCD是否为空闲,如果为空闲再进行指令写入,否则等待。
void che