|
#include <regx52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led = P2^0;
unsigned char count;
void main()
{
count =0;
// T2CON=0x00; //實(shí)現(xiàn)16位自動(dòng)重載定時(shí),T2CON=0x01為不自動(dòng)重載模式
TCLK=0; //可令T2CON=0;或TCLK=0,RCLK=0;
RCLK=0; //【T2CON中其他位可默認(rèn)為0,而TCLK和RCLK必須手動(dòng)置0】
//因RCAP2L和RCAP2H是由軟件預(yù)設(shè)的
T2MOD=0x00;
RCAP2H=0x3C;
RCAP2L=0xB0;
TL2 = (65536-50000) % 256; //或TL2=0xb0
TH2 = (65536-50000) / 256; //或TH2=0x3c
EA = 1;
ET2 = 1;
TR2 = 1;
while(1)
;
}
void timer2 (void) interrupt 5
{
EA = 0;
TF2 = 0; //必須軟件置0
count ++;
if (count == 10) //溢出中斷后,T2自動(dòng)加載RCAP2H和RCAP2L中的值
{
count = 0;
led = !led;
// RCAP2L-=3;
// RCAP2H-=3;
}
EA = 1;
}
|
|