矩阵的秩这边有点疑问!

这是一篇旧文,点击以旧主题模式浏览。51单片机的矩阵键盘电平变化疑问_百度知道
51单片机的矩阵键盘电平变化疑问
P1.0~P1.3输出0,P1.4~P1.7输出1,假如P1.1--P1.4之间的按键被按下,P1.4变为0
但是检测哪个按键被按下时,我查了资料,里面有种方法是先将P1.0~P1.3全部输出1,然后将P1.0~P1.3依次输出0,然后检测P1.4~P1.7哪个为0,这样确定所在行-列。
我的疑问是:1....
我有更好的答案
这是因为单片机的 上拉电流小(一般为 几十~几百微安),
下拉电流大(为 几个毫安~二十毫安)。
为您推荐:
其他类似问题
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 658|回复: 12
关于矩阵按键程序的疑问?
两个switch开关语句里面为什么最后都不写break?
#include &reg52.h&
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]=
& && && &0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00
uchar Pre_KeyNO = 16,KeyNO = 16;
void DelayMS(uint ms)
& && &&&while(ms--)
& && && && && &&&for(t=0;t&120;t++);
void Keys_Scan()
& && && &uchar T
& && &&&P1 = 0x0f;
& && &&&DelayMS(1);
& && &&&Tmp = P1 ^ 0x0f;
& && &&&switch(Tmp)
& && && && && &&&case 1: KeyNO = 0;
& && && && && & case 2: KeyNO = 1;
& && && && && & case 4: KeyNO = 2;
& && && && && & case 8: KeyNO = 3;
& && && && && & default: KeyNO = 16;
& && &&&P1 = 0xf0;
& && &&&DelayMS(1);
& && &&&Tmp = P1 && 4 ^ 0x0f;
& && &&&switch(Tmp)
& && && && && &&&case 1: KeyNO += 0;
& && && && && & case 2: KeyNO += 4;
& && && && && & case 4: KeyNO += 8;
& && && && && & case 8: KeyNO += 12;
void main()
& && && &P0 = 0x00;
& && &&&while(1)
& && && && && &&&P1 = 0xf0;
& && && && && & if(P1 != 0xf0)
& && && && && && && && &Keys_Scan();
& && && && && & if(Pre_KeyNO != KeyNO)
& && && && && & {
& && && && && && && && & P0 = ~DSY_CODE[KeyNO];
& && && && && && && && &Pre_KeyNO = KeyNO;
& && && && && & }
& && && && && & DelayMS(100);
可以不写break,到最后了
angmall 发表于
可以不写break,到最后了
为什么?解释一下
楼主你好,我是单片机新手,请多多指教。您的这个疑问应该是由于switch语句有一点没弄明白。
C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:
switch(表达式){
& & case 常量表达式1:&&语句1;
& & case 常量表达式2:&&语句2;
& & case 常量表达式n:&&语句n;
& & default:&&语句n+1;
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
*/这一段是copy的。
序号1& &switch(Tmp)
& && && && && & case 1: KeyNO = 0;
& && && && && & case 2: KeyNO = 1;
& && && && && & case 4: KeyNO = 2;
& && && && && & case 8: KeyNO = 3;
& && && && && & default: KeyNO = 16;
序号2& & switch(Tmp)
& && && && && & case 1: KeyNO = 0;
& && && && && & case 2: KeyNO = 1;
& && && && && & case 4: KeyNO = 2;
& && && && && & case 8: KeyNO = 3;
& && && && && & default: KeyNO = 16;
请看上面这两段代码,假如tmp==1,那么序号1对应的代码进入case1后遇到break跳出switch语句
而序号2代码进入case1之后,还要将剩余的case2、4、8执行一次。这里可以看出break语句的作用。
至于您问的最后一句为什么不加break,加不加无所谓了,反正程序如果能执行到最后一句,那么之后它会自动跳出 switch 循环
彩电市场的市场上的出色的
这不是必须要写的
本帖最后由 king@ 于
11:46 编辑
楼主你好,我是单片机新手,请多多指教。您的这个疑问应该是由于switch语句有一点没弄明白。
C语言还 ...
3Q,原来如此,在switch()语句,如果执行的case的情况,看后面有没有break,有就跳出这个语句,没有就继续执行下一条case, 如果是执行的default,会自动跳出。switch()语句里面执行到最后一句也会自动跳出
这个不行的吧
这个不行的吧
实测按键0—16,数码管显示0-F
这个不需要,因为要连续显示
楼主你好,我是单片机新手,请多多指教。您的这个疑问应该是由于switch语句有一点没弄明白。
C语言还 ...
还是楼主理论学的好,理解正确。理论学好了,就没那么多问题,否则,一点点小事,就愣了。
还是楼主理论学的好,理解正确。理论学好了,就没那么多问题,否则,一点点小事,就愣了。
我理论看来还有待加强,希望能与大家相互交流学习,共同进步。
Powered by查看: 5758|回复: 9
看了矩阵老师的书后的一些疑问
看了矩阵老师的书后的一些疑问
浏览:<font color="#FF
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
看了矩阵老师的书后的一些疑问 不知道有缘人能否讲解下 万分感激。
一、 在P320页下边有讲到 盘势自713下跌…………因是在十字线区域 于是切两条45度角的直线 问题是:是不是切两条45度直线的前提条件是暂时基数落在十字线区域?
二、在P325里边不是说历史的高低点即为主要基数,那么为什么说当下跌到3098而后弹升至再超越即可确认为高点主数位置?问题是:6365被超越了还是历史高点吗?既然不是为什么还要把6365列为主基呢? 另外为什么说越过6365时是同时形成一组高低点为主基数?
希望有哪位好人能帮忙解说一下 小弟万分感激。
你学的挺多了,我大树还没看完呢!学东西最忌不懂原理只照葫芦画瓢,很累。。
zhanlisoha 发表于
你学的挺多了,我大树还没看完呢!学东西最忌不懂原理只照葫芦画瓢,很累。。
zhanlisoha 兄,还是一起努力吧 :#DAXIAO
winterymelon兄
謝謝提出!
您有問題可以到這裡提出討論:
本帖最后由 矩阵 于
17:49 编辑
一、 在P320页下边有讲到 盘势自713下跌…………因是在十字线区域 于是切两条45度角的直线 问题是:是不是切两条45度直线的前提条件是暂时基数落在十字线区域?
可以说,理解是对的!
能切出两条45度直线的暂时基数位置,都是在十字线区域。
二、在P325里边不是说历史的高低点即为主要基数,那么为什么说当下跌到3098而后弹升至再超越即可确认为高点主数位置?问题是:6365被超越了还是历史高点吗?既然不是为什么还要把6365列为主基呢? 另外为什么说越过6365时是同时形成一组高低点为主基数?
这里是大约说明『主基数形成的推算方式』。
这是理解的问题,6365被超越了才可以确认是历史高点,
请先参考P329的图。
可以看得懂,就可以推算出上证8个主基数的如何出来:
如果仍不懂没关系,以后有机会再讨论!
:WX::WX::WX:
:WX::WX::WX:
:WX::WX::WX:
:WX::WX::WX:
本站声明:1、本站所有广告均与MACD无关;2、MACD仅提供交流平台,网友发布信息非MACD观点与意思表达,因网友发布的信息造成任何后果,均与MACD无关。
MACD金融网()官方域名:macd.cn  
MACD金融网校()官方域名:
值班热线[9:00—18:00]:020-  
24小时网站应急电话:
找回密码、投诉QQ:
友情链接QQ:
广告商务联系QQ:
中华人民共和国增值电信业务经营许可证:粤B2-
茂名市网警备案编号:
Powered by【11-27】对于磁暴矩阵一直都有一个疑问【逆战吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
【11-27】对于磁暴矩阵一直都有一个疑问收藏
叠加应该是有上限的吧?如果有的话是多少?毕竟如果没有上限的话就那么一直摆下去根本就是不可攻破的防线了,就像战神光环一样。
贴吧拳王争霸赛中累计获取10场胜利
高富帅遮蔽再多也没用
4个一组,你放6个8个都是按4个走的
战神光环有三个效果:增加血量,增加切枪换弹速度,回血,而这三项各有各的上限。类似地,磁暴阵列效果有两层,增加血量,增加修复速度,应该也是各有各的上限
4个,但不是指正方形的4个,而是一个88可以连4个,而实际情况只能连两个
应该是两个,因为放两个就加血看得到,然后放再多都不加血了
遛狗 你妈炸了
磁暴矩阵真的出来了而且是个皮肤
登录百度帐号}

我要回帖

更多关于 矩阵 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信