新手请教一个问题,关于51单片机IO口检测下降沿的。检测下降沿是检测是1跳变到0的那个时段,看过一

新手请教一个问题,关于51单片机IO口检测下降沿的。检测下降沿是检测是1跳变到0的那个时段,看过一些资料也请教过一些人,可还是不明白,太笨了!希望可以举一个事例,详细说明... 新手请教一个问题,关于51单片机IO口检测下降沿的。检测下降沿是检测是1跳变到0的那个时段,看过一些资料也请教过一些人,可还是不明白,太笨了!希望可以举一个事例,详细说明下 展开
 我来答
linnjing
推荐于2016-08-08 · TA获得超过2631个赞
知道大有可为答主
回答量:1230
采纳率:91%
帮助的人:505万
展开全部
下降沿检测,说白了就是满足这样一个逻辑,上次检测是1,这次检测是0,就是下降沿。
从这个条件可知,要确保能够正确检测到一个下降沿,负脉冲的宽度,必须大于一个检测周期,当负脉冲宽度小于一个检测周期,就有可能产生漏检。另一方面,要正确检测逻辑1,同样要求高电平持续时间大于一个检测周期。
如果检测是硬件的,比如INT0中断,一个检测周期是一个机器周期,比如1us,那么脉冲信号的宽度就必须保证高电平、低电平都大于1us,所以说,检测上限是500K。
如果检测是软件的,比如每1mS检测一次,检测上限就浊500Hz。
追问
嗯,那可不可以用一个小程序讲解一下,谢谢
追答
sbit inputPin = P1^0;

void main(void )
{
bit savePinState = inputPin;
while(1)
{
delay_1T(); // 检测间隔

bit nowPinState = inputPin;
if (( savePinState == 1 ) && ( nowPinState == 0 ))
{
// 检测到下降沿
}
savePinState = nowPinState; // 这句是重点,保存当前的状态,下次再检测这就是"上次状态"
}
}
tony_sgt
2015-05-27 · TA获得超过8418个赞
知道大有可为答主
回答量:5330
采纳率:66%
帮助的人:1176万
展开全部
数字电路中,数字电平从高电平(数字“1”)变为低电平(数字“0”)的那一瞬间叫作下降沿。下降沿触发是当信号有下降沿时的开关动作,当电位由高变低而触发输出变化的就叫下降沿触发。也就是当测到的信号电位是从高到低也就是下降时就触发,叫做下降沿触发。

这个在按键触发中断时常用到,你看到按键的动作是很快的,但对单片机来说每次的按键都会被解读好几次。因为按键是机械结构,按下去都会产生弹跳,这个弹跳瞬间就会被单片机捕获,从而造成被读到好几次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式