若系统晶振频率为6MH,分析下列源程序,回答问题。 #include[reg51.h] sbit LED=P0^0; void main() { TMOD=0x00; TL1=0x03; TH1=0xFC; TR1=1; while(1) { while( !TF1); TF1=0; TL1=0x03; TH1=0xFC; LED=∽LED; } } (1) 程序中采用的哪个内部定时器/计数器?被设置成定时还是计数工作方式? (2) 定时或计数到采用的查询还是中断的工作方式? (3) 程序完成的功能。
举一反三
- 若系统晶振频率为6MH,分析下列源程序,回答问题。 #include sbit LED=P1^0; void main() { TMOD=0x01; TL0=0x83; TH0=0xFF; IE=0x82 TR0=1; while(1); } void TIME0() interrupt 1 { TL0=0x83; TH0=0xFF; LED=∽LED; } (1) 程序中采用的T0还是T1定时器?选择的几位计数器? (2) 定时器定时的时间是多少? (3) 程序完成的功能
- T0采用方式(),()模式,T1采用方式(),()模式。 A: 1、定时、0、计数 B: 0、定时、1、计数 C: 1、计数、0、定时 D: 0、计数、1、定时
- 单片机的P2^0、2^1口分别接发光二极管LED1、LED2,读下列程序:#include<;reg51.h>;sbitLED1=P2^0;sbitLED2=P2^1;unsignedcharCountor1=0,Countor2=0;voidmain(void){TMOD|=0x10;TL1 = 0x00;//设置定时初值 定时50msTH1 = 0x4C;//设置定时初值TR1=1;ET1=1;EA=1;while(1);}voidTime1(void)interrupt3{TL1 = 0x00;//设置定时初值 定时50msTH1 = 0x4C;//设置定时初值Countor1++;Countor2++;if(Countor1==2){LED1=~LED1;Countor1=0;}if(Countor2==8){LED2=~LED2;Countor2=0;}}程序运行结果:
- 简易LED时钟程序例程中,定时器0用于走时,定时器1用于LED动态显示,那么定时器0和定时器1哪个定时更短? A: 定时器1 B: 定时器0
- 若要设置定时器0为方式0定时,定时器1为方式0计数,TMOD=( )。 A: 0x00 B: 0x40 C: 0x04 D: 0x80