打印

请教PIC16F616单片机PWM死区设置问题

[复制链接]
4277|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tstdy2008|  楼主 | 2011-7-11 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tstdy2008 于 2011-7-13 08:15 编辑

我按照手册上的说明设置,可就是无法调试出死区的延时,请用过PIC16F616的朋友给指点下,怎么设置?是否只是设置PWM1CON这个寄存器就可以了呢?谢谢! PIC16F616中文资料.pdf (1.88 MB)
沙发
yewuyi| | 2011-7-11 22:42 | 只看该作者
既然说是按照手册,就应该把手册编号或者是手册直接传上来,并说清楚是那一页.

这样才便于别人了解问题和回答问题。

使用特权

评论回复
板凳
tstdy2008|  楼主 | 2011-7-13 08:16 | 只看该作者
见102-103页.谢谢!

使用特权

评论回复
地板
251566208| | 2011-7-13 08:40 | 只看该作者
在半桥模式下,可采用数字可编程死区延时来避免出现
损坏逆变桥功率开关管的直通电流。在信号从无效状态
切换到有效状态时增加延时。请参见图10-16。
PWM1CON 寄存器(寄存器10-3)的低7 位以单片机
指令周期(TCY 或4 TOSC)为单位设置延时。
PDC<6:0>可以用来设置死区

使用特权

评论回复
5
XIEYUANBIN| | 2011-7-13 08:53 | 只看该作者
首先你要把PWM设置成半桥或全桥输出,这样死区时间才有意义。

使用特权

评论回复
6
tstdy2008|  楼主 | 2011-7-14 08:48 | 只看该作者
对,我都是这样设置的,我也反复推敲了这几句话,还是想不出是什么原因,那麻烦您给看下程序,或者我的设置哪里不合理.

使用特权

评论回复
7
tstdy2008|  楼主 | 2011-7-14 08:53 | 只看该作者
这个是部分程序,因为太多,所以只有部分程序,麻烦给看下,谢谢!
MAIN          CLRF     COUNT3
              CLRF     COUNT2
              CLRF     COUNT1
              CLRF     COUNT0
              BSF      STATUS,RP0
              MOVLW    000H
              MOVWF    INTCON
              MOVLW    00H
              MOVWF    PIE1
              BCF      STATUS,RP0        ;A口初始化
              CLRF     PORTA
              BSF      STATUS,RP0
              CLRF     PR2
              CLRF     ANSEL             ;A口为数字I/O
              MOVLW    028H
              MOVWF    TRISA             ;A口<5:3>为输入 <4,2:0>为输出
              BCF      STATUS,RP0        ;C口初始化
              CLRF     PORTC
              BSF      STATUS,RP0
              MOVLW    0FH               ;C口<3:0>为模拟输入端口 <5:4>为数字I/O
              MOVWF    ANSEL
              MOVLW    0FH               ;C口<3:0>为输入 <5:4>为输出
              MOVWF    TRISC     
              BCF      STATUS,RP0



RUNMOTOR      BSF      STATUS,RP0
              BSF      TRISC,5           ;C口的第5位(PWM)口设为输入
              BSF      TRISC,4           ;C口的第4位(PWM)口设为输入
              MOVLW    3EH               ;PWM周期=[(PR2)+1]*4*TOSC(时钟周期)*(TMR2预分频值)=1/16K HZ
              MOVWF    PR2
              BCF      STATUS,RP0
              MOVLW    38H
              MOVWF    CCPR1L            ;占空比为90%=(CCPR1L:CCP1CON<5:4>)/[4*(PR2+1)]
              MOVLW    0BCH              ;设定PWM半桥输出
              MOVWF    CCP1CON
              MOVLW    06H
              MOVWF    PWM1CON           ;死区延时6US
              BCF      PIR1,1
              MOVLW    04H
              MOVWF    T2CON             ;启动TIMER2
   TEST       BTFSS    PIR1,TMR2IF
              GOTO     TEST         
              BSF      STATUS,RP0
              BCF      TRISC,5           ;C口第5位输出
              BCF      TRISC,4           ;C口第4位输出
              BCF      STATUS,RP0
    ;          CALL     DELAY100MS
              BCF      PIR1,1
              BSF      COUNT3,0
              GOTO     $

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

37

帖子

1

粉丝