Tham khảo đoạn code này nhé!
PWM_ROUTINE
;BANKSEL ADCON1 ;turn off A2D
;MOVLW 0x06
;MOVWF ADCON1
MOVWF CCPR1L
MOVWF CCPR2L
BANKSEL TRISC
MOVLW D'0' ;set PORTC as all outputs
MOVWF TRISC
BANKSEL PORTC
MOVLW 0x0C
MOVWF CCP1CON
MOVLW 0x0C
MOVWF CCP2CON
MOVLW D'63' ;set highest PWM value
BANKSEL PR2 ;over this (63) is permanently on
MOVWF PR2
BANKSEL TMR2
MOVLW 0x00
MOVWF T2CON
BSF T2CON, TMR2ON ;and start the timer running
RETURN
|