5382|11

88

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

P1口的中断会冲突吗 [复制链接]

P1口开启了P1.4和P1.7的两个中断,但是发现在P1.7的上升沿中断后就程序就不再响应P1.4的中断,直到P1.7的下降沿中断才能继续响应P1.4的中断,请大家帮忙看看。
说明:主程序中并没有关闭总中断,也没有对P1口的中断使能P1IE进行任何设置

#pragma vector=PORT1_VECTOR
__interrupt void iic_ptt()
{
if (P1IFG&BIT7)
{
P1IFG&=~BIT7;
......
}
if (P1IFG & BIT4)
{
P1IFG&=~BIT4;
if ((P1IN&0x10)==0)
{
Delay_ms(10);
if ((P1IN&0x10)==0)
{
P1IES&=~0X10;//interrupt at rising edge
......
}
}
else if ((P1IN&0x10)==0x10)
{
Delay_ms(10);
if ((P1IN&0x10)==0x10)
{
P1IES|=0X10;//interrupt at falling edge
......
}
}
else;
}
}

最新回复

学习ing 感谢大家这么热心帮忙啦!  详情 回复 发表于 2009-3-13 08:19
 
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
程序没写好,
 
 

回复

49

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
麻烦能说得具体一些吗,有哪些不正确的设置或者操作可能发生这种情况呢
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
进入中断,会自动关闭总中断;
退出中断,则自动打开总中断
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

5
 
程序好混乱!
最好把中断和配置I/O口的分开写!
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

6
 
多谢几位!
看来单片机是没有这样的特性,我再仔细看看我的程序吧。
现在明白二楼的意思了。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

7
 
P1或P2的中断使用一个中断向量,使用时记得判断具体哪个端口触发的就行
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

8
 
看起比较乱的
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
嗯,谢谢各位关注!
实际上P1.7是一个按键,我把按键去抖放到了中断程序中,另外平时P1.7是上升沿触发的(因为有三极管反向),在中断退出的时候将触发沿改为下降沿,以检测按键的松开;同样在按键松开的中断程序中又改回上升沿触发。
前面做了一些测试,觉得这样处理按键也没有什么问题,后来总觉得不妥,现在把按键去抖放到了中断外面,按键的松开也改成了查询方式。
不知道大家在用中断检测按键的时候是怎么处理的
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

10
 
这程序:
1.书写格式差,不好阅读,要理解就更......
2.编写逻辑乱.从中不知道你要实现什么功能.
3.中断函数中,不要用延时这类代码,应在中断外执行
 
 
 

回复

107

帖子

0

TA的资源

一粒金砂(初级)

11
 
看来楼主是得多学习学习楼上几位前辈了
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

12
 
学习ing
感谢大家这么热心帮忙啦!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表