| 
 
| 代码如下: /**************************************************************************************************
 ** 函数名称:void Time2Init(unsigned char TimeValue)
 ** 函数功能:定时器2
 ** 输入参数:unsigned char TimeValue  // 定时器值 _1ms _10ms _50ms
 ** 输出参数:-
 ** 函数返回:-
 ** 函数说明:-
 **************************************************************************************************/
 void Time2Init(unsigned int TimeValue)
 {
 TR2 = 0;        // 停止定时器2
 RCAP2L = TimeValue & 0xff;              // 定时器值低字节
 RCAP2H = (TimeValue>>8) & 0xff;         // 定时器值高字节
 TL2 = TimeValue & 0xff;
 TH2 = (TimeValue>>8) & 0xff;
 
 T2MOD |= 0x00;       // 采用系统12分频作为定时器时钟 配置为16位重载定时器
 ET2 = 1;        // 使能定时器2中断
 TF2 = 0;          // 首次清除中断标志
 TR2 = 1;        // 启动定时器2
 }
 
 /**************************************************************************************************
 ** 函数名称:void Time2Server(void)
 ** 函数功能:定时器2中断服务函数
 ** 输入参数:-
 ** 输出参数:-
 ** 函数返回:-
 ** 函数说明:-
 **************************************************************************************************/
 void Time2Server(void) interrupt 5
 {
 
 TR2 = 0;        // 停止定时器2
 TF2 = 0;        // 清除中断标志位
 
 // 用户代码
 if(T1) T1--;
 if(T2) T2--;
 if(T3) T3--;
 K2 = ~K2;
 // 用户代码
 
 TR2 = 1;        // 启动定时器2
 }
 
 
 使能P1.7口的输出时 P1.7口有波形输出 但并不进中断。
 | 
 |