标题: 单片机2×8键盘扫描程序 [打印本页]

作者: ddd    时间: 2008-7-2 12:30
标题: 单片机2×8键盘扫描程序

// 下面这个单片机c语言扫描函数:
char ls()
{
 uchar i,k;
 cl=0;
 delay();
 shift=0;
 delay();
 shift=1;
 delay();
 k=(k<<1)|q;
 for(i=0;i<7;i++)
 {
  cl=1;
  delay();
  k=(k<<1)|q;
  cl=0;
  delay();
 }
 return k;
}

函数中有个变量q,定义位sbit q=P1^0;当变量q变化时才能得出函数返回值k,这样的话变量q是不能作为函数参数的是吗?


要用到4个2×8键盘扫描,所以我想把q作为变量,可我实验做过不行,总结出这样一个结论不知道对不,问下大家
这样我要编4个ls()函数,中间我用了个函数用switch选择把4个2×8扫描程序得出的K值再赋值给一个函数值,后面扫描程序就可以只用一个函数了

作者: a13758777532    时间: 2008-7-15 14:12
再做几次,看看哪里不对,应该可以成功的!
作者: xkissing    时间: 2008-7-23 10:01

请你参考一下下面这个程序
3x4矩阵键盘的扫描程序(C语言)


作者: iming    时间: 2015-4-15 21:05
很好很强大。学习了。。。。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1