// test1.c // 通过定时器实现以0.5Hz的频率闪烁一个小灯 #include "homework4.h" unsigned char cnt = 0; // log timer T0 overflow counts void test1() { set_38_2LED(); TMOD = 0x01; // timer T0 mode 1, 16-bit timer TH0 = 0XB8; TL0 = 0X00; TR0 = 1; // timer T0 run while (1) { if (TF0 == 1) { // timer T0 overflow TF0 = 0; // clear timer T0 overflow flag TH0 = 0xB8; // reload timer T0 value TL0 = 0x00; cnt++; // log timer T0 overflow counts if (cnt >= 50) { cnt = 0; // clear log timer T0 overflow counts BUS1A = ~BUS1A; // toggle LED } } } } void main() { test1(); }