- 3
- 0
- 约2.65千字
- 约 7页
- 2019-09-27 发布于湖北
- 举报
4×4 矩阵键盘 51 单片机识别实验与程序
1. 实验任务
如图 4.14.2 所示,用 AT89S51的并行口 P1接4× 4 矩阵键盘,以 P1.0-P1.3
作输入线,以P1.4-P1.7 作输出线;在数码管上显示每个按键的“ 0-F”序 号。对应的按键的序号排列如图 4.14.1 所示
图 4.14.1
2. 硬件电路原理图
莆田装修 ,莆田装修公司 ,/ 1
图 4.14.2
3. 系统板上硬件连线
(1. 把“单片机系统“区域中的 P3.0-P3.7 端口用 8 芯排线连接到“ 4X4行
列式键盘”区域中的 C1-C4 R 1-R4端口上;
(2. 把“单片机系统”区域中的 P0.0/AD0-P0.7/AD7 端口用 8 芯排线连接到
“四路静态数码显示模块”区域中的任一个 a-h 端口上;要求:P0.0/AD0
对应着 a,P0.1/AD1 对应着 b,,, , P0.7/AD7 对应着 h。
4. 程序设计内容
(1. 4× 4 矩阵键盘识别处理
(2. 每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的
编码。矩阵的行线和列线分别通过两并行接口和 CPU通信。每个按键
的状态同样需变成数字量“ 0”和“1”,开关的一端(列线)通过电
阻接 VCC,而接地是通过程序输出数字“ 0”实现的。 键盘处理程序的
任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还
要消除按键在闭合或断开时的抖动。 两个并行口中, 一个输出扫描码,
使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回
馈信号共同形成键编码而识别按键, 通过软件查表, 查出该键的功能。
5. 程序框图
莆田装修 ,莆田装修公司 ,/ 2
图 4.14.3
C语言源程序
#include AT89X51.H
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
unsigned char temp;
unsigned char key;
unsigned char i,j;
void main(void)
{
while(1)
莆田装修 ,莆田装修公司 ,/ 3
{
P3=0xff;
P3_4=0;
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
for(i=50;i0;i--)
for(j=200;j0;j--);
temp=P3; temp=temp 0x0f;
if (temp!=0x0f)
{
temp=P3;
temp=temp 0x0f;
switch(temp)
{
case 0x0e:
key=7;
break;
case 0x0d:
key=8;
break;
case 0x0b:
key=9;
break;
case 0x07: key=10;
break;
}
temp=P3;
P1_0=~P1_0;
P0=table[key];
temp=temp 0x0f;
while(temp!=0x0f)
{
temp=P3; temp=temp 0x0f;
} } }
P3=0xff;
P3_5=0;
莆田装修 ,莆田装修公司 ,/ 4
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
for(i=50;i0;i--)
for(j=200;j0;j--);
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
temp=P3; temp=temp 0x0f;
switch(temp)
{
case 0x0e:
key=4;
break; case 0x0d: key=5;
break;
case 0x0b:
key=6;
break;
case 0x07:
key=11;
break;
}
temp=P3; P1_0=~P1_0;
P0=table[key];
temp=temp 0x0f;
while(temp!=0x0f)
{
temp=P3;
temp=temp 0x0f;
}
}
}
P3=0xff;
P3_6=0;
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
莆田装修 ,莆田装修公司 ,/ 5
{
for(i=50;i0;i--)
for(j=200;j0;j--);
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
temp=P3;
temp=temp 0x0f;
switch(temp)
{
case 0x0e:
key=1;
您可能关注的文档
- 2017重点中学小升初数学试卷及答案课件.doc
- 2017餐饮七夕情人节活动策划方案课件.doc
- 2017高血压自我管理活动计划课件.doc
- 2018初中信息技术试卷+答案4课件.doc
- 2018医师定期考核中医试卷课件.doc
- 2018年2月中医防治糖尿病讲座课件.doc
- 2018年4月全国自考《财务管理学》试题及答案课件.doc
- 2018年4月全国自考美学0037自考真题及答案课件.doc
- 2018年4月自考00228环境与资源保护法学试题及答案课件.doc
- 2018年4月自考中国行政史00322试题及答案课件.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 冀教版英语八年级下册目录 带翻译最新.pdf VIP
- 兰州大学《数值分析》2016-2017学年期末试卷.pdf VIP
- 自动化设备设计方案模板.docx VIP
- 江南大学《数值分析》2022-2023学年期末试卷.pdf VIP
- 海绵城市建设工程施工及验收标准.pdf VIP
- 华中农业大学《数值分析》2016-2017学年期末试卷.pdf VIP
- 内蒙古紫宸科技有限公司年产2万吨高性能锂离子电池负极材料建设项目.doc VIP
- 表5.3.3土方回填检验批质量验收记录.doc VIP
- 反医疗歧视培训课件.pptx VIP
- 华南师范大学《数值分析》2017-2018学年期末试卷A卷.pdf VIP
原创力文档

文档评论(0)