void timer()jinterrupt 1⼀⼀中断服务函数 { TH0 = (65535

2025-02-26 03:04:50
推荐回答(1个)
回答1:

#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar time,temp,l;
void delay()
{
uchar h,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--)
;
}
void chuzhi()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
temp=0xfe;
P0=temp;
}
void main()
{
chuzhi();
while(1)
{
if(time==100)
{
time=0;
TR0=0;
temp=0xfd;
P0=temp;

}
delay();
P0=0xfe;
TR0=1;

}
}
void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;

}
花了我一个小时,程序终于编完了,我试了一下,效果还行!!!编的可能不太完美,毕竟我也开始学,但是功能有了!你说的中断一次中断时P0.0灭,P0.1亮,我又让它在中断完之后,重新让P0.0亮,P0.1灭,然后再过五秒、中断、P0.0灭,P0.1亮。。。一直循环下去。如果需要,你也可以在中间加上中断循环次数。。。