logo
HomeAbout  |  Products  |  ApplicationsDownload  |  Contact Us  |  中文
 
Home-> Products-> 8-bit MCU
 
IC Induction
Develop & Tool
Application Project
Customer Service
 
Quick Coding
1 IO Ports 2 AD Converter
3 Timers 4 Capture
5 Compare 6 PWM 7 Interval Timer and Buzzer 8 External Interrupts
9 SPI 10 UART 11 LVR 12 Watch Dog Timer
13 STOP Mode 14 HALT Mode    

6 PWM

1. Set Timer1 as 12-bit PWM operation on PB3 with int (period = 4ms, duty ratio = 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. Set Timer1 as 12-bit PWM operation on PB3 without int (period = 4ms, duty ratio = 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. Set Timer3 as 12-bit PWM operation on PD2 with int (period = 4ms, duty ratio = 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. Set Timer3 as 12-bit PWM operation on PD2 without int (period = 4ms, duty ratio = 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

Copyright © BEIJING SUNNORTH TECHNOLOGY CO., LTD Web site:mcu.sunplusmcu.com online real name:凌阳单片机
Unauthorized copy or republish to the content of this website is forbidden. Any one cannot resume on ICP备05061966号