下面的代碼來自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:
測試這套代碼,演示并不準確,是程序本身出了問題,還是我操作有問題?
|