找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3789|回复: 7
收起左侧

单片机外部中断不能触发

[复制链接]
ID:88746 发表于 2015-9-17 19:48 | 显示全部楼层 |阅读模式
我也是写过一些程序的,但是今天这个外部中断一直不能触发!反复看了几遍,都看不出来哪里有问题!!就是一个简单的pwm控制信心的输出,但是在外部中断增加占空比的时候,就是一直不能触发中断,求解!!
#include<reg51.h>
#define uchar unsigned char
#define uint  unsigned int
sbit s1=P3^2;
sbit s2=P3^3;
sbit wave=P1^0;
uchar zkb = 50;
uchar  f = 0,count=0;


void delay(uint t)
{
        uint i;
        while(t--)
        {
                for(i=0;i<125;i++);
  }
}
void delay_ms()
{
        uint i;
        for(i=0;i<1;i++);
}

void int0() interrupt 0
{
        EX0=0;
        P0=~P0;
        if(s1==0)
        {
                zkb--;
                if(zkb==-1)
                        zkb=99;
}
        while(!s1);
        EX0=1;
}



void timer0()interrupt 1
{
TR0=0;
TH0=(65536-10)/256;
TL0=(65536-10)%256;
f++;
if(f==100)
{
        f=0;
}
delay_ms();
TR0=1;
}

void int1() interrupt 2
{
        EX1=0;
        P0=~P0;
        if(s2==0)
        {       
         zkb++;
         if(zkb==100)
                 zkb=0;
}
        while(!s2);
        EX1=1;
}

void main()
{
        EA=1;
  TMOD=0x11;
        ET0=1;
        TR0=1;
        IT0=1;
        EX0=1;
  IT1=1;
        EX1=1;
        while(1)
        {
   if(f<zkb)
        {
                wave=1;
  }
        else
                wave=0;

  }
}




回复

使用道具 举报

ID:88746 发表于 2015-9-17 19:48 | 显示全部楼层
想了好久!都想不通、为什么会这样
回复

使用道具 举报

ID:88746 发表于 2015-9-17 19:49 | 显示全部楼层
有人来解答一下么
回复

使用道具 举报

ID:89128 发表于 2015-9-18 14:36 | 显示全部楼层
程序有些问题的
回复

使用道具 举报

ID:88746 发表于 2015-9-18 15:27 | 显示全部楼层
请指出问题,我也知道有问题,但是不知道出在哪
回复

使用道具 举报

ID:88746 发表于 2015-10-24 17:36 | 显示全部楼层
今天突然看到以前发的帖子,对于这个问题我找到了解决的办法,特意说明下,希望对以后的人有帮助
回复

使用道具 举报

ID:88746 发表于 2015-10-24 17:38 | 显示全部楼层
是这样的,之所以外部中断1不能触发,是因为我扫描采用的是定时器中断0,这个优先级是要比外部中断1要高的,我扫描的频率比较快,所以按键触发的外部中断1一直被冲突,优先执行定时器中断0.
只要把扫描中断采用定时器中断1就行了
回复

使用道具 举报

ID:79544 发表于 2015-10-25 14:00 | 显示全部楼层
xueshawu 发表于 2015-10-24 17:38
是这样的,之所以外部中断1不能触发,是因为我扫描采用的是定时器中断0,这个优先级是要比外部中断1要高的 ...

就是中断优先级的问题,好几个中断就叫中断嵌套。必须设定中断优先级。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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