节约单片机端口资源的键盘电路
2013-08-28 14:56
169 查看
当键盘按键少于4个时,通常采用独立式接法。但当需要管理键盘的数目增加时,独立式这种简单的接法显然就不适用了。
一般单片机的书上通常会介绍另一种扫描式的方法:用8个I/O口控制16按键。虽然有所优化,但占用的端口资源仍然比较多。
下面介绍一个只需要用3个端口,就能控制16个按键的十分巧妙的接法。
原理图如下:
驱动程序如下:
/*********************************************************************************************/
unsigned chargetkey(void)
{
unsigned char x;
P1|=0x07;
x=P1&0x07;
if(x==0x07) /*判断K0-K6是否有键按下,如果没有,检测K7-K15*/
{
P1&=0xfe;x=P1&0x07;x=x/2+7;
if(x==10)
{
P1|=0x07;P1&=0xfd;x=P1&0x07;x=(x+1)/2+10;
if(x==13)
{
P1|=0x07;P1&=0xfb;x=P1&0x07;x+=13;
}
}
}
return(x);
}
//返回的X为相应的键盘值,如果没有键按下,则返回16
相关文章推荐
- AVR单片机端口设置
- linux查看某个端口的资源占用情况
- 【windows】该设备或资源(127.0.0.1)未设置为接受端口“1080”上的连接 解决办法
- 89s52单片机的硬件资源基本使用
- can总线控制器与单片机接口电路解析
- vs2012 wp8 应用调试时报错 指定的通信资源(端口) 已由另一个应用程序使
- 单片机无线串行接口电路设计
- 电子电路设计之工控设备抗干扰总结(单片机电路及PCB设计注意)
- 51单片机 按键,键盘检测
- 从数字电路到单片机-边做边学(完整板)
- 电路与Multisim 滑动变阻器在哪里,用键盘控制滑动变阻的阻值。
- 单片机(五)__独立键盘
- 免端口映射,穿内网,键盘记录
- 节约 Web 开发时间的 67 个工具、库和资源
- 单片机控制继电器电路 程序就很简单了 做一个口的输出就可以了
- 最简单的完成端口最小系统(含资源源代码)
- 基于proteus的51单片机仿真实例十八、用单片机端口演示数据的加法和减法运算 4000 结果
- Android帧动画实现,防OOM,比原生动画集节约超过十倍的资源
- 基于单片机USB接口的数据采集存储电路的设计
- 电子电路设计之工控设备抗干扰总结(单片机电路及PCB设计注意)