AT89S51控制两屏切换:LCD1602与按键驱动

需积分: 0 36 下载量 67 浏览量 更新于2024-08-30 5 收藏 697KB PDF 举报
本篇文章主要介绍了如何在单片机AT89S51的控制下,使用LCD1602液晶显示器和两个按键实现两屏信息的切换显示。设计的核心目标是利用LCD1602的命令集,至少使用四个命令来完成显示设置。具体步骤如下: 1. 设计任务:任务要求是设计一个简单的用户界面,第一屏显示姓名拼音和学号,第二屏显示籍贯拼音和生日。操作流程是通过按键触发屏幕切换,同时采用中段扫描方式确保按键响应准确,避免抖动。 2. 设计思路: - 键盘扫描:通过中段扫描函数实现,当按键被按下时,INT0引脚产生中断请求,单片机接收到后置位按键按下标志位,并读取键值。通过重读机制(延时比较)消除按键抖动。 - 延时函数:利用嵌套for循环实现10ms级别的延时,确保按键响应的稳定性和准确性。 - 显示函数:分为两个部分,一是初始化函数,设置LCD1602的工作模式(如5x7点阵、八位数据接口、无闪烁等),并清屏;二是显示字符串函数,分别显示指定地址的文本。显示函数的关键在于调用初始化函数后再进行,确保信息持久显示。 - 初始化函数:通过写命令函数设置LCD1602的显示模式,包括两行显示、光标位置、地址指针等。 - 写命令函数:利用查忙函数检测LCD1602是否处于忙状态,以确保在非忙状态下发送命令,防止干扰。 在整个设计过程中,作者强调了对细节的把控,如正确处理按键中断、稳定的时间间隔设置以及 LCD1602 的初始化和命令设置,这些都是实现两屏切换显示的基础。此外,使用四个或以上命令来设置显示模式也展示了对LCD1602功能的灵活运用。