历史上的今天
返回首页

历史上的今天

今天是:2025年07月12日(星期六)

正在发生

2018年07月12日 | STC15单片机外部中断仅上升沿触发的方法

2018-07-12 来源:eefocus

STC15系列单片机的外部中断0(INT0)和外部中断1(INT1)的触发有两种方式,上升沿和下降沿均可触发方式和仅下降沿触发方式。在实际应用中,有时候需要上升沿触发。这时有两种方案可以解决。 

1.将触发方式设置成仅下降沿触发。当外部电路产生一个上升沿时,通过硬件电路加一个三极管进行反向变成下降沿。 

2.这种方法不需要改变硬件电路。将触发方式设置成上升沿和下降沿均可触发方式。外部中断产生一个上升沿时,进入中断服务函数,这时在中断服务函数里做进一步处理,检测当前INT0的电平状态。如果是高电平,则判断为上升沿。如果是低电平,则判断为是下降沿。 

注意(很重要!): 进入中断服务函数后,一定要延时几个毫秒再去做电平检测。因为不管是上升沿还是下降沿,都不可能是在一个瞬间完成的,中间会经历一个从高(低)到低(高)的过程。 

如果进入中断服务函数就立刻检测,可能当时电平还没有达到满足高或低电平的默认电压值或者处于高和低之间的临界电压状态,很可能出现误判的现象。这样做的目的是让跳变后的电平达到稳定状态再检测,说白了就是一个去抖动的过程。 

下面把初始化和中断服务函数的代码贴出来:


void Initial_INT0(void)

{

        INT0=0;

        IT0=0;      // 设置成上升沿和下降沿均触发

        EX0=1;      //使能INT0中断

        EA=0;

}


void exint0() interrupt 0  //外部中断入口

{

        delay_ms(50);       //延时消抖

        if(INT0==1)     //如果检测到INT0=1,则判断为上升沿

        {

                led=0;

                delay_ms(500);

                led=1;

        }                                 

        else

            led=1;

}


在实际做东西的过程中遇到的一个小问题,希望对你有帮助。


推荐阅读

史海拾趣

FOX [Fox Electronics]公司的发展小趣事

进入21世纪后,Fox Electronics意识到全球化对于企业发展的重要性。为了更好地服务全球客户,公司开始在全球范围内布局生产基地和销售网络。通过在亚洲、欧洲和北美等地设立分厂和办事处,Fox Electronics不仅缩短了交货周期,还降低了生产成本,提高了市场竞争力。同时,公司还加强了与全球供应链伙伴的合作,通过优化供应链管理,确保产品质量和交货期的稳定性。

Elpress AB公司的发展小趣事

在追求经济效益的同时,Elpress AB也注重可持续发展和环境保护。公司积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。同时,Elpress AB还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅体现了Elpress AB的社会责任感,也为公司的长期发展奠定了坚实的基础。

DCD [Digital Core Design]公司的发展小趣事

DCD公司自创立之初,就专注于数字核心设计领域的研发。创始人们凭借对电子技术的深刻理解和市场需求的敏锐洞察,带领团队攻克了一个又一个技术难关。在产品研发初期,公司面临着资金短缺和技术难题的双重压力,但团队凭借着坚韧不拔的精神,成功研发出了首款具有竞争力的数字核心设计产品,为公司的发展奠定了坚实的基础。

Advanced Technology Corp公司的发展小趣事

随着科技的飞速发展,ATC公司始终保持着对技术创新的热情与追求。公司不断投入研发资源,引进先进设备和技术人才,致力于开发更具创新性和实用性的电子产品。经过多年的努力,ATC公司在多个技术领域取得了重要突破,推出了一系列具有行业影响力的创新产品,赢得了市场的广泛认可。

绿宝石(BERYL)公司的发展小趣事

随着国内市场的饱和,绿宝石公司开始积极拓展国际市场。公司加强了与国际知名企业的合作,共同开发新产品、新技术。同时,绿宝石公司还在海外设立了研发中心和生产基地,以便更好地服务全球客户。通过一系列的市场拓展和国际化战略,绿宝石公司的国际影响力不断提升。

FUJI公司的发展小趣事

绿宝石公司注重品牌建设和形象提升。公司加大了广告宣传的投入力度,通过电视、网络、户外广告等多种渠道进行品牌推广。此外,绿宝石公司还积极参与社会公益活动,履行企业社会责任。这些举措不仅提升了公司的知名度和美誉度,也增强了消费者对绿宝石品牌的认同感和忠诚度。

问答坊 | AI 解惑

带有AC/DC转换功能的可编量程A/D转换器

带有AC/DC转换功能的可编量程A/D转换器 带有AC/DC转换功能的可编量程A/D转换器…

查看全部问答>

PCB 设计(Layout)指南

1. 一般规则 1.1PCB板上预划分数字、模拟、DAA信号布线区域。 1.2 数字、模拟元器件及相应走线尽量分开并放置於各自的布线区域内。 1.3 高速数字信号走线尽量短。 1.4 敏感模拟信号走线尽量短。 1.5 合理分配电源和地。 1.6 DGND、AGND、实地 ...…

查看全部问答>

完整的秒表设计

与人分享,享受快乐!…

查看全部问答>

怎样才能学好plc

怎样才能学好plc?请大虾发言!…

查看全部问答>

win ce 日志操作记录

我做的是win ce 智能设备开发的 数据同步功能已经可以实现了。 比如我现在手持机中有个A表 然后我上传A表到PC端的数据库中的A表去(这里覆盖掉原表了) 这个时候以前的表被覆盖后,我怎么能在这个覆盖的时候让A表覆盖后的值能插入到PC端的B ...…

查看全部问答>

xilinx ISE 中原理图输入时,想将一个8位的线分别和8根1位的线连接,添加bus tap 怎么不行啊?

xilinx ISE 中原理图输入时,想将一个8位的线分别和8根1位的线连接,添加bus tap 怎么不行啊? 拖拽到需要的地方,并且显示几个小方格表示可以连接时,单击鼠标后bus tap就不见了,奇怪!…

查看全部问答>

嵌入式研发工程师面试试题

发挥大家的力量,回答下面的题目.谢谢 一、ANSI C/C++方面的知识 一.1、简答题。下面的题目必须全部答对才给分(20分): 1、 如何在C中初始化一个字符数组。2、 如何在C中为一个数组分配空间。 3、 如何初始化一个指针数组。 4、 如何定义一个 ...…

查看全部问答>

投影仪接口

请问在投影仪的接口上,每根针脚的作用是什么?比如说:哪几根针脚是控制画面的颜色?是不是就是用三根线来分别控制RGB()的三个参数的大小?如果是的话那是哪几根?请高人指点。现在我想做个改变投影仪颜色的东西。…

查看全部问答>

新手 大家进来看看

我刚学ARM 不知道怎么通过看芯片数据手册来写程序,就是配置寄存器啦!各位大虾帮帮忙吧!就算很简单也说上几句你们的心得吧,拜托哦,对EEWORLD的朋友我充满期待哦…

查看全部问答>

【为C2000做贡献】刘鑫茂的DSP BIOS讲座

啥也别说,直接上材料 感觉有用就回复下 [ 本帖最后由 fxw451 于 2011-4-7 09:27 编辑 ]…

查看全部问答>