0% found this document useful (0 votes)
78 views20 pages

Tata 1

The document discusses the architecture and PWM generation capabilities of the PIC18F4431 microcontroller. It describes the microcontroller's features such as 8-bit architecture, I/O ports, timers, and ADC channels. It then focuses on the microcontroller's PWM generation using either the CCP module or PWM module. Details are provided on how to configure the CCP module's control registers to set the PWM period and duty cycle using Timer 2. Steps are outlined for programming the CCP module to generate PWM signals.

Uploaded by

vamsidhar999
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views20 pages

Tata 1

The document discusses the architecture and PWM generation capabilities of the PIC18F4431 microcontroller. It describes the microcontroller's features such as 8-bit architecture, I/O ports, timers, and ADC channels. It then focuses on the microcontroller's PWM generation using either the CCP module or PWM module. Details are provided on how to configure the CCP module's control registers to set the PWM period and duty cycle using Timer 2. Steps are outlined for programming the CCP module to generate PWM signals.

Uploaded by

vamsidhar999
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

PIC18F4431

ARCHITECTURE AND PWM


ARCHITECTURE
PIC18F4431 IS AN 8 BIT MICROCONTROLLER
IT IS A 40 PIN IC IN PDIP PACKAGE
IT HAS 5 I/O PORTS NAMED AS A,B,C,D,E
IT HAS 4 TIMERS
9 ADC CHANNELS
PIN DIAGRAM
WHY PIC18F4431?
SPECIAL FEATURES OF THIS FAMILY
1) 14 BIT RESOLUTION PWM MODULE
2) HIGH SPEED ADC
3) MOTION FEEDBACK
THE ABOVE DESIGN CHANGES IN THIS FAMILY OF CONTROLLERS MAKES
THEM AS A LOGICAL CHOICE FOR THE MOTOR AND POWER CONTROL
APPLICATIONS

PWM
PWM GENERATION IN PIC18F4431 CAN BE ACHIEVED THROUGH TWO MODULES:
I)CCP MODULE
II)PWM MODULE
8 PWM CHANNELS AND 3 CCP MODULES(FOR PWM GENERATION)
FEATURES OF CCP MODULE:
1) CCP MODULES PWM CHANNEL IS ASSOCIATED WITH TIMER2
2) THE PINS USED FOR PWM ARE ALSO USED FOR OTHER OPERATIONS SUCH AS
CAPTURE AND COMPARE. HENCE THIS MODULE IN PIC IS CALLED AS CCP
MODULE(CAPTURE, COMPARE , PWM)
3) ENABLING PWM MODE FOR THESE PINS IS CONTROLLED BY THREE REGISTERS:
I) CCPXCON
II)CCPRXL
III)CCPRXH
CCPXCON
IT IS AN 8 BIT CONTROL REGISTER


DC1B1
DUTY CYCLE BIT1. USED IN PWM MODE ONLY
BIT1 OF THE 10 BIT DUTY CYCLE REGISTER IN PWM
DC1B2
DUTY CYCLE BIT0(LSB). USED IN PWM MODE ONLY. THE CPXL REGISTER IS
USED AS B2 TO B9
OF THE 10 BIT REGISTER USED FOR DUTY CYCLE IN PWM

CCPXCON
CCP1M3 CCP1M0
THESE BITS ARE USED TO SELECT THE MODE OF OPERATION OF CCP MODULE
FOR CCP1 TO OPERATE IN PWM MODE THESE BITS MUST BE LOADED WITH
11XX
CCPRX
CCPR IS A 16 BIT REGISTER. IT IS DIVIDED INTO TWO 8 BIT REGISTERS:
1)CCPRXL (LSB OF CCPR)
2)CCPRXH(MSB OF CCPR)
CCPRXL FORMS THE REMAINING 8 BITS OF THE 10 BITS USED FOR
MENTIONING THE DUTY CYCLE IN PWM MODE.
STEPS OF PWM PROGRAMMING(FOR CCP
MODULE)
IMPORTANT FACTORS OF GENERATING PULSES WITH VARIABLE WIDTHS
1)PERIOD OF THE CYCLE
2)DUTY CYCLE OF PWM
PWM MODE USES TIMER2 FOR ITS OPERATIONS.
HOW TO DECLARE PERIOD OF PULSE ?
AS WE ALREADY KNOW HOW TO DECLARE DUTY CYCLE OF PULSE. THE OTHER
IMPORTANT FACTOR REMAINING IS PERIOD. IT IS DECLARED BY USING PR2
REGISTER.
TIMER2 USES PR2 REGISTER TO GENERATE PULSES OF REQUIRED PERIOD
T(PWM)=(PR2+1)*N*4*TOSC
WHERE T(PWM) IS THE DESIRED TIME PERIOD
TOSC IS THE INVERSE OF THE CRYSTAL FREQUENCY
N IS THE PRESCALAR 1 OR 4 OR 16 SET BY THE T2CON REGISTER OF TMR2
PR2 VALUE CAN BE DERIVED FROM THE ABOVE EXPRESSION

DC1B1 AND DC1B2 FORMS THE DECIMAL PART OF THE DUTY CYCLE.

DC1B1:DC1B2 %
00 .0
01 0.25
10 0.5
11 0.75
CCPRXL FORMS THE INTEGER PART OF THE DUTY CYCLE
FOR EXAMPLE TO GENERATE A 25% DUTY CYCLE WITH PR2=50
0.25X50=12.5 WE MAKE CCPR1L=12(DECIMAL)
DC1B1:DC2B2=10(BINARY)


STEPS OF PWM PROGRAMMING(FOR CCP
MODULE)
1)SET THE PWM PERIOD USING PR2 REGISTER
2)SET 8 MSBITS OF DUTY CYCLE USING CCPRXL
3)SET CCP PIN AS AN OUTPUT
4)SET THE PRESCALAR OF TIMER2 USING T2CON
5)CLEAR THE TIMER2
6)CONFIGURE THE CCPXCON REGISTER IN PWM MODE
7)START TIMER2
WE HAVENT YET DISCUSSED ABOUT STEPS 4, 5 AND 7
T2CON


HOW TO START THE TIMER2?
BY USING T2CKSP1:T2CKSP2 WE CAN SET THE PRESCALAR
BY MAKING D2 BIT OF T2CON REGISTER HIGH TIMER2 STARTS
TO CLEAR THE TIMER2 MAKE TMR2 REGISTER TO ZERO


PIR1(PERIPHERAL INTERFACE FLAG
REGISTER 1)
A



BY USING ABOVE REGISTER WE CAN KNOW THE END OF ONE PULSE BY
LOOKING INTO TMR2IF
TMR2IF =1 AT THE END OF EACH PERIOD OF PULSE
REFERENCES
DATASHEET OF PIC18F4431
PIC MICROCONTROLLER AND EMBEDDED SYSTEMS BY MAZIDI
PWM INVERTERS PRESENTATION BY ISREAL TECHNION UNIVERSITY
PROGRAM FOR PWM(FOR CCP MODULE)
#INCLUDE<P18F4431.H>
VOID MAIN()
{ CCP1CON=0; //CLEAR CCP1CON REG
PR2=150; //PERIOD OF PULSE
TRISCBITS.TRISC2=0; //PIN C2 AS OUTPUT
CCPR1L=75; //DUTY CYCLE
T2CON=0X01; //SET PRESCALAR AS 4
TMR2=0; //CLEAR TIMER
CCP1CON=0X0C; //SET CCP MODULE IN PWM MODE
T2CONBITS.TMR2ON=1; //START THE TIMER2
WHILE(1)
{ PIR1BITS.TMR2IF=0; //RESET THE TMR2 INTERRUPT FLAG
WHILE(PIR1BITS.TMR2IF==0); } }
PWM SIGNAL FOR THE ABOVE PROGRAM










DUTY CYCLE=50%


THANK YOU

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy