打印

P0.4外接独立式按键。按下时低电平有效。

[复制链接]
4027|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llia|  楼主 | 2021-8-14 23:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
P0.4外接独立式按键。按下时低电平有效。
想法一:(失败)这个方法我感觉好些,但实验结果失败
void main ()
{
SP=0x5f;
TMOD=0x01;
TH0 = 0x3c;
TL0 = 0xb0;
TR0=1;
ET1 = 1;
ET0= 1;
EA= 1;
req= 0;
busy= 1;
while (1)
{
if (flag_b==1)
{
if (P0_4==0)
{
delay(4);
if (P0_4==0)
{
////do something 2,用方法一只能something 2只能做一次??
why?????
}
}
flag_b=0;
}
}
void t0(void) interrupt 1 using 0
{
bit flag;
uchar t02s;
TH0 = 0x3c;
TL0 = 0xb0;
TR0=1;
t02s++;
if(t02s==2)
{
t02s=0;
flag=~flag;
}
if(flag==1)
{
/////do something 1
flag_a=1
}
}
想法二:(实验成功,但不知道妥不妥,合理不合理,自己感觉在中断里检测按键不是很合理)
void main
{
TMOD=0x01;
TH0 = 0x3c;
TL0 = 0xb0;
ET1 = 1;
ET0= 1;
EA= 1;
req= 0;
busy= 1;
while (1);
}
void t0(void) interrupt 1 using 0
{
bit flag;
uchar t02s;
TH0 = 0x3c;
TL0 = 0xb0;
TR0=1;
t02s++;
if(t02s==2)
{
t02s=0;
flag=~flag;
}
if(flag==1)
{
///// first do something 1
if (P0_4==0)
{
TR0=0;///主要是这个 -————合理吗?
delay(4);
if (P0_4==0)
{
///// then do something 2
}
TR0=1;
}
}
}

使用特权

评论回复
沙发
yufe| | 2021-8-14 23:27 | 只看该作者
t02s是需要安静的…

使用特权

评论回复
板凳
llia|  楼主 | 2021-8-14 23:29 | 只看该作者

怎么讲呀???不明白,怎么会跟t02s有关系呢???

使用特权

评论回复
地板
guoyt| | 2021-8-14 23:31 | 只看该作者
楼主都试试呗

使用特权

评论回复
5
hanwe| | 2021-8-14 23:35 | 只看该作者
两种方法都行

使用特权

评论回复
6
yufe| | 2021-8-14 23:37 | 只看该作者
按键检测一次后,flag_b清零,当然只能工作一次(因为初始化可能是1)

使用特权

评论回复
7
yufe| | 2021-8-14 23:39 | 只看该作者

如果你的中断没有其他重要的实时任务,是可行的,不过为了检测按键就关中断,还是不值得,因为
按键不应该被中断影响到

使用特权

评论回复
8
heweibig| | 2021-8-14 23:41 | 只看该作者
按键检测一般在主程序内去检查

使用特权

评论回复
9
wangzsa| | 2021-8-14 23:44 | 只看该作者
或者在子程序内完成就可以了

使用特权

评论回复
10
liliang9554| | 2021-8-14 23:47 | 只看该作者
这个要合理处理中断的响应的

使用特权

评论回复
11
liliang9554| | 2021-8-14 23:49 | 只看该作者
这个按键的GND一定要与MCU的GND共地处理的

使用特权

评论回复
12
pengf| | 2021-8-14 23:52 | 只看该作者
核心是要保持电平信号能被MCU识别到的

使用特权

评论回复
13
renyaq| | 2021-8-14 23:53 | 只看该作者
增加合适的延时的处理的

使用特权

评论回复
14
zyf部长| | 2021-8-14 23:55 | 只看该作者
这个简单的按键识别的搞不了么?

使用特权

评论回复
15
lium| | 2021-8-14 23:56 | 只看该作者
主要是中断的识别的,看设计成上升沿中断还是下降沿中断的。。

使用特权

评论回复
16
jlyuan| | 2021-8-14 23:57 | 只看该作者
还有一个就是对产生的中断处理要及时的

使用特权

评论回复
17
llia|  楼主 | 2021-8-14 23:58 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
18
勇敢的大白菜| | 2021-9-6 10:43 | 只看该作者
这个代码,看上去,没有任何的毛病哦。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

961

主题

8893

帖子

4

粉丝