找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9020|回复: 4
收起左侧

单片机2×8键盘扫描程序

[复制链接]
ID:2837 发表于 2008-7-2 12:30 | 显示全部楼层 |阅读模式

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

使用道具 举报

ID:3271 发表于 2008-7-15 14:12 | 显示全部楼层
再做几次,看看哪里不对,应该可以成功的!
回复

使用道具 举报

ID:3602 发表于 2008-7-23 10:01 | 显示全部楼层

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

回复

使用道具 举报

ID:77081 发表于 2015-4-15 21:05 | 显示全部楼层
很好很强大。学习了。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表