标题: 51单片机利用外部中断暂停流水灯的程序问题 [打印本页]

作者: yuki·kiko    时间: 2021-11-13 01:32
标题: 51单片机利用外部中断暂停流水灯的程序问题
我想添加按键让流水灯关闭为什么这样写进不去中断呢,按下按键没有反应

#include "stdio.h"
#include "reg51.h"        
#include "intrins.h"

#define led P2

typedef unsigned int u16;     
typedef unsigned char u8;

sbit k3=P3^2;        
bit start=0;


void delay(u16 i)
{
        while(i--);        
}



void Int0Init()
{
IT1=1
EX1=1
EA=1
}



void main()
{   
          u8 i=0;
          led=0x00;
          Int0Init();
          keypros();
          while(1)
                {
                for(i=0;i<8;i++)
                   {
                   led=_cror_(led,1);
                   delay(10000);
                   }
              }
}




void Int0() interrupt 0
{
delay(1000);
if(k3==0)
{
led=0xff;
}
}



作者: wulin    时间: 2021-11-13 05:10
void Int0Init()
{
        IT0=1;
        EX0=1;
        EA=1;
}
作者: weijoyer    时间: 2021-11-13 08:02
外部中断配置错了
作者: PEB188    时间: 2021-11-13 08:20
你这中断初始化的是外部中断1.用的是外部中断0
作者: ymt    时间: 2021-11-13 08:55
你的按键写在中断内部,你用什么触发中断,所以没办法进入中断.按键应写在中断外面。
作者: 保持微笑    时间: 2021-11-13 09:11
ymt 发表于 2021-11-13 08:55
你的按键写在中断内部,你用什么触发中断,所以没办法进入中断.按键应写在中断外面。

外部中断是可以不用定义的,只要开启了对应的中断,当对应的按键按下就会直接进入中断,在中断中配置自己想要执行的东西就可以了
作者: npn    时间: 2021-11-13 13:12
外部中断对应的IO口是不可更改的,也不需要sbit定义,不同的IO口都有不同的特殊功能,具体见数据手册。
作者: yuki·kiko    时间: 2021-11-13 17:40
懂了 谢谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1