8031单片机与8155扩展:非编码键盘扫描程序设计

版权申诉
0 下载量 122 浏览量 更新于2024-07-07 收藏 314KB DOC 举报
"该文档是关于非编码键盘的扫描程序设计的课程设计报告,主要使用8031单片机和8155芯片进行硬件扩展,并通过C语言编程实现6x6矩阵键盘的按键识别和LCD1602液晶显示。" 在本次课程设计中,学生需要完成一个非编码键盘的扫描程序设计,这涉及到8031单片机和8155芯片的应用。8031是一款经典的8位单片机,广泛用于嵌入式系统,而8155则是一个可编程I/O芯片,用于扩展单片机的输入/输出端口。 1. 设计方案 设计任务是利用8155扩展8031的I/O接口,构建一个6x6的矩阵键盘,实现按键的正确识别和去抖动处理。设计内容包括硬件电路设计、系统软件设计以及系统调试。设计方案是通过8155的PB口连接键盘的行线,PC口连接列线,PA口连接LCD1602的数据线,P2口连接控制线。通过编程设定8155的各口功能,实现键盘扫描和按键值的获取,最后在LCD1602上显示按键信息。 2. 系统硬件设计 2.1 最小应用系统 80C31是MCS-51系列的成员,具有高性能和低功耗的特点,是构建嵌入式系统的基础。 2.2 8155扩展电路 8155用于扩展8031的I/O,提供额外的端口资源,实现与键盘和LCD的交互。 2.3 矩阵键盘接口电路 键盘的行线和列线分别连接到8155的PB和PC口,通过扫描行线和列线的电平变化来确定按键状态。 2.4 LCD1602接口电路 LCD1602的8位数据线连接到8155的PA0口,控制信号线连接到8031的P2口,用于数据显示。 3. 系统软件设计 3.1 主程序设计 主程序负责整体流程的控制,包括初始化、键盘扫描循环和数据显示更新。 3.2 延时程序设计 延时程序用于消除按键抖动,确保稳定读取按键状态。 3.3 键盘扫描子程序设计 通过轮询或中断方式扫描键盘矩阵,识别出按下键的位置。 3.4 显示子程序设计 根据获取的按键值,编写显示子程序在LCD1602上显示相应信息。 4. 系统调试与结果 4.1 调试内容与问题解决 在Proteus仿真环境中进行硬件电路的验证和软件的调试,解决出现的问题。 4.2 运行结果与分析 展示系统运行的效果,分析设计的成功之处和可能存在的改进空间。 整个设计涵盖了计算机控制技术的基本原理,包括电子技术、自动控制、单片机技术和计算机网络技术的综合运用。通过这个课程设计,学生能够提升在实际项目中的应用能力,掌握非编码键盘的扫描程序设计方法,以及8031单片机和8155芯片的使用技巧。