单片机课程设计——数码管显示4×4矩阵键盘.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
《单片机原理及应用课程设计》报告 ——数码管显示4*4矩阵键盘的键盘号设计 专 业: 班 级: 姓 名: 学 号: 2013年1月 1.课程设计目的 1.1巩固和加深对单片机原理和接口技术知识的理解; 1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力; 1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法; 1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法; 1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算 机绘制电路图和流程图。 2.课程设计要求 单片机的P1口的P1.0~P1.7连接4×4矩阵键盘,P0口控制一只数码管,当4×4矩阵键盘 中的某一按键按下时,数码管上显示对应的键号。例如,1号键按下时,数码管显示"1" , 14号键按下时,数码管显示"E"等等。 3. 硬件设计 3.1 设计思想 分析本任务的要求,使设计能够完成当4*4矩阵键盘中的某一按键按下时,数码管上 显示对应的键盘号。则本系统主要由以下几大模块构成: 显示模块,共阴极LED数码管; 输入模块,4*4矩阵键盘; 3.2主要元器件介绍 矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键 盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。 这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。 数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示 的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮 度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示的时间间隔过长 的话,数码管显示时将产生闪烁现象。所以,在调整显示的时间间隔时,即要考虑到显 示时数码管的亮度,又要数码管显示时不产生闪烁现象。 3.3 原理图及功能电路介绍 矩阵键盘电路 数码管电路 4. 软件设计 4.1 设计思想 按键采用线反转法先把列线置成低电平,行线置成输入状态,读行线;再把行线置成 低电平,列线输入状态,读列线。当有键按下时,由两次所读状态即可确定所按键的位 置,不需扫描,键盘响应速度大大加快。 4.2软件流程图 4.3 源程序 org 0000h mov p2,#0ffh ljmp main org 0100h main:acall keyscan mov a,30h mov dptr,#table movc a,@a+dptr mov p2,a acall delay sjmp main keyscan:mov p3,#0fh mov a,p3 anl a,#0fh mov b,a mov p3,#0f0h mov a,p3 anl a,#0f0h orl a,b cjne a,#0ffh,keypro ret keypro:mov b,a mov dptr,#keyvalue mov r3,#0ffh key1:inc r3 mov a,r3 movc a,@a+dptr cjne a,b,key2 mov a,r3 mov 30h,a ret key2:cjne a,#00h,key1 ret delay:mov r0,#20 next1:mov r1,#20 next2:mov r2,#248 djnz r2,$ djnz r1,next2 djnz r0,next1 ret keyvalue:db 77h,7bh,7dh,7eh db 0b7h,0bbh,0bdh,0beh db 0d7h,0dbh,0ddh,0deh db 0e7h,0ebh,0edh,0eeh db 00h table:db 0c0h,0f9h,0a4h,0b0h db 99h,92h,82h,0f8h db 80h,90h,88h,83h db 0c6h,0a1h,86h,8eh end 5. 调试运行 依次按下开关,八段数码管会对应显示出0—f的16个数字 6. 设计心得体会 经过这次课程设计,我对51单片机有了更高程度的理解。更加明白了做设计是一项很考 验心智的一件事儿,需要时间、精力和耐心。 参考书目: 肖金球. 单片机原理与接口技术.[M].北京:清华大学出版社,2004.12 ----------------------- 单片机课程设计——数码管显示4×4矩阵键盘全文共7页,当前为第1页。 单片机课程设计——数码管显示4×4矩阵键盘全文共7页,当前为第2页。 单片机课程设计——数码管显示4×4矩阵键盘全文共7页,当前为第3页。 开始 初始化 先把列线置成低电平,行线置成输入状态,读行线 再把行线置成低电平,列线输入状态,读列线 有键按下时 按键的位置 结束,返回 结束,返回 单片机课程设计— 该文档是关于单片机课程设计的一个项目报告,主要讲述如何使用单片机实现数码管显示4×4矩阵键盘的键号。以下是该项目的关键知识点: 1. **课程设计目的**: - 巩固单片机原理和接口技术的基础知识。 - 提升查找和学习参考资料的能力。 - 学习方案比较和工程设计方法。 - 掌握仪器仪表的使用和软硬件设计调试。 - 编写课程设计报告,展示设计和实验结果。 2. **课程设计要求**: - 使用单片机P1口连接4×4矩阵键盘,P0口控制数码管。 - 当按下矩阵键盘上的任意键,数码管应显示相应的键号。 3. **硬件设计**: - **设计思想**:通过显示模块(共阴极LED数码管)和输入模块(4×4矩阵键盘)实现按键的检测和显示。 - **矩阵键盘**:由4条行线和4条列线组成,每个交叉点一个按键,共16个按键。 - **数码管显示**:亮度和显示时间间隔有关,需要平衡亮度和防止闪烁。 4. **软件设计**: - **设计思想**:采用线反转法快速检测按键位置,无需持续扫描,提高响应速度。 - **软件流程**:初始化后,先读取列线,再读取行线,根据两次读取的状态确定按键位置。 - **源程序**:使用汇编语言编写,包括初始化、按键扫描、数码管显示和延时函数。 5. **调试与运行**: - 按照顺序按下按键,数码管会依次显示0到F的16个数字。 6. **设计心得**: - 通过课程设计,深入理解了51单片机的工作原理,体会到设计过程的挑战性和需要的耐心。 这个项目涉及的知识点包括单片机接口技术、矩阵键盘的工作原理、数码管显示技术、汇编语言编程以及电子系统设计的基本方法。通过这样的设计,学生不仅能够理论联系实际,还能够提升问题解决能力和工程实践能力。
- ddy1113332023-10-23内容与描述一致,超赞的资源,值得借鉴的内容很多,支持!
- 2301_819807482024-06-07资源很实用,内容详细,值得借鉴的内容很多,感谢分享。
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于QT的DSA课程设计低风险出行系统,记忆化搜索算法为用户制定最低风险或者是限时最低风险策略的出行方案.zip
- 基于Qt5.9的简单停车场计费管理系统,用于C++结课作业.zip
- Python Fire 是一个可以从任何 Python 对象自动生成命令行界面 (CLI) 的库 .zip
- 基于Java中的swing类的图形化飞机游戏的开发练习.zip
- unity中配置Cursor包
- webkit开源编译的windows环境下的编译执行文件
- 中国商务统计年鉴面板数据2023-2001轻工产品加工运输旅行建设建筑电信计算机和信息服务贸易进出口等 数据年度2022-2000 excel、dta版本 数据范围:全国31个省份
- Android中各种图像格式转换(裁剪,旋转,缩放等一系列操作工具).zip
- 基于three.js + canvas实现爱心代码+播放器效果.zip
- 去年和朋友一起做的java小游戏.游戏具体界面在readme中,游戏设计的uml图在design.pdf中.zip