项目七 电子日历的制作与实现电子课件 高教版 中职 单片机c语言程序设计及仿真
2022-11-12
|
43页
|
133人阅读
|
18人下载
普通
内容正文:
项目七、电子日历的制作与实现
任务1 LCD1602液晶显示
任务描述:
单片机P0端口外接一个LCD1602液晶显示屏的数据端口,试编写控制程序,控制液晶显示屏显示“I Like LCD”。
1.LCD1602显示原理
知识链接
2. LCD1602控制指令
知识链接
3.LCD1602读写操作时序——读操作
知识链接
读操作过程为:R/W端为1;RS端根据写指令写数据,分别设置为0和1;E端变为1,LCD1602输出数据,单片机可读取数据DB0-DB7;E端变为0,此后数据输出无效。
3.LCD1602读写操作时序——写操作
知识链接
写操作过程为:R/W端为0;RS端根据写指令写数据,分别设置为0和1;单片机准备好数据DB0-DB7后,在E端产生下降沿,LCD1602锁定数据。
1.任务分析
任务实施
(1)根据电路分析可知:单片机的P0端口作为LCD1602的数据,LCD1602控制端口RS、RW、EN分别连单片机的P2.0、P2.1、P2.2三个端口。
(2)LCD1602驱动函数如下:
●判忙函数void busy()
该函数用于读取LCD1602的状态,“忙”就继续读取状态;“闲”就执行后面的命令。
●写命令函数 void Write_cmd()
该函数用于向LCD1602发送命令。
●写数据函数 void Write_data()
该函数用于向LCD1602写入数据。
●初始化程序 void Lcd_init()
该函数用于初始化LCD1602。
(3)设置指针数据指针
“I Like LCD”字符在LCD1602第一行中央显示所以数据地址为:0x80+0X03。
2.程序流程
任务实施
3.程序编写——判忙函数
任务实施
void busy(){ P0=0xff; do { rs=0;rw=1; en=0;en=1; } while(BF==1); en=0;}
3.程序编写——写命令函数
任务实施
void Write_cmd (uchar x)
{
busy();
rs = 0; //写指令标志
rw = 0;
DATA = x;
delayms(1);
en = 1;
delayms(1);
en = 0;
}
3.程序编写——初始化函数
任务实施
void Lcd_init ( )
{
delayms(5); Write_cmd(0x38);
delayms(1); Write_cmd(0x38);
delayms(1); delayms(1);
Write_cmd(0x08);delayms(1);
Write_cmd(0x01);delayms(1);
Write_cmd(0x06);delayms(1);
Write_cmd(0x0c);
}
3.程序编写——主函数
任务实施
void main ( )
{
Lcd_init();
Write_cmd(0x80+0X03); //写LCD的第一行的第4个地址
Write_data('I');Write_data(' ');
Write_data('L');Write_data('i');
Write_data('k');Write_data('e');
Write_data(' ');Write_data('L');
Write_data('C');Write_data('D');
while(1);
}
4.程序电路仿真——绘制电路图
任务实施
5.程序电路仿真——仿真
任务实施
任务2 电子日历的制作与实现
任务描述:
利用LCD12864完成电子日历的制作,8个独立按键K1~K8分别对年、月、日、时、分、星期进行调节。
1.LCD12864硬件结构
知识链接
2.LCD12864指令系统
知识链接
3.LCD12864控制寄存器
知识链接
4.LCD12864读写操作时序——读操作
知识链接
读操作过程为:E端先为0,R/W端为1,RS端根据读状态或读数据,分别置0或1,CS1、CS2根据选择情况为0或1,E端变为1,单片机读取数据DB0~DB7,然后在E端产生0,LCD12864输出数据无效。
4.LCD12864读写操作时序——写操作
知识链接
写操作过程为:E端先为0,R/W端为0,RS端根据写指令或写数据,分别置0或1,CS1、CS2根据选择情况为0或1,E端变为1,单片机准备好数据DB0~DB7,然后在E端产生下降沿,LCD12864锁定数据。
5.LCD12864显示原理
向显示数据RAM某单元写入一个字节数据,将在显示屏对应位置显示纵向8
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。