我是新手,下面是我乱写的一个程序,我想问一下为什么T1定时器没有工作啊,bb没有到60,就进到里面的内容了,不什么呀????
#include<reg52.h>
sbit d1=P1^0; sbit d2=P1^1; unsigned char aa,n,bb,flag;
void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() { TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; ET0=1; ET1=1; EA=1; TR0=1; d2=0; flag=0; while(1) { if(flag==1) { d1=0; TR1=1; if(bb==100) { bb=0; d1=1; delay(1000); d1=0; delay(1000); d1=1; delay(1000); d1=0; delay(1000); d1=1; //d1=0; TR1=1; TR0=0; flag=0; } } else {if(aa==200) { TR0=0; aa=0; d2=1; delay(1000); d2=0; delay(1000); d2=1; delay(1000); d2=0; delay(1000); d2=1; //d1=0; //TR1=1; flag=1; //d } } } }
void time() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; } void time1() interrupt 3 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; bb++; } |