C8051F330 PCA模块求教

2020-02-05 08:54发布

我这几天在弄F330里的PCA,330的PCA有三个模块,但共用一个定时计数器,我拿一个模块来测量直流电机的速度,另一个模块输出PWM波用来控制电机速度,想做做PID控制试验,但发现这两个功能好想不能同时共存,PCA中断处理流程如下,大家看看,我是哪没弄对,现象是要么只能测速,要么只能输出PWM波
;........PCA中断处理程序......................

PCA_ISR:  PUSH  ACC
               PUSH  PSW
               JBC   CCF0,CEX0_OK  ;判断是否CEX0要求中断
PWM_OK: JBC   CCF1,CEX1_OK         ;判断是否CEX1要求中断
PCA_RETI:POP   PSW
               POP   ACC
               RETI
CEX0_OK: MOV   PCA0CPH0,PWM_BUF ;输出PWM波
              JMP   PCA_RETI
CEX1_OK: MOV   PCA0L,#00H
               MOV   PCA0H,#00H
               MOV   PCA_L,PCA0CPL1  ;提取电机转速
               MOV   PCA_H,PCA0CPH1
              JMP   PCA_RETI
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。