打印

我的中断嵌套是否有问题呢???

[复制链接]
1554|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangruixu1121|  楼主 | 2011-7-25 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
外部中断0启动后,返回主函数无法启动外部中断1
#include<reg52.h>
#define ulint unsigned long int
#define uchar unsigned char
sbit up=P1^0;
sbit down=P1^1;
sbit PW1=P1^2;
sbit PW2=P1^3;
#define motorup PW1=0;PW2=1;
#define motordown PW1=1;PW2=0;
#define stop PW1=1;PW2=1;

void delay(ulint z)
{
ulint x,y;
for(x=z;x>0;x--);
    for(y=4294967290;y>0;y--);
}


void main()
{
EA=1;
EX0=1;
EX1=1;
IT0=0;
IT1=1;
PX0=1;
while(1)
{
  stop;
  EX0=1;
  if(up==0&&down==1)
   {
    motorup;   
   }
  else if(up==0&&down==0)
   {
    stop;
   }
  else if(up==1&&down==0)
   {
    motordown;
   }
  else if(up==1&&down==1)
   {
    stop;
   }
}
}


void autostop() interrupt 0
{
stop;
main();
}



void autodo() interrupt 2
{
  motordown;
  delay(50000);
}

相关帖子

沙发
wangruixu1121|  楼主 | 2011-7-25 20:23 | 只看该作者
那个笑脸是"P",不知道怎么变成笑脸了

使用特权

评论回复
板凳
xingxingdianzhi| | 2011-7-25 23:24 | 只看该作者
lz,看你写的程序好像是单片机c程序。看懂了你大概要表示的意思,可是在“EX0=1;
EX1=1;”后面你没写“TR1=1;TR0=1;”等等。
这样吧,你把你的电路图写在下面,我帮你看看到底是什么问题,没电路不好说问题。

使用特权

评论回复
地板
wangruixu1121|  楼主 | 2011-7-27 16:19 | 只看该作者
我想利用外部中断去控制直流电机的自动和堵转,PW1和PW2主要控制电机的正反转,UP是手动上升,down是手动下降,外部中断1是控制自动挡,外部中断0是控制电机堵转停止,可否指点一二,怎样更改才算成功呢??? 3# xingxingdianzhi

使用特权

评论回复
5
wangruixu1121|  楼主 | 2011-7-27 21:30 | 只看该作者
摆脱各位大哥大姐啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

76

帖子

1

粉丝