You are on page 1of 3

Q.

generate pwm signal at 10khz, 20% duty cycle,


8MHz crystal

ORG.

00H

GOTO

MAIN

ORG. 04H
GOTO

main

MAIN:
BANKSEL
CLRF
digital i/o

ANSEL
ANSEL

CLRF

ANSELH

BANKSEL

CCP1CON

//configure all ports

MOVLW 04H
MOVWF CCP1CON

//configure ccp1con

BANKSEL

PR2

MOVLW C7H
MOVWF PR2

//PR2=C7H

BANKSEL CCPR1H
MOVLW 0AH
MOVWF CCPR1H

BANKSEL

//CCPR1H=0AH

T2CON

MOVLW 00H
MOVWF T2CON

//T2CON=00H

//NOW ENABLE INTERRUPTS OF MODULE

BANKSEL
BSF

PIE1

PIE1,CCP1IE

BSF
PIE1,TMR2IE
INTERRUPT

//CCP1IE ENABLE
//ENABLE TMR2

BANKSEL

PIR1

BCF

PIR1,CCPIF

//CLEAR CCP1IF

BCF

PIR1,TMR2IF

//CLEAR TMR2 FLAG

BSF
INTCON,PEIE
INTERRUPT
BSF

INTCON,GIE //ENABLE

BANKSEL
BSF

GIE

T2CON

T2CON,TMR2ON

MLOOP: GOTO
END

//ENABLE PERIPHERAL

MLOOP

//TIMER2 ON

//INF. LOOP

You might also like