求高人指点:如何判断管脚50ms一直都是高(低)电平?

2020-02-01 16:27发布

本帖最后由 OKKK 于 2012-12-26 23:47 编辑

RT
        while(!port_int0)
             {
        delay_ms(50);
         while(!port_int0)
        {
        //
        }
                       
             }   
就不可以,求方法!!   
另外:已经查看相关资料,51好像很难判断这个。因为外部中断只有下跳和低电平。求高手指点迷津!!!感激不尽。                                       


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
Tliang
1楼-- · 2020-02-02 13:56
下降沿中断,定时器计时不中断。
IO中断,等待计时到或IO跳变。
判断计时是否溢出或未到时间IO即跳变、

TH0 = 0X3C;
TL0 = 0XB0;
TR0  = 1;
TF0 = 0
while((!TF0) && (!P3_2));
TR0 = 0;
if(TF0 && P3_2)              //定时溢出且IO已经变高
else if(TF0)                     //时间到IO未变高
else                               //IO变高,时间未到。
可以将TH0和TL0的值读出判断在一定范围内的IO变高为有效。
if(((TH0 << 8) | TL0 > 60000) && P3_2)
error_dan
2楼-- · 2020-02-02 15:38
OKKK 发表于 2012-12-26 22:48
error_dan
能给个例不?

木有例程哦,都给你说了这么详细了,自己写一个吧。。。
OKKK
3楼-- · 2020-02-02 21:32
Tliang 发表于 2012-12-27 08:43
下降沿中断,定时器计时不中断。
IO中断,等待计时到或IO跳变。
判断计时是否溢出或未到时间IO即跳变、

Tliang
谢谢! 明天回公司试试
lmt50211
4楼-- · 2020-02-03 01:21
 精彩回答 2  元偷偷看……
吴绍昂
5楼-- · 2020-02-03 03:32
给两个变量:time_f,pin_f.
高电平pin_f为1,低电平pin_f为0。满足50毫秒循环时time_f为1,不满足时time_f为0.
从这两个变量状态可以满足楼主要求!

一周热门 更多>