STC12C12C5410 PCA應用
/*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置為優(yōu)先級 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;
}
評論