按键识别数码管Word文档格式.docx
- 文档编号:19985694
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:7
- 大小:204.77KB
按键识别数码管Word文档格式.docx
《按键识别数码管Word文档格式.docx》由会员分享,可在线阅读,更多相关《按键识别数码管Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
可参考xl2000实验仪操作指导手册之实验7
三、实验接线图
接线方法:
1.用一条8PIN数据排线,把矩阵按键部份的JP50,接到CPU部份的P1口JP44;
2.接8位数码管的数据线。
将数码管部份的数据口JP5接到CPU部份的P0口JP51;
3.接8位数码管的显示位线。
将数码管部份的显示位口JP8接到CPU部份的P2口JP52.
四、实验结果
五、思考题
采用P3口控制矩阵按键输入,程序应该如何修改?
本实验的程序中可以不用蜂鸣器驱动线,把以下程序的sbitBEEP=P3^7;
及函数voidbeep()等删掉后;
需要把扫描键值的函数改一下:
unsignedcharkeyscan()
{
unsignedcharscan1,scan2,keycode,j;
P13=0xf0;
scan1=P3;
if(scan1!
=0xf0)//判键是否按下
{
delayms(10);
=0xf0)//二次判键是否按下
P1=0x0f;
scan2=P3;
keycode=scan1|scan2;
//组合成键扫描编码
for(j=0;
j<
16;
j++)
if(keycode==key_code[j])//查表得键值
key=j;
return(key);
//返回有效键值
}
else
P3=0xff;
return(key=16);
//返回无效码
}即P1口换成P3口,而键编码数组是固定的,可以不变;
此外主函数中的P1口也要改为P3口:
voidmain(void)
P0=0xf7;
//数码管初始显示"
-"
P2=0xfd;
//数码管显示在第二位
while
(1)
keyscan();
if(key<
16)//有效键值
P0=disp_code[key];
//显示键值
}
附件:
实验程序清单
#include<
reg52.h>
intrins.h>
sbitBEEP=P3^7;
//蜂鸣器驱动线
unsignedcharkey;
unsignedcharcodedisp_code[]=
0x28,0xa9,0x20,0x30,0xa1,0x60,0x21,0x62,0xb1,0x20,0x61,0xa2,0x28,0x7a,0x74,0x7e
};
//显示码数组0,C,8,A,E,9,6,3,f,8,5,2,0,7,4,1
unsignedcharcodekey_code[]=
0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbd,0xbb,
0xb7,0x7e,0x7d,0x7b,0x77//键编码数组
charcodeSST516[3]_at_0x003b;
//保留仿真器
/********************延时子函数***************/
voiddelayms(unsignedintms)
unsignedchart;
while(ms--)
for(t=0;
t<
114;
t++);
}
/*************x*0.14MS延时子函数****************/
voiddelayus(unsignedcharx)
unsignedchari;
while(x--)
for(i=0;
i<
14;
i++)
{;
/******************蜂鸣器驱动子函数*****************/
voidbeep()
250;
delayus(6);
BEEP=!
BEEP;
//BEEP取反
BEEP=1;
//关闭蜂鸣器
delayms(150);
//延时
/******************键盘扫描子函数*********************/
P1=0xf0;
scan1=P1;
scan2=P1;
P1=0xff;
/*************************主函数***********************/
beep();
//蜂鸣器响一声
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 按键 识别 数码管
![提示](https://static.bdocx.com/images/bang_tan.gif)