基本信息
文件名称:《单片机技术与应用》 课件 项目五 任务2-线反转法按键检测.pptx
文件大小:644.41 KB
总页数:19 页
更新时间:2025-06-19
总字数:约小于1千字
文档摘要

;行列扫描法按键检测;任务二;;;线反转法识别按键;反转法矩阵键盘的各个按键的计算值;“行列扫描法”与“线反转法”

识别按键上有何异同?;行列扫描法的步骤:;;1.硬件电路;2.程序设计;/**************线反转法按键扫描程序*************/

voidkeyscan()

{

ucharlow,height,i; //定义局部变量,用low得出低4位的值,用height得出高4位的值

P3=0x0f; //给P3赋low=P30x0f;

if(low!=0x0f)

{

delay(100);

if(low!=0x0f)

low=P30x0f; //若有键按下,得出低四位的值

}

P3=0xf0; //给P3赋实际上对0x0f的取反

height=P30xf0;;

if(height!=0xf0)

{

delay(100);

if(height!=0xf0)

height=P30xf0; //若有键按下,得出高4位的值

}

key=low+height; //高4位的值与低4位的值相加

for(i=0;i16;i++)

{if(key==table[i]) //通过查表得出n的值

n=i; }

}

/**************主程序*************/

voidmain()

{

while(1)

{

keyscan(); //按键扫描

P0=yin[n]; //在数码管上显示相应的键值

}

};;;;;