[單晶片] - Keil C使用PCA 功能介紹 + Capture HC-SR04感測資料
此晶片使用MPC82G516 這裡介紹PCA的使用方法 PCA 主要有四種不同的應用方法 16-bit Software Timer Mode Capture Mode High Speed Output Mode PWM Mode 有以上四種不同的模式。 第一種模式 16-bit Software Timer Mode 可以將此當成額外的計數器,並且擁有16bit的大小 觸發中斷方式為,內部計數器CH CL 和設定值 CCAPnH CCAPnL 相同時 特別之處是本身計數器會不停往上數 因此目標的值也需要不停增加 以下為範例 製造P10腳位輸出周期2ms 方波 long PCA0T = 1843; //PCA0 目標值 //設定 因石英震盪體為22.1184 /12 = 1843200 /s 1843約=1ms int PAC0Internal =1843;//設定每一次間隔的大小 1843=1ms CCAP0L=0xff&(PCA0T); //設定首次要追的目標,將值丟入暫存 CCAP0H=0xff&(PCA0T>>8); CCAPM0=0x49; //開啟Comparator 和 中斷 和 MATn CL=0x00; //歸零 CH=0x00; AUXIE = 0x04; //PCA interrupt CCON=0x40; //開啟PCA計數 void PCATimer(void) interrupt 10 { if(CCF0) { PCA0T =PCA0T+PAC0Internal ; if(PCA0T>65536) PCA0T-=65536; //數字超過就減去65536 = 16bit CCAP0L=0xff&(PCA0T); CCAP0H=0xff&(PCA0T>>8); P10=~P10; // 製造一個方波周期為2ms,