我是靠谱客的博主 务实镜子,最近开发中收集的这篇文章主要介绍边沿触发和电平触发的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

边沿触发和电平触发的区别 
当然不一样了
电平触发是在高或低电平保持的时间内触发,
而边沿触发是由高到低或由低到高这一瞬间触发
追问:
我总觉得都是在电平为某一值是而触发的。那边沿触发到底解决了电平触发哪点没有解决的问题呢?
追答:
边沿触发一般时间短,边沿触发一般时间都是us级的,响应要快的,而电平触发只须是高和低就可以了,没时间要求,比如10s 时间内总是低电平,那么它也是触发的,
比如中断计时或计数,最好用边沿触发,用电平触发误差会很大,电平触发一般用于简单报警,开关一类(时间要求不高的)
分类:
电平触发,就是只有高电平的时候才做指定的事, 
边沿触发,就是有高电平向低电平转换,或者翻过来转换,这个转换过程触发一个动作。 
上升沿,顾名思义,就是低电平向高电平转换的瞬间,比如 
_______ 
____/ ,这个图中,/部分就是上升沿, 

______ 
_____ ,这个图中,部分就是下降沿


电平就是电压,高电平就是高电压,低电平就是低电压 
高电平触发就是当电压为高就触发 
边沿触发就是当电压由高变低或由低变高时触发 
上升沿触发 就是当电压从低变高时触发 
下降沿触发 就是当电压从高变低时触发


边沿触发:上升沿和下降沿,这个在学数电时都学过的,简单说就是电平变化那一瞬间。

电平触发:一般是指低电平,就是电平变为低了之后的全部时间里。

如果是下降沿触发,当从高至低电平转变时,触发产生。低电平保持多久都只产生一次。

如果是低电平触发,那么在低电平时间内中断一直有效。如果在电平没有恢复之前就退出中断程序,那么会在退出后又再次进入中断。只要不退出是不会重复触发的。我的做法是在退出前关闭中断,等后面有空时再打开。、

 

 

如:外部中断1中断中来检测按键。

void ISR_INT1(void) interrupt 2 
{

if(!INT1)    //INT1为外部中断1,INT1=P3^3.
{
DelayMs(10);//在此处可以添加动程序,防止按键抖动造成错误
if(!INT1)
while(!INT1);//等待按键释放
{
L1=!L1; 
}
}

 

来在外部中断中来检测按键。虽有一丢丢效果。
但不建议用外部中断来检测按键。
当你按下S2或S3时已经执行中断服务子程序去了,延时消抖是不可行的,只有采用硬件消抖。在实际应用中INT1和INT0接的应该是稳定数字数字信号,而不是按键产生有干扰的数字信号,有条件的话就用硬件消抖。

外部中断是用来检测要求响应速度高(微秒级)的外设的,而按键的动作时间都大于40毫秒,你可以测试一下。
虽然还是有很多做开发板的把按键做在中断上,但那只是验证是否好用,产品上尽量不要这样做。
按键消抖也不要用延时10ms再检测一次的办法,延时的这10ms实在是浪费控制器的资源,要知道时间对微控制器来说是非常宝贵的。
在做按键检测时,建议设置一个10ms的定时器中断作为时钟节拍,并在中断中设置标志。
程序的主循环中检测时钟节拍标志,检测到标志后清除标志并扫描按键,记录当前按键状态并和上次检测的结果做比较,并记录相同的次数,连续三次检测到同一个按键按下,则确认按键按下。
这样既可以消抖保证按键的准确,又较少的占用了微控制器的时间资源,稍微增加了点程序的空间,在单片机做的人机界面的系统中,应该是最合算的。

转载于:https://www.cnblogs.com/isAndyWu/p/9917570.html

最后

以上就是务实镜子为你收集整理的边沿触发和电平触发的区别的全部内容,希望文章能够帮你解决边沿触发和电平触发的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部