单片机课程设计——数码管显示4×4矩阵键盘

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《单片机原理及应用课程设计》报告——数码管显示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 口的利用率。

数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。

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

相关文档
最新文档