微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请各位高手看看 ,这个中断伟什么没有用 谢谢

请各位高手看看 ,这个中断伟什么没有用 谢谢

时间:10-02 整理:3721RD 点击:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint i,k,l;
uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code led[]={0xff,0xff,0xc3,0xbd,0xbd,0xc3,0xff,0xff,
     0xff,0xff,0xff,0xbb,0x81,0xbf,0xff,0xff,
     0xff,0xff,0x99,0xae,0xb6,0x99,0xff,0xff,
     0xff,0xff,0xdd,0xb6,0xb6,0xc9,0xff,0xff,
     0xff,0xff,0xe3,0xed,0x00,0xef,0xff,0xff,
     0xff,0xff,0xd8,0xba,0xba,0xc6,0xff,0xff,
     0xff,0xff,0xc1,0xb6,0xb6,0xcf,0xff,0xff,
     0xff,0xff,0xfe,0x86,0xf8,0xfe,0xff,0xff,
     0xff,0xff,0xc9,0xb6,0xb6,0xc9,0xff,0xff,
     0xff,0xff,0xd9,0xb6,0xb6,0xc1,0xff,0xff,
     0xff,0xbf,0x83,0xec,0x83,0xbf,0xff,0xff,
     0xff,0xbe,0x80,0xba,0xba,0xc5,0xff,0xff,
     0xff,0xc1,0xbe,0xbe,0xbe,0xdd,0xff,0xff,
     0xff,0xbe,0x80,0xbe,0xbe,0xbe,0xc1,0xff,
     0xff,0xbe,0x80,0xb6,0xb6,0x9c,0xff,0xff,
        0xff,0x7e,0x00,0x6e,0xc6,0xfc,0xff,0xff};
void delay(uchar t)  ////延时函数         
{
uchar i,j;
for(i=t;i>0;i--)  
  for(j=110;j>0;j--);
}
void dsq()
{
EA=1;
EX0=1;
IT0=0;
//EX1=1;
//IT1=1;
}
void in_0() interrupt 0   //////外部中断0
{
    uchar a;
    for(a=0;a<8;a++)
        P1=wei[a];
     delay(1000);
}
void main()
{  
uint i,k,l;
dsq();
while(1)
{   
   for(k=0;k<=128;k++)     
         for(l=10;l>0;l--)   
            for(i=0;i<=7;i++)
                  {
      P2=led[(i+k)%128];
      P0=wei[i];
      delay(5);      
      }
}
}

不起作用是什么意思,进不了中断吗?查询中断标识位看一下呢

  1. void in_0() interrupt 0   //////外部中断0
  2. {
  3.     uchar a;
  4.     for(a=0;a<8;a++)
  5.         P1=wei[a];
  6.      delay(1000);
  7. }

复制代码

会不会是上面循环少了个大括号...

你这个程序写得很难看,不规范。
首先是命名,初始化外部中断你可以这样写吧,void INT0_Init(),一看就知道是说的是外部中断0初始化。还有数组名的命名也不知道是什么……
另外是循环嵌套三层了,应尽量少弄三层以上的循环管嵌套,人家一看就没心情看下去了。
楼上的可能说对了,你是想通过P1口的输出驱动外设(估计你是驱动数码管之类的),你少了一个大括号,程序在极短时间内将wei[0]……wei[7]不断地赋值给P1口,全部一个个赋值完后你才执行delay(1000),即延迟1s,因P1口赋值时间过短,外设上实际看起来可能是没变化,你就觉得外部中断没反应,可实际上外部中断已经有执行过了的。

外部中断的触发方式跟你的外部信号对应吗?IT0位选择的

再检查几遍

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top