基本信息
文件名称:《单片机技术与应用》 课件 项目五 任务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();//调用键盘扫描子程序

}

};;;;;