下面的代码来自STC89C52的手册,代码如下:
#include <reg52.h>
#define FOSC 18432000L
#define T1MS (65535-FOSC/12/1000)
sbit TEST_LED=P2^0;
unsigned int count;
void tm0_isr() interrupt 1
{
TL0=T1MS;
TH0=T1MS>>8;
if(count--==0)
{
count=1000;
TEST_LED=!TEST_LED;
}
}
void main()
{
TMOD=0x01;
TL0=T1MS;
TH0=T1MS>>8;
TR0=1;
ET0=1;
EA=1;
count=0;
while(1);
}
代码是用T0定时器,定时1秒翻转led灯,源码如下:
疑问1:
#define FOSC 18432000L 这个18432000L是什么意思?怎么得出来的?
疑问2:
测试这套代码,演示并不准确,是程序本身出了问题,还是我操作有问题?
|