我要使用30F2020的比较器模块,具体想法是选择6脚CMP2C作为同相端输入脚,向CMPDAC2写入一个固定值作为比较器反向输入端输入电压值,当同相输入端电压大于反相输入端电压时,触发PWM2限流,限流PWM2。确定6脚输入信号正确无误,PWM2信号也可以输出,但限流不起作用,请问给位是什么原因,不胜感激!!!
具体程序:
mov #0x0001, w1 ;PWM2控制寄存器设置 ;
mov w1, PWMCON2
mov #0xc800, w1 ;PWM2引脚设置
mov w1, IOCON2
mov #2500, w1 ;定义死区时间
mov w1, DTR2
mov w1, ALTDTR2
mov #0, w1
mov w1, PHASE2
mov #24000, w1 ;PWM2周期设置
mov w1, PTPER
mov #0x8000, w1 ;PWM控制寄存器
mov w1, PTCON
clr LATE
mov #0XFF00, w1
mov w1, TRISE
mov #20000,w0
mov w0,PDC2 ;占空比
;PWM2限流设置
mov #0x03a3,w0;0000 0011 1010 0011
mov w0,FCLCON2;限流设置
;比较器
mov #0x8083,w0;1000 0000 1000 0011
mov w0,CMPCON2
mov #0x02ff,w0
mov w0,CMPDAC2
loop:
nop
bra End_Loop
End_Loop:
bra loop
帮我看一下哪里设置还有不对的,我实在想不出来了。6脚即有CMP2C,又有CMP3A这个还用区分吗?请各位指点一下。
此帖出自
小平头技术问答
一周热门 更多>