#include <regx52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led = P2^0;
unsigned char count;
void main()
{
count =0;
// T2CON=0x00; //实现16位自动重载定时,T2CON=0x01为不自动重载模式
TCLK=0; //可令T2CON=0;或TCLK=0,RCLK=0;
RCLK=0; //【T2CON中其他位可默认为0,而TCLK和RCLK必须手动置0】
//因RCAP2L和RCAP2H是由软件预设的
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自动加载RCAP2H和RCAP2L中的值
{
count = 0;
led = !led;
// RCAP2L-=3;
// RCAP2H-=3;
}
EA = 1;
}
|