标题:
求4IO口扫描16按键的单片机程序
[打印本页]
作者:
昱丶绯
时间:
2017-1-16 15:18
标题:
求4IO口扫描16按键的单片机程序
有谁写过用二极管的4IO口扫描16按键的单片机程序
作者:
angmall
时间:
2017-1-16 23:50
uchar keyscan()
{
uchar key,i,keyscan;
P3=0x3d; //准备读取P3.2~P3.5 51的I/0为准双向I/0口 作为输入是最好先将其置1
//读取接地按键值
if((P1&0x3d)!=0x3d){ //若无按键按下 P3.2~P3.5为高
delay(); //延时去抖动
if((P1&0x3d)!=0x3d){//判断哪个按键按下
key=P1&0x3d;
return key;
}
}
keyscan=0x3D;
for(i=0;i<4;i++){
P1=keyscan; //输出I/O口扫描 输出 判断
if(P1!=keyscan){ //读取I/O口,看输出扫P1.0~P1.5的值是否与扫描不同
key=P1&0x3D; //转换扫描码
return key;
}
keyscan=(keyscan<<1)|0x01; //逐行输出扫描 0
}
return 0;
}
复制代码
4io16keys.jpg
(62.9 KB, 下载次数: 55)
下载附件
2017-1-16 23:49 上传
作者:
chenggong999
时间:
2017-1-17 07:54
路过 我也要用这个程序 谢谢
作者:
昱丶绯
时间:
2017-1-18 08:35
angmall 发表于 2017-1-16 23:50
感谢,我自己写了一个,已经做样出来C:\Users\321\Desktop\IMG_20170118_083156.jpg
作者:
昱丶绯
时间:
2017-1-18 09:10
angmall 发表于 2017-1-16 23:50
你这个能工作吗,感觉着代码有问题啊
作者:
jiajuntao
时间:
2017-1-18 13:56
不错的程序,好好学习。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1