当前位置:首页 > 技术心得 > 正文内容

两个IO 6按键

xjtudll12年前 (2012-12-15)技术心得10100

clip_image002

2IO6按键演示

分析

首先:IO1,IO2输出高电平

S1按下,IO2为低电平

S2按下,IO1为低电平

S3按下,IO1,IO2为0.7V(1N4148导通电压),还是低电平。

现在开始判别其他几个按键了:

1、IO1输出低电平,读IO2电平

① 如果IO2为低电平,此时应该是S4或者S6按下(S6按下时,IO2为0.7V,依旧是低电平)。

② 此时IO1输出高电平,IO2输出低电平,读IO1电平

当S4按下时,IO1为低电平。剩余的就只能是S6了。

2、IO1输出高电平,IO2输出低电平

读IO1,S5按下时,IO1为低电平。若IO1依旧为高电平,则是S6按下了。

按键扫描程序

unsigned char scan_key(void)

{

unsigned char keyval = 0;//无键,有键1~6

KEY_IO1 = 1;//释放总线

KEY_IO2 = 1;//释放总线

if (!KEY_IO1 && !KEY_IO2)

keyval = 3;//S3

else if (!KEY_IO1)

keyval = 2;//S2

else if (!KEY_IO2)

keyval = 1;//S1

else

{

//开始扫描,也要考虑小毛贼的问题~~~

KEY_IO1 = 0;//扫描

if (!KEY_IO2)

{

//这时不能立即判定S4/S6

KEY_IO1 = 1;//释放总线

KEY_IO2 = 0;//反向扫描

if (!KEY_IO1)

keyval = 4;//S4~~~

else

keyval = 6;//S6

}

else

{

//只能是S5了

KEY_IO1 = 1;//释放总线

KEY_IO2 = 0;//反向扫描

if (!KEY_IO1)

keyval = 5;//S5

//else keyval = 6;//S6//上面已判出了S6,这句是废话

}

KEY_IO1 = 1;//释放总线//已经释放~~~

KEY_IO2 = 1;//释放总线

}

return keyval;//返回键值0-无键,1~6-S1~S6键

}

流程图

clip_image003

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/253/

分享给朋友:

“两个IO 6按键” 的相关文章

Proteus7.10SP0安装&和谐包下载

dxswp 这位仁兄出手太快了,网上Proteus7.10安装包刚出来,ta就和谐了。NB人士。赞一个。 安装文件 http://115.com/file/be4tmeh4#  基于Nemo78  7.10 sp0 crack 修改。 中文系统可用,...

Protel99SE英文版添加汉字

Protel99SE英文版添加汉字

需要使用PCB3.0中文输入程序,操作步骤如下: 双击打开ProtelHz.exe,输入汉字,点击确定。 如果双击ProtelHz.exe没有任何反应,请注意以下几点: ① 程序尽量不要放到较深的目录中,最好在三级以内。 ② 该程序所在的文件夹及所有上级文件夹,文件夹名最好不要使...

金蝶出入库单据类型

FTranType FBillName 1 外购入库单 2 产品入库单 5 委外入库单 10 其他入库单 21 销售出库单 24 领料单 28 委外出库单 29 其他出库单 40 盘盈单 41 调拨单 43 盘亏单 100 成本调整单 101 外购入库暂估补差单 102 委外加工暂估补差单...

WinClone更新了

WinClone,Mac下备份Windows系统的好软件。可以克隆BootCamp分区安装的Windows,也可以将克隆文件安装到BootCamp分区。 之前已经写过一篇WinClone备份还原Windows的简易教程:http://www.xjtudll.cn/Exp/171/ 基本上来说,使用还...

用visualbox中的android系统替换android sdk自带的模拟器

用visualbox中的android系统替换android sdk自带的模拟器

如何在visualbox中安装android X86,此处不表。 修改虚拟机设置。 关闭运行的虚拟机,选中“设置----网络”,将连接方式设置为“host-only adapter”;在“高级--控制芯片”中选择“P...

Protel99SE交互布局

Protel99SE交互布局

我们在PCB布局的时候,如果元件比较多,经常要花大量的时间找元件。一直以来在找寻Protel99SE交互布局的办法,后在网上发现大牛wang1jin写的一篇文章,讲述了Protel99SE交互布局的方法,但其描述了过多的无关内容,因此花了一些时间整理出了此文。 何谓交互布局?实际上通俗的讲,交互布...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。