/********STC12C5410AD的PWM使用***********************/
/*PWM波频率=Fosc/2/256 */
void STC_PCA(void)
{
CMOD=0x00; //set PCA timer pca2
CL=0x00;
CH=0x00;
// 初始化 PCA
CCON = 0x04;// 发动 PCA2
CCAPM2 = 0x31;// PCA 的模块 0 正、负跳均捕获,答应中止,右侧码盘输入
// 初始化相关中止
IE = IE|0x40; // PCA 中止
IP = IP|0x40;// PCA置为优先级 1
CR=1; //开端PCA 定时器
//EA=1;
}
/********************************************/
/********************************************/
/* PCA 中止服务 */
/* 阐明: CCF2、1 用于码盘输入*/
/**/
/********************************************/
void PCA_Int(void) interrupt 6
{
EA=0;
//Key_Beep();
if(CF == 1)
{
CF = 0;//如果有信号就进入扑捉中止
}
if(CCF2 == 1)
{
// 码盘信号输入
CCF2 = 0;
mapan_num++;// 每来一个脉冲 +1
pca_count_1s++; //用于计算速度用
}
EA=1;
}