基本信息
文件名称:《单片机技术与应用》 课件 项目五 任务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]; //在数码管上显示相应的键值
}
};;;;;