//让定时器0工作在IT模式下 最大应该可以为SYSCLK呀 但是我却实现不了 代码有问题 请指教
#include "stc12.h"
void init_Timer0();
//sbit d1=P0^0;
//unsigned char t=0;
void main()
{
CCON=0; //PCA控制寄存器初始化,PCA定时器停止运行,清楚CF标志位,清除全部单元中断标志?
CL=0;
CH=0;
CMOD=0x04; //设定时钟为定时器0的溢出次数
CCAP0H=CCAP0L=0x80; //PWM0输出占空比为50%
AUXR=0x80; //使定时器0工作在1T模式 即不分频 12倍频
CCAPM0=0x42; //PCA不中断 //PCA工作在8bit模式
//PCA时钟溢出不能使位
//PCA_PWM0=0x03; //这个不可以有,因为前面设定了工作是在8位模式
init_Timer0();
CR=1;//PCA定时启动
while(1);
}
void Timer0() interrupt 1
{
TL0=254;//赋初值
TH0=255;//赋初值
/* t++;
if(t==50)
t=0,d1=~d1;//小灯用来测试 */
}
void init_Timer0()//定时器0初始化
{
TL0=254;//
TH0=255;
TMOD=0x01;//方式1
EA=1; //开总中断
ET0=1; //开定时器中断
TR0=1; //开始计数
// d1=1;
}
|