完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 南山孤樵 于 2014-11-19 17:29 编辑
我是一个初学者对protesu不是很了解,在编写有关中断的程序时发现要是主函数中有延时在使用中断后就不能回到主函数了,而要是主函数中没有延时使用中断后就能够回到主函数这是怎么回事啊 求大神指导。程序如下: #include #include #define uint unsigned int void delay (t) { while (t--) { uint i; { for (i=0;i<=250;i++); } } } void main () { P2=0xfe; EA=1; EX1=1; IT1=1; /*ET0=1; ET1=1;*/ while (1) { delay (100); P2=_crol_(P2,1); } } void int1() interrupt 0 { EX0=0; P2=0x0f; delay (100); P2=0xf0; delay (100); EX0=1; } |
|
相关推荐
8个回答
|
|
回帖奖励 +2 分积分
具体原因没分析出来,先给你说一下你程序的其他问题:
中断设计的初衷是帮助CPU时间更好的调整以节约CPU在各种事件之间轮询的时间,使得各种事件能够及时得到处理,但你还在中断例程中两次使用语句延时函数,简直就是浪费 评分
|
||||
|
||||
不排除重载问题!这个是一大忌。晚上吧我找时间 看看。并且希望把你工程文件上传。
|
|
|
|
调试下,delay 的汇编代码贴上来看下
|
|
|
|
|
|
|
|
谢谢你的建议,但对于你的建议我也有一些疑问如果中断中不使用延时,就达不到在中断是LED灯闪烁的目的了啊,我关键是想知道为什么在主函数中使用了延时加入中断并在使用中断以后就不能回到主函数了啊? |
|
|
|
谢谢你花时间来帮助我,其实我的程序就这么一点,我是一个正在自学的初学者,我发这篇帖子的目的就是想请你们帮我分析一下为什么在中函数中编入延时语句后在使用中断以后就不能回到主函数了? |
|
|
|
C:UsersWJCDesktop
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
5965 浏览 3 评论
7235 浏览 1 评论
7479 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
9266 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1266 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 12:48 , Processed in 0.647301 second(s), Total 93, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号