例题6-1优化程序
上一节
下一节
讲课视频待录
//**例题6-1中P1口LED灯为共阳极接线方式**//
//**功能:正常情况下控制P1口的8个灯亮。中断有效后,P1口的高4位和低4位交替点亮,闪烁**//
#include <reg51.h>
#define uchar unsigned char
uchar m,i,j;
void Delay( ) /*延时函数Delay( )*/
{
for(i=0;i<200;i++)
for(j=0;j<200;j++); /*i,j的参数选择与晶振频率有关*/
}
void main( ) /*主函数*/
{ EA=1; /*总中断允许*/
EX0=1; /*允许外部中断0中断*/
IT0=1; /*选择外部中断0为负边沿触发方式*/
while(1) /*循环*/
{ P1=0;} /* P1口的8只LED全亮*/
}
void int0( ) interrupt 0 using 0 /*外中断0的中断服务函数*/
{ EX0=0; /*禁止外部中断0中断*/
P1=0x0f; /*低4位LED灭,高4位LED亮*/
for(m=0;m<5;m++)
{
Delay( ) ; /*延时*/
P1=~P1; /*高4位低4位LED交替亮灭,闪烁*/
}
EX0=1; /*中断返回前,打开外部中断0中断*/
}
}

