本帖最后由 松松德电子 于 2012-10-14 12:30 编辑
#include <reg51.h>
void delay(unsigned char x);/*延时x秒*/
void main()
{
IT0=1;
EA=1;
EX0=1;
for(;;)
P1=0x00;
}
void f()interrupt 0
{
P1=0xff;
delay(1);
}
void delay(unsigned char x)
{
unsigned char i,j;
for(j=1;j<=x;j++)
for(i=1;i<=20;i++)/*一秒*/
{
TMOD=0x01;
TH0=0x3c;
TL0=0xB0;
TR0=1;
while(!TF0);
TF0=0;
}
}
就是想在外部中断0中断后灯全暗一秒,然后用子程序delay(1)来达到延时一秒。
{
uint x,y;
for(x=a;x>0;x--)
for(y=110;y>0;y--);
你试试把这个延时程序替代你的,然后那些中断指令要放在main里。
一周热门 更多>