21952|8

193

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

为什么进不了中断函数 [复制链接]

大家帮我看看这个程序,为什么检测到INT0引脚上已经有低电平了,但却进不了中断函数,电平触发和边沿触都已经用过了,还 是不行,请各拉大虾指点一下 #include<reg52.h> #define uchar unsigned char; uchar xdata COM8255 _at_ 0x9003; //8255命令口地址 uchar xdata PA8255 _at_ 0x9000; //8255A口地址 uchar xdata PB8255 _at_ 0x9001; //8255B口地址 uchar xdata PC8255 _at_ 0x9002; //8255C口地址 sbit left=P1^6; sbit right=P1^5; sbit mid=P1^7; void main() { COM8255=0x81; PC8255=0x0F; P1=0xFF; mid=0; EA=1; EX0=1; IT0=1; while(1); } void turn()interrupt 0 {unsigned char x; unsigned char y; x=PC8255; y=x&0x07; switch(y) { case 0x07:mid=0;left=1;right=1;break; case 0x03:left=0;mid=1;break; case 0x01:left=0;mid=1;break; case 0x04:right=0;mid=1;break; case 0x06:right=0;mid=1;break; } PC8255=0x0F; }
此帖出自单片机论坛

最新回复

原来是电路的问题。 再有我提醒你一下 void int0() interrupt 0 using 3 你的程序里没写写个 using 3 默认是 using 0 ,就和主程序使用同一组R0-R7. 如果你的中断程序里动了R0-R7的值,就会扰乱主程序的运行,产生不可预知的错误。  详情 回复 发表于 2007-8-20 16:53
点赞 关注
 

回复
举报

1759

帖子

0

TA的资源

裸片初长成(高级)

沙发
 

回复:为什么进不了中断函数

中断0没有完全初始化 建议仔细看看书
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 

回复

242

帖子

0

TA的资源

纯净的硅(高级)

板凳
 

回复:为什么进不了中断函数

同意楼上观点.仿真了看看咯.
此帖出自单片机论坛
 
 
 

回复

173

帖子

0

TA的资源

一粒金砂(高级)

4
 

回复:为什么进不了中断函数

你要看看要进入中断有些什么必要的条件,你没有完成它的必要条件
此帖出自单片机论坛
 
 
 

回复

152

帖子

0

TA的资源

裸片初长成(初级)

5
 

回复:为什么进不了中断函数

和我的程序用的一样的方式,我没看出来不对的地方。 void int0() interrupt 0 using 3 { } IT0=1;//下降沿触发 EX0=1;//开外部中断0 EA=1; 你说的进不了中断是从仿真器看的,还是看设备状态? 把其他程序都注释掉,单调外部中断这一块。
此帖出自单片机论坛
 
个人签名我是有火救火,无火灌水的救火车
救火车单片机工作室
http://www.qm999.cn
 
 

回复

193

帖子

0

TA的资源

纯净的硅(中级)

6
 

回复: 为什么进不了中断函数

原帖由 救火车 于 2007-8-20 15:02:00 发表 和我的程序用的一样的方式,我没看出来不对的地方。 void int0() interrupt 0 using 3 { } IT0=1;//下降沿触发 EX0=1;//开外部中断0 EA=1; 你说的进不了中断是从仿真器看的,还是看设备状态? 把其他程序都注......
两方面都没有进
此帖出自单片机论坛
 
 
 

回复

193

帖子

0

TA的资源

纯净的硅(中级)

7
 

回复:为什么进不了中断函数

INT0已经接了个外围电路了,可能是外围电路的影响吧,我现在换到INT1上就行了,谢谢大家的关注
此帖出自单片机论坛
 
 
 

回复

152

帖子

0

TA的资源

裸片初长成(初级)

8
 

回复: 为什么进不了中断函数

原来是电路的问题。 再有我提醒你一下 void int0() interrupt 0 using 3 你的程序里没写写个 using 3 默认是 using 0 ,就和主程序使用同一组R0-R7. 如果你的中断程序里动了R0-R7的值,就会扰乱主程序的运行,产生不可预知的错误。
此帖出自单片机论坛
 
个人签名我是有火救火,无火灌水的救火车
救火车单片机工作室
http://www.qm999.cn
 
 

回复

193

帖子

0

TA的资源

纯净的硅(中级)

9
 

回复: 为什么进不了中断函数

原帖由 救火车 于 2007-8-20 16:53:00 发表 原来是电路的问题。 再有我提醒你一下 void int0() interrupt 0 using 3 你的程序里没写写个 using 3 默认是 using 0 ,就和主程序使用同一组R0-R7. 如果你的中断程序里动了R0-R7的值,就会扰乱主程序的运行,产......
谢谢提醒!
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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