关于51中断的一些问题。

sourire24 2012-10-22 08:08:17
/*-----------------------------------------------
名称:IO口高低电平控制
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:左移,直至LED全部点亮,左移符号 <<

------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义


void delay(unsigned int t); //函数声明

/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{

unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255

P1=0xfe; //赋初始值
EA=1; //全局中断开
EX1=1; //外部中断0开
IT1=1;
for(i=0;i<8;i++) //加入 for循环,表明for循环大括号中的程序循环执行8次....
{
delay(50000);
P1<<=1;
}
}


/*------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}

void ISR_Key(void) interrupt 1
{


P1=0x00;
delay(50000);
P1=0xff;
delay(50000);

}



为什么这个中断没有效果!!!! 还有是不是 IT1=0 和 IT0=0都表示 低电平引发中断时吗
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
youzi722 2012-10-23
  • 打赏
  • 举报
回复
你这不是51单片机么,1号中断是定时器中断吧,外部中断0的中断向量号是0吧,外部中断1的中断向量号是2吧,所以你这里...
void ISR_Key(void) interrupt 1

另外,不应该在中断里延时啊。
gaopeng090610 2012-10-23
  • 打赏
  • 举报
回复
EX1是外部中断1
macrocan 2012-10-22
  • 打赏
  • 举报
回复
EX1=1; //外部中断0开
EX1是外部中断1

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧