// 下面这个单片机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值再赋值给一个函数值,后面扫描程序就可以只用一个函数了 |