TMOD=0x01;
TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; ET0=1; EA=1;
tcount=0; second=0;
P0=dispcode[second/10]; P2=dispcode[second%10]; while(1); }
void t0(void) interrupt 1 using 0 {
tcount++;
if(tcount==20) {
tcount=0; second++;
if(second==60) {
second=0; }
P0=dispcode[second/10]; P2=dispcode[second%10]; }
TH0=(65536-50000)/256; TL0=(65536-50000)%256; }
16. 定时计数器T0作定时应用技术(二)
1. 实验任务
用AT89S51的定时/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯闪烁,每个指示闪烁的频率为0.2秒,也就是说,开始L1指示灯以0.2秒的速率闪烁,当2秒定时到来之后,L2开始以0.2秒的速率闪烁,如此循环下去。0.2秒的闪烁速率也由定时/计数器T0来完成。 2. 电路原理图