#define FOSC 11059200L //设置主频
#define Mode 4 //12T为4, 6T为2
#define OUTPUT_HZ 38400 //方波频率
#define T2Reload (65536-FOSC/Mode/OUTPUT_HZ) //定时器初值(自动计算)
sfr T2CON = 0xc8;
sbit TF2 = T2CON^7;
sbit TR2 = T2CON^2;
sfr T2MOD = 0xc9;
sfr16 RCAP2 = 0xca;
sfr16 Timer2 = 0xcc;
void main()
{
T2MOD = 0x02; //从P1.0(T2引脚) 输出方波
RCAP2 = Timer2 = T2Reload; //T2初值
TR2 = 1; //T2运行
while (1);
}
注意: 不需要开T2中断,不需要设置输出引脚,方波的输出,是定死在P1.0的,前3个define 根据你单片机设置情况,以及需要的方波填写。
|