//实例42:用定时器T0 查询方式P2 口8 位控制LED 闪烁 #include // 包含51 单片机寄存器定义的头文件 void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0 中断允许 TMOD=0x01; //使用定时器T0 的模式1 TH0=(65536-46083)/256; //定时器T0 的高 8 位赋初值 TL0=(65536-46083)%256; //定时器T0 的高 8 位赋初值 TR0=1; //启动定时器T0 TF0=0; P2=0xff; while(1)//无限循环等待查询 { while(TF0==0) ; TF0=0; P2=~ P2; TH0=(65536-46083)/256; //定时器T0 的高 8 位赋初值 TL0=(65536-46083)%256; //定时器T0 的高 8 位赋初值 //实例43:用定时器T1 查询方式控制单片机发出 1KHz音频 #include // 包含51 单片机寄存器定义的头文件 sbit sound=P3^7; //将 sound 位定义为 P3.7 引脚 void main(void) {// EA=1; //开总中断 // ET0=1; //定时器T0 中断允许 TMOD=0x10; //使用定时器T1 的模式1 TH1=(65536-921)/256; //定时器T1 的高 8 位赋初值 TL1=(65536-921)%256; //定时器T1 的高 8 位赋初值 TR1=1; //启动定时器T1 TF1=0; while(1)//无限循环等待查询 { while(TF1==0); TF1=0; sound=~ sound; //将 P3.7 引脚输出电平取反 TH1=(65536-921)/256; //定时器T0 的高 8 位赋初值 TL1=(65536-921)%256; //定时器T0 的高 8 位赋初值 } } //实例44:将计数器T0 计数的结果送P1 口8 位LED 显示 #include // 包含51 单片机寄存器定义的头文件 sbit S=P3^4; //将S 位定义为P3.4 引脚 void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0 中断允许 TMOD=0x02; //使用定时器T0 的模式2 TH0=256-156; //定时器T0 的高8 位赋初值 TL0=256-156; //定时器T0 的高8 位赋初值 TR0=1; //启动定时器T0 while(1)//无限循环等待查询 { while(TF0==0) //如果未计满就等待 { if(S==0) //按键S 按下接地,电平为0 P1=TL0; //计数器TL0 加 1 后送P1 口显示 } TF0=0; //计数器溢出后,将TF0 清 0}} //实例45:用定时器T0 的中断控制 1 位LED 闪烁 #include // 包含51 单片机寄存器定义的头文件 sbit D1=P2^0; //将D1 位定义为P2.0 引脚 void main(void) { EA=1; //开总中断 ET0=1; //定时器T0 中断允许 TMOD=0x01;...