8031单片机与8155扩展:非编码键盘扫描程序设计
版权申诉
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芯片的使用技巧。
2022-06-17 上传
2021-10-08 上传
2023-05-22 上传
2024-02-06 上传
2023-05-24 上传
2023-06-10 上传
2023-05-26 上传
2023-06-07 上传
2023-06-01 上传
文档优选
- 粉丝: 94
- 资源: 1万+
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析