- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计方案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,0e
文档评论(0)