基本信息
文件名称:《单片机技术与应用》 课件 项目五 任务1-行列扫描法按键检测.pptx
文件大小:880.38 KB
总页数:25 页
更新时间:2025-06-19
总字数:约小于1千字
文档摘要
;行列扫描法按键检测;;;具体描述:;任务一;;;行列式扫描识别按键;键盘接口应有以下功能:
?键盘扫描功能,即检测是否有键闭合;
?键识别功能,确定被闭合键所在的行列位置;
?产生相应的键的代码(键值)功能;
?消除按键抖动及对应对多键串按(复键)的功能。;;;;;1.硬件电路;2.程序设计;/**************键盘扫描程序*************/
ucharkeyscan()
{
ucharscan1,j; //定义变量
P3=0xf0;//P3口行线和列线送不同的电平
scan1=P3;//读回P3口状态
if((scan10xf0)!=0xf0)//判键是否按下
{
delayms(10);//延时10ms,去抖动
scan1=P3;//再次读会P3口状态
if((scan10xf0)!=0xf0)//二次判键是否按下,不相等则说明键盘有键按下
{for(j=0;j4;j++)//用test_code数组值进行行扫描1-4次,最少1次跳出此循环,逐行拉低
{P3=test_code[j];//输出行扫描用的值
;;}
}
elseP3=0xff; //没有任何键按下,P3口全部置为高电平
return(16);
}
main()
{
P0=0x40;//数码管显示-
P3=0xff;
while(1)
{
keyscan();//调用键盘扫描子程序
}
};;;;;