- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ME300B单片机学习开发系统应用之三
---4 × 4 矩阵键盘的工作原理与编程
作者:山西太原 贵国庆
本文介绍如何在 ME300B型51/AVR 单片机学习开发系统上使用数码管显示 4× 4 矩阵键盘的键值。
一、 硬件工作原理的简单介绍
该实验使用 ME300B上的 8 位数码管显示电路和 4× 4 矩阵键盘电路。 现将这二部分的电路工作原
理进行简单的介绍:
1、4× 4 矩阵键盘的工作原理
矩阵键盘又称为行列式键盘,它是用 4 条 I/O 线作为行线, 4 条 I/O 线作为列线组成的键盘。在
行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是 4× 4 个。这种行列式键盘
结构能够有效地提高单片机系统中 I/O 口的利用率。
图 1 为 ME300B矩阵键盘电路图,行线接 P1.4-P1.7 ,列线接 P1.0 -P1.3。
S1 S2 S3 S4 距阵键盘
Comment: 0 1 2 3
P14
0 1
S5 S6 S7 S8
4 5 6 7
4 5
P15
S9 S10 S11 S12
8 9
8 9 A B P16
S13 S14 S15 S16
C D
C D E F P17
K1 K2
P10 P11
P12
P13
独立键盘
K1
图 1 矩阵键盘电路
K2
K3
K4
VCC
P14
P14 P15 P16
P17 K5
P15
P16
P17
RESET
伟
图 2 按键排列
2、 数码管动态扫描显示电路
p p
a b c d e f g d a b c d e f g d
VCC
1 7 10
7 10 1
1 4 2 1 5 3 1 4 2 1 5 3
在 ME300B开发系统中,采用了 8 位数码管动态扫描显示。它将所有数码管的 8 个段线相应地并
DS1 DS2
4
P00
P01
R00 a a b c d e f g dp a b c d e f g dp
接在一起,并接到 AT89S51 的 P0 口,由 P0 口控制字段输出。而各位数码管的共阳极由 AT89S51的
R01 b a a a a a a a a
3
2
P02
P03
P04
P05
P06
P07
R02 c 1
P2 口控制 Q20-Q27来实现 8 位数码管的位输出控制。
f b f b f b f b f b f b f b f b
R03 d g g g g g g g g
JP2
这R0样4,对于e 一组数码管动态扫描显示需要由两组信号来控制: 一组是字段输出口输出的字形代码,
e c e c e c e c e c e c e c e c
1-2 LCD
R05 f d d d d d d d d
用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,
R06 g dp dp dp dp dp dp dp dp
2-3 DSY
R07 dp DIG1 DIG2 DIG3 DIG4 DIG1 DIG2 DIG3 DIG4
称为位码。
3-4 LED
2 9 8 6 2 9 8 6
1 1
由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此,同一时刻如果各
P20
P21
P22
P23
P24
P25
P26
P27
位数码管的位选线都处于选通状态的话, 8 位数码管将显示相同的字符。若要各位数码管能够显示出
Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27
R20
与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处于导通状态,
R21
而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样同一时刻,
R22
R23
只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出
R24
R25
将要显示的字符。
R26
虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码
R27
管具有余辉特性和人眼有视觉暂留现象, 只要每位数码管显示间隔足够短, 给人眼的视觉印象就会是
连续稳定地显示。
图 3 数码管电路
数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。 数码管显示的时间间隔
也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间
间隔短,显示时数码管的亮度将暗些。若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。
所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现
象。
在 ME300B单片机开发系统中使用数码管来显示信息时,要将 JP2 的 2、3 端短接。见图 3
二、 演示程序的编程方法
1、4×
文档评论(0)