问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

51单片机4 x 4矩阵键盘的检测中P3=0xfe,temp=P3;看解释ms第二步是把按下去的键P3赋给temp 但p3不是被

发布网友 发布时间:2022-04-30 00:41

我来回答

5个回答

热心网友 时间:2023-10-11 05:23

这个问题是这样的,首先单片机的c语言和电脑的编译器不是一样的,你要考虑硬件,下面步入正题:

P3=0xfe; //P3等于0xfe
temp=P3; //temp等于P3等于0xfe
temp=temp&0xf0; //到这里,如果你按下矩阵键盘的第一个键,那么temp等于0xee
temp=0xee&0xf0=0xe0
while(temp!=0xf0) //你这里打错了,不是while语句是if语句,现在temp的值是0xe0
0xe0不等于0xf0,所以进入语句内部
{
delay(5); //去抖动
temp=P3; //现在赋值,这是你还在按着第一个键,那么P3=0xee,所以temp等于0xee
temp=temp&0xf0; //temp=0xee&0xf0=0xe0,“看这里,这是temp=0xe0”
while(temp!=0xf0) //这里还是写错了,是if语句,0xe0不等于0xf0再次进入语句内部
{
temp=P3;//在没执行这一步的时候,temp的值是0xe0,如果不把P3的值赋予temp
那么当进入switch语句后就没有相应的case,这是你还在按键,那么
P3=0xee,所以temp也等于0xee,然后进入switch语句判断,进入
相应的case
switch(temp)

热心网友 时间:2023-10-11 05:23

按键的中断级比较高,你赋值后,如果按键了,他会先处理按键,硬件采用与或非的的逻辑,最终会把该按键的值在你按下的时候赋值进去。

热心网友 时间:2023-10-11 05:24

P3在等号左边是赋值,在等号右边是读入

热心网友 时间:2023-10-11 05:24

没看明白,程序没错啊!~先赋值,然后读取,判断

热心网友 时间:2023-10-11 05:25

唉,何必这么复杂呢;用我这程序吧
sbit k0=P3^0;
sbit k1=P3^1;
sbit k2=P3^2;
sbit k3=P3^3;
sbit k4=P3^4;
sbit k5=P3^5;
sbit k6=P3^6;
sbit k7=P3^7;
P3=0xff;
k0=0;
if(!k4){}
if(!k5){}
if(!k6){}
if(!k7){}
P3=0xff;
k1=0;
if(!k4){}
if(!k5){}
if(!k6){}
if(!k7){}
P3=0xff;
k2=0;
if(!k4){}
if(!k5){}
if(!k6){}
if(!k7){}
P3=0xff;
k3=0;
if(!k4){}
if(!k5){}
if(!k6){}
if(!k7){}
中间加适当的按键去抖就行
51单片机4 x 4矩阵键盘的检测中P3=0xfe,temp=P3;看解释ms第二步是把...

0xe0不等于0xf0,所以进入语句内部 { delay(5); //去抖动 temp=P3; //现在赋值,这是你还在按着第一个键,那么P3=0xee,所以temp等于0xee temp=temp&0xf0; //temp=0xee&0xf0=0xe0,“看这里,这是temp=0xe0”while(temp!=0xf0) //这里还是写错了,是if语句,0xe0不等于0xf0再次进入...

51单片机 矩阵键盘 检测的命令

temp的值会受到按键的影响,例如变成:7e或别的值等。

51单片机如何用矩阵键盘输入数值,最后赋值到一个变量上

你做矩阵键盘检测的时候,会触发相关的IO口的状态,通过分析IO口,就能知道那个键按下;定义一个变量,将按下的键值赋给变量就行了

关于51单片机矩阵键盘的问题。

(1)P3口是准双向IO口(注意与双向IO口的区别),它 的硬件结构决定着,读取之前先写1,再读取,读取的结果才可能是正确的,你可以区域查查书。(2)4X4 矩阵键盘的8根线直接连在IO上,而独立按键有一根线固定是接地的,这就意味着必须采取扫面或者线反转的方法。比如其中一根行线赋0,相当于...

大神帮我看下我这个C51单片机4*4矩阵键盘扫描,在keil变量窗口查看键入值...

P1=0xf0;scan0=P1;delay1ms(20);if(scan0!=0xf0) //判键是否按下 { scan0=P1;if(scan0!=0xf0) //二次判键是否按下 { P1=0x0f; //线反转法的核心 delay1ms(20);scan1=P1;keycode=scan0|scan1; //组合成键编码 for(m=0;m<16;m++){ if(keycode==x[m]) //...

单片机矩阵键盘检测的疑问

temp=P3; //读回P3口的状态 temp=temp&0xf0; //temp&1111 0000,0与任何数结果为0,把temp变量的低四位屏蔽了,高四位因为任何数与1等于它本身,所以把高四位对应的端口状态读进来。while(temp!=0xf0) //上步处理后,高四为不全为1,说明有按键按下(结合矩阵键盘的电路结构才能理解,这里不...

谁能帮我解释一下这个程序中的这个(键盘扫描函数,使用行列反转扫描法...

你用的是4x4的矩阵键盘的行列反转扫描吧,这种方法确定一个键码要分成3步:第一步:将行IO置低电平,列IO置高电平,读数据。按下任意键时,将有一个列IO被拉低,于是读到类似00001011的数据 第二步:将行IO置高电平,列IO置低电平,重复第一步,读到类似11010000的数据cord_l=P3&0xf0;本句取...

单片机键盘检测的问题

《把P3口的值赋给随机变量temp,然后和0xf0相与,通过结果判断temp高四位有没有0.从而判断出4x4矩阵的第一行有没有按键被按下》。--- 另外的问题,如果有一个按键被按下,是不是它所在的行列线的电平都会变成低电平 只有当行线,先输出零之后,按键被按下,它所在的列线,会变成低电平。

51单片机矩4X4阵键盘的第一排按键没反应。

你仔细看一下资料就会发现这个问题是开发板的问题,就是他用到的一个芯片会把单片机P3口的某个引脚置高,导致键盘不好使,解决方法是下载完程序之后拔掉下载USB线,只保留供电USB线再做测试

51单片机矩阵键盘检测方面的问题

第一个问题,应该是考虑如果先开锁存器,在那一时刻,P0的值还是上一次给P0赋的值,下在一条语句才将这次的值给P0,这样会造成数码管的余辉,静态显示的时候,因为太快看不到,动态显示时,就会比较明显了。第二个问题他的程序应该检测的是高四位,是否被拉低,因为temp和0xf0与,低四位不管是...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年小麦价格多少钱一斤 酸甜口味的凉拌菜如何制作? 小麦价格什么时候涨 明年小麦还会继续上涨吗 怎么做家常韭菜烧豆腐? 家常烧豆腐块怎么做? 单核CPU512内存 加内存会让电脑运行快吗 我的电脑配置 CPU AMD速龙 双核 3600+ 内存 512MB 显卡64M 什么情况... 我的cpu是AMD Sempron 3000+的 内存是512M 显示卡是 Radeon X300/X550/... 我的电脑是双核CPU 2G内存 512独显 怎样才能加快电脑运行速度 cnc加工中心油雾收集过滤器哪家好? 矩阵键盘检测按钮是否被按下为何要检测两次 大连悦威水处理技术有限公司怎么样? 矩阵键盘检测求助 大连久庆泵业有限公司怎么样? 大连*软水机前是否要加前置过滤器?家里需要安装净水器大连有净水安装的吗?! 单片机矩阵键盘怎么进行松手检测? 大连哪里有卖榨油机和榨油机过滤器的 c51单片机 在矩阵键盘松手检测的原理是什么?为什么要加松手程序?不加又会怎样?谢谢! 大连旅顺口区家用自来水有必要加前置过滤器吗 51单片机矩阵键盘检测方面的问题 大连金三角市场有卖森森Hw603鱼缸用过滤器吗? 51单片机的矩阵键盘检测问题 单片机矩阵键盘检测的疑问 滨特尔净水和GE净水怎么回事?有什么区别?大连前置过滤器哪家的质量比较好呢?清澈。 这个是矩阵键盘的检测,这个while循环里面,一开始不加temp等于P3,那么执行完switch语 51单片机矩阵键盘怎么检测啊 一张纸AB面怎么打印 打印机页面怎么设置能打印完整 打印机怎么打印全页 矩阵键盘检测,求解,程序自己写的,按键没反应。 大连国仁康是骗子公司吗?骗老人买治疗仪,买过滤器,不知道还要买什么 请问单片机4*4矩阵键盘如何检测并返回多个按键按下的键值和多个按键抬起的键值?(注:不使用死循环) 克拉克过滤器(中国)有限公司的CLARK FILTER 微孔折叠滤芯如何更换? 大连18层住宅从几楼开始二次供水??? 大连地铁让带工具吗? 计量泵流量不稳定是什么原因造成的? 浪琴手表三包是哪三包 浪琴手表几天退货 请问浪琴专柜买的手表,无质量问题。第二天可以退吗??? 浪琴手表皮带脱皮我可以要求退货吗 洗衣机尺寸规格一般多大? 刚刚买了浪琴的手表,不喜欢了,没有质量原因。专柜可以退吗? 的浪琴手表,保修期内维修3次.问题1:可以退货吗 洗衣机有什么尺寸 请买了浪琴手表可以退吗? 昨天晚上在常州富克斯流行广场买了一个浪琴手表25000块今天感觉不值那么多钱可以退吗 如何测量洗衣机外桶尺寸 浪琴手表七天内出现雾,可以退换不