问题:设系统时钟频率12MHz,用定时/计数器T0编程实现从P1.0口输出周期500uS的方波
仿真电路:
代码:
#include <reg51.h>
sbit rect_wave = P1^0;
void timelover(void);
void main()
{
TMOD = 0x00; // ???,?????,13????/???
TH0 = 0xf0; // ?8?
TL0 = 0x0c; // ?5?
IE = 0x00; // ?????,????????,?????
TR0 = 1; // ??T0??
while(1)
{
if(TF0) // ??T0??
{
timelover();
TF0 = 0; // ???????
}
}
}
void timelover(void)
{
TR0 = 0; // ????
TH0 = 0xf0; //????
TL0 = 0x0c;
rect_wave = !rect_wave; // ????
TR0 = 1; // ????
}
直接用中断不是更方便吗