"基于AT89S52单片机的液晶显示4*4矩阵键盘按键号程序设计详解"

版权申诉
5星 · 超过95%的资源 1 下载量 198 浏览量 更新于2024-03-07 1 收藏 159KB DOC 举报
单片机课程设计4X4矩阵键盘显示.doc是一份课程设计说明书,要求设计一个基于单片机的液晶显示 4*4 矩阵键盘按键号程序。具体要求包括使用AT89S52单片机并行口P1接4*4矩阵键盘,以P1.0、P1.3作输入线;以P1.4、P1.7作输出线,按下任意键,都会在LCD12864的第一行上显示每个按键的0-F序号,同时12864的第二行显示本行姓名、班级,第三行显示本人学号。完成该系统的硬件和软件的设计,在proteus软件上进行仿真,最终提交一份完整的课程设计说明书。 在这个课程设计中,学生需要完成汇编或C51语言程序设计,进行程序调试,在Proteus上进行仿真,并提交一份完整的课程设计说明书,包括封面,中文摘要,目录,正文等部分。 这个课程设计对于学生来说是一项很具挑战性的任务。首先,学生需要具备单片机的基本知识,了解AT89S52单片机的特性和使用方法,以及并行口的接口方式和电路连接。其次,学生需要具备汇编或C51语言程序设计的能力,能够根据硬件连接和需求,编写出能够运行在单片机上的程序。此外,学生还需要掌握Proteus仿真软件的基本操作方法,能够进行程序调试和仿真验证。 在完成这个课程设计的过程中,学生需要进行大量的实际操作和调试工作,需要对单片机的工作原理和硬件连接有深入的理解,能够根据实际情况进行故障排除和调试。同时,学生还需要撰写完整的课程设计说明书,包括封面、中文摘要、目录、正文等部分,要求语言准确、条理清晰,能够清晰地表达出设计的原理、方法和结果。 通过完成这个课程设计,学生将能够提高自己的单片机应用能力和实际操作能力,加深对单片机工作原理和编程方法的理解,同时也能够提高自己的文档撰写能力和表达能力。这对于学生的专业学习和将来的工作都将有很大的帮助。 总的来说,单片机课程设计4X4矩阵键盘显示.doc所涉及的内容涉及到单片机的硬件设计和软件编程,以及仿真验证和文档撰写等方面,是一项综合性很强的任务。通过完成这个任务,学生将能够提高自己在单片机领域的能力,为将来的学习和工作打下坚实的基础。
2023-02-27 上传
《单片机原理及应用课程设计》报告 ——数码管显示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页。 开始 初始化 先把列线置成低电平,行线置成输入状态,读行线 再把行线置成低电平,列线输入状态,读列线 有键按下时 按键的位置 结束,返回 结束,返回 单片机课程设计—