我要发布
仪器网/ 仪器社区/ 芯片扫描仪/ 求矩阵键盘(带节省IO口的芯片)可以实现外部中断的原理图

求矩阵键盘(带节省IO口的芯片)可以实现外部中断的原理图

释怀灬许更好    2011-08-11    芯片扫描仪    浏览 345 次

4*4的矩阵键盘要求节省IO口如74ls165能实现外部中断功能的原理图邮箱:lvshuhaowan@163.com... 4*4的矩阵键盘 要求节省IO口 如74ls165 能实现外部中断功能的原理图 邮箱:lvshuhaowan@163.com

精彩问答
笨猪笨死了 发布日期:2011-08-13
用SPI接口的键盘和数码管控制芯片即可解决,节省IO,简化程序,提高可靠性,适当增加成本。
比如ZLG7219等等。
全部评论
yuehk132 发布日期:2011-08-12
按键扫描,把I/0口的高低位相加
void Keyscan(void)
{
uchar r, c,key_value;

KEY_DATA = 0xf0; // 发全0行列扫描码,列线输入
key_value=KEY_DATA;

if( key_value!= 0xf0) // 若有键按下
{
delay_ms(4);
if(key_value!=0xf0)
{
r=key_value; //保存行输入码
KEY_DATA=0x0f; // 发全0行列扫描码,列线输入
key_value=KEY_DATA;
if(key_value!=0x0f) // 若有键按下
{
c=key_value; //保存列输入码
}
//键盘编码
}
key=(r+c);
}
}
利用上面所加的结果,生成键码表,S=0到S=15,
在主函数中,依据S的值做你想完成的操作
uchar KeyDeal(uchar Key)
{

if(Key!=0)
{

switch(Key)
{

case 0xe7: S=0; break;
case 0xeb: S=1; break;
case 0xed: S=2; break;
case 0xee: S=3; break;
case 0xd7: S=4; break;
case 0xdb: S=5; break;
case 0xdd: S=6; break;
case 0xde: S=7; break;
case 0xb7: S=8; break;
case 0xbb: S=9; break;
case 0xbd: S=10; break;
case 0xbe: S=11; break;
case 0x77: S=12; break;
case 0x7B: S=13; break;
case 0x7D: S=14; break;
case 0x7E: S=15; break;

}

}

return (S); // 返回键编码
}
操场下的天启 发布日期:2011-08-12
上面很对
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控