MBS Lab 11
MBS Lab 11
LAB WORK - 11
Microprocessor Based System
Spring/Fall/Summer 20__
Student Name SID Marks
Marks Distribution:
CLO_2
Tasks Total Marks
Marks Obtained
PWM Assembly Code. 3
Task Proteus simulation. 2
Home Assignment. 2
Hardware Working. 3
Total Marks 10
DATE: ______________________
Remarks: ________________________________________________________________
Microprocessor Based System Instructor:
College of Engineering Ashar Ali Qureshi
PAF-Karachi Institute of Economics & Technology asharali.qureshi@pafkiet.edu.pk
Page 2 of 4
OBJECTIVE #1
Make a program that will create a 2.5 KHz PWM frequency with a 75% duty cycle on the
CCP1 pin.
Example Code:
LIST P=PIC18F452, F=INHX32, N=0, ST=OFF, R=HEX ; INCLUDE CONTROLLER TYPE
#include P18F452.INC ; INCLUDE CONTROLLER FILE
; FUSE BIT SETTINGS
CONFIG OSC = HS, OSCS = OFF ; HS=HIGH OSCILATOR
CONFIG WDT = OFF ; WATCH DOG TIMER OFF
CONFIG PWRT = ON, BOR = OFF ; POWER UP TIMER ON
; BROWN OUT RESET VOLTAGE OFF
CONFIG DEBUG = OFF, LVP = OFF, STVR = OFF ; DEBUG OFF
; LOW VOLTAGEPROGRAMMING OFF
ORG 0X00 ; STARTING ADDRESS
CLRF CCP1CON ; CLEAR CCP1CON REG
MOVLW D'249'
MOVWF PR2 ; FREQUENCY
MOVLW D'186' ; 75% DUTY CYDLE
MOVWF CCPR1L
BCF TRISC, CCP1 ; MAKE PWM PIN AN OUTPUT
MOVLW 0x01 ; TIMER2, 4 PRESCALE, NO
; POSTSCALER
MOVWF T2CON
MOVLW 0x3C ; PWM MODE, 11 FOR DC1B1: B0
MOVWF CCP1CON
CLRF TMR2 ; CLEAR TIMER2
BSF T2CON, TMR2ON ; TURN ON TIMER2
AGAIN BCF PIR1, TMR2IF ; CLEAR TIMER2 FLAG
OVER BTFSS PIR1, TMR2IF ; WAIT FOR END OF PERIOD
BRA OVER
GOTO AGAIN ; CONTINUE
#INCLUDE<DELAY_20MHZ.ASM> ; DELAY FILE
END ; END PROGRAM
Lab Assignment: CLO_2
• Make a program that will generate waves of 1.5 KHz frequency with different duty cycle (DC) as follows:
1) 25% 2) 50%
• Make a program that will generate waves of 50% duty cycle with different frequencies as follows:
1) 1KHz 2) 2.5KHz
Submission Details:
• Lab manual
• Print of code of all tasks in assembly language.
• Proteus simulation, screen shot of wave forms.
• Code simulate on trainer kit.