找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2009|回复: 12
打印 上一主题 下一主题
收起左侧

STC15F104W单片机两个外部中断怎样用?求思路

[复制链接]
跳转到指定楼层
楼主
ID:101869 发表于 2021-12-30 17:11 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
20黑币
最想近做个遥控白炽灯调光,遥控部分用INT3外部中断,调光用INT0外部中断,单独都可以用,放一起就不行,求个思路谢谢!!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:979299 发表于 2021-12-30 20:37 | 只看该作者
这两个端口控制暗亮就行了,遥控另开端口吧
回复

使用道具 举报

板凳
ID:101869 发表于 2021-12-30 21:11 来自手机 | 只看该作者
我的意思是两个外部中断怎样做互不影响
回复

使用道具 举报

地板
ID:101869 发表于 2021-12-30 21:13 来自手机 | 只看该作者
兴安xa 发表于 2021-12-30 20:37
这两个端口控制暗亮就行了,遥控另开端口吧

调光是一个普通口做的PWM输出一个中断口过零触发。  遥控器也要一个外部中断,我想问的是两个外部中断怎样互不影响,现在是一按遥控灯泡就闪
回复

使用道具 举报

5#
ID:8222 发表于 2021-12-30 21:30 | 只看该作者
肯定互相影响的,中断有优先等级,不可能同时处理。调光就用定时器中断行了。
回复

使用道具 举报

6#
ID:101869 发表于 2021-12-30 21:48 来自手机 | 只看该作者
温xyz 发表于 2021-12-30 21:30
肯定互相影响的,中断有优先等级,不可能同时处理。调光就用定时器中断行了。

调光要用过零触发,需要外部中断的,红外遥控也要用一个外部中断。
回复

使用道具 举报

7#
ID:624769 发表于 2021-12-30 22:00 | 只看该作者
说到底就是代码设计不合理,如果中断只是响应后做一个标志,怎么可能互相影响?

然后,红外线接收主要用到的应该是定时器,而绝对不应该是外部中断,即便需要用外部中断最多也就是在接受到第一次下降沿之后就应该启用定时器来分析红外码,最多就是几us的事情。
回复

使用道具 举报

8#
ID:161164 发表于 2021-12-30 22:40 | 只看该作者
说了那么多
又不贴代码
我们哪知道你写的中断为什么会互相影响?
别人3,4个中断一起用也没事?
回复

使用道具 举报

9#
ID:401564 发表于 2021-12-31 14:36 | 只看该作者
中断是肯定会相互影响的
红外是应该用定时器捕获模式的,这样占用的资源就会少一点
如果你已经写好等待查询的模式,那就把过零中断优先等级设定为更高级就行了,因为红外如果是等待查询模式的话,时间是相对要长的
过零部分的红优先级要高于红外的,而且,处理要简单,最多一两个语句就行了,其它处理要放在主函数中处理
回复

使用道具 举报

10#
ID:170318 发表于 2021-12-31 15:37 | 只看该作者
过零触发外部中断是每0.01秒一次,是不能变的,红外遥控触发的时间是随机的,所以,处理不好肯定存在着相互影响的时候,这种情况下,要改变一下处理程序的思路
回复

使用道具 举报

11#
ID:170318 发表于 2021-12-31 15:39 | 只看该作者
9楼说的没错,按其思路修正程序
回复

使用道具 举报

12#
ID:101869 发表于 2021-12-31 20:22 来自手机 | 只看该作者
Y_G_G 发表于 2021-12-31 14:36
中断是肯定会相互影响的
红外是应该用定时器捕获模式的,这样占用的资源就会少一点
如果你已经写好等待查 ...

感谢回复  马上试试
回复

使用道具 举报

13#
ID:101869 发表于 2021-12-31 20:23 来自手机 | 只看该作者
jhczy 发表于 2021-12-31 15:37
过零触发外部中断是每0.01秒一次,是不能变的,红外遥控触发的时间是随机的,所以,处理不好肯定存在着相互 ...

谢谢指导
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表