PWM比较输出设置
1. 设置Timer1的12位PWM输出(PB3),周期4ms,占空比25%,产生中断
|
lda #$C0
sta P_TMR1_DutyPeriod ;set duty and period initial value first Set duty value
lda #$00
sta P_TMR1_PWMPeriod ;Set Period value
lda #$18
sta P_TMR1_PWMDuty ;set duty value
lda P_TMR0_1_Ctrl1
and #$0F
ora #C_T1FCS_Div_8
sta P_TMR0_1_Ctrl1 ;Set Timer1 clock source is Fsys/8
lda P_TMR0_1_Ctrl0
and #$0F
ora #C_T112B_PWM
sta P_TMR0_1_Ctrl0 ;Set Timer1 is 12-bit PWM
set P_INT_Flag1, CB_INT_T1OIF
set P_INT_Ctrl1, CB_INT_T1OIE
cli
|
2.设置Timer1的12位PWM输出(PB3),周期4ms,占空比25%,不产生中断
|
lda #$70
sta P_TMR1_DutyPeriod ;set duty and period initial value first Set duty value
lda #$00
sta P_TMR1_PWMPeriod ;Set Period value
lda #$FF
sta P_TMR1_PWMDuty ;set duty value
lda P_TMR0_1_Ctrl1
and #$0F
ora #C_T1FCS_Div_8
sta P_TMR0_1_Ctrl1 ;Set Timer1 clock source is Fsys/8
lda P_TMR0_1_Ctrl0
and #$0F
ora #C_T112B_PWM
sta P_TMR0_1_Ctrl0 ;Set Timer1 is 12-bit PWM
|
3.设置Timer3的12位PWM输出(PD2),周期4ms,占空比25%,产生中断
|
lda #$C0
sta P_TMR3_DutyPeriod ;set duty and period initial value first Set duty value
lda #$00
sta P_TMR3_PWMPeriod ;Set Period value
lda #$18
sta P_TMR3_PWMDuty ;set duty value
lda P_TMR2_3_Ctrl1
and #$0F
ora #C_T3FCS_Div_8
sta P_TMR2_3_Ctrl1 ;Set Timer3 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$0F
ora #C_T312B_PWM
sta P_TMR2_3_Ctrl0 ;Set Timer3 is 12-bit PWM
set P_INT_Flag1,CB_INT_T3OIF
set P_INT_Ctrl1,CB_INT_T3OIE
cli
|
4.设置Timer3的12位PWM输出(PD2),周期4ms,占空比25%,不产生中断
|
lda #$C0
sta P_TMR3_DutyPeriod ;set duty and period initial value first Set duty value
lda #$00
sta P_TMR3_PWMPeriod ;Set Period value
lda #$18
sta P_TMR3_PWMDuty ;set duty value
lda P_TMR2_3_Ctrl1
and #$0F
ora #C_T3FCS_Div_8
sta P_TMR2_3_Ctrl1 ;Set Timer3 clock source is Fsys/8
lda P_TMR2_3_Ctrl0
and #$0F
ora #C_T312B_PWM
sta P_TMR2_3_Ctrl0 ;Set Timer3 is 12-bit PWM
set P_INT_Flag1,CB_INT_T3OIF
|