SlideShare a Scribd company logo
1 of 34
PIC18 TIMER
PROGRAMMING
IN ASSEMBLY AND C
INTRODUCTION
• PIC18 FAMILY HAS 2 TO 5 TIMERS DEPENDING ON FAMILY MEMBER
• THEY ARE TIMERS 0,1,2,3 AND 4
• THESE ARE USED TO GENERATE TIME DELAY OR USED AS COUNTERS
TO COUNT EVENTS HAPPENING OUTSIDE THESE MICRO DELAYS
• MANY OF THE PIC18 TIMERS ARE 16 BITS WIDE BECAUSE PIC18 HAS
8-BIT ARCHITECHTURE EACH 16-BIT TIMER IS ACCESSED AS TWO
SEPARATE REGISTERS OF LOW BYTE AND HIGH BYTE
• EACH TIMER ALSO HAS CONTROL REGISTER FOR SETTING MODES OF
OPERATION
TIMER AS COUNTER AND DELAY GENERATOR
• EVERY TIMER NEEDS A CLOCK PULSE
• IF IT IS INTERNAL CLOCK SOURCE THEN ONE FORTH OF
FREQUENCY OF CRYSTAL OSCILLATOR ON OSC1 AND OSC2 PINS
IS FED INTO TIMER
• THERFORE IT IS USED FOR TIME DELAY GENERATION AND FOR
THAT REASON IS CALLED A TIMER
• WHEN AN EXTERNAL CLOCK IS CHOSEN WE FEED PULSES
THROUGH ONE OF PIC18’S PINS THIS IS CALLED AS COUNTER
TIMER 0 REGISTERS AND PROGRAMMING
• TIMER 0 CAN BE USED AS 8-BIT OR 16-BIT TIMER
• THE 16 BIT TIMER IS ACCESSED AS LOW BYTE AND HIGH BYTE
• THE LOW BYTE TIMER IS CALLED TMR0L AND HIGH BYTE
REGISTER IS REFERRED TO AS TMR0H
• THESE REGISTERS CAN BE ACCESSED LIKE ANY OTHER SPECIAL
FUNCTION REGISTERS
• FOR EXAMPLE “MOVWF TMR0L”
TIMER0 HIGH AND LOW REGISTERS
T0CON(TIMER0 CONTROL) REGISTER
• EACH TIMER HAS A CONTROL REGISTER TO SET VARIOUS TIMER
OPERATION MODES
• T0CON IS AN 8-BIT REGISTEER USED FOR CONTROL OF TIMER 0
• THE BITS FOR T0CON ARE SHOWN IN NEXT SLIDE
T0CS(TIMER0 CLOCK SOURCE)
• THIS BIT IN CONTROL REGISTER IS USED TO DECIDE WHETHER CLOCK
SOURCE IS INTERNAL OR EXTERNAL
• IF T0CS=0 THEN FOSC/4 IS USED AS CLOCK SOURCE WHERE THE
TIMERS ARE USED FOR TIME DELAY GENERATION
• IF T0CS=1 THE CLOCK SOURCE IS EXTERNAL AND COMES FROM
RA4/T0CKI WHICH IS PIN6 ON PIC1818F4580/4520
• WHEN CLOCK SOURCE COMES FROM AN EXTERNAL SOURCE TIMER IS
AN EVEN COUNTER
FIND VALUE OF T0CON IF WE WANT TO PROGRAM TIMER0 IN 16-BIT MODE NO
PRE-SCALER USE PIC18’S FOSC/4 CRYSTAL OSCILLATOR FOR CLOCK SOURCE,
INCREMENT ON POSITIVE EDGE
FIND VALUE OF T0CON IF WE WANT TO PROGRAM TIMER0 IN 16-BIT MODE NO
PRE-SCALER USE PIC18’S FOSC/4 CRYSTAL OSCILLATOR FOR CLOCK SOURCE,
INCREMENT ON POSITIVE EDGE
T0CON=0000 1000
INTCON(INTERRUPT CONTROL REGISTER) CONTAINS TMR01F
FLAG
• TMR01F BIT IS PART OF INTERRUPT CONTROL REGISTER WHEN
TIMER REACHES ITS MAXIMUM VALUE OF ‘FFFF H’ IT ROLLS
OVER TO ‘0000 H’ AND TMR01F IS SET TO 1
TIMER0 OVERFLOW FLAG
16-BIT TIMER PROGRAMMING
FOLLOWING ARE OPERATIONS AND CHARACTERISTICS OF 16-BIT
MODE:
1. IT IS A 16-BIT TIMER THERFORE IT ALLOWS VALUES OF 0000 TO FFFFH TO BE LOADED
INTO TMR0H AND TMR0L
2. AFTER THEY ARE LOADED WITH A 16-BIT INITIAL VALUE, THE TIMER MUST BE
STARTED.THIS IS DONE BY “BSF T0CON,TMR0ON” FOR TIMER0
3. AFTER TIMER IS STARTED IT STARTS TO COUNT UP.IT COUNTS UP UNTIL IT REACHES ITS
LIMIT OF FFFFH.WHEN IT ROLLS OVER FROM FFFFH TO 0000H, IT SETS HIGH A FLAG BIT
CALLED TMR01F.THIS TIMER FLAG CAN BE MONITORED.WHEN THI TIMER FLAG IS RAISED
ONE OPTION WOULD BE TO STOP THE TIMER
4. AFTER TIMER REACHES ITS LIMIT AND ROLLS OVER,IN ORDER TO REPEAT THE PROCESS
TMR0H AND TMR0L MUST BE LOADED WITH ORIGINAL VALUE,AND THE TMR01F FLAG
MUST BE RESET TO 0 FOR NEXT ROUND
STEPS TO PROGRAM TIMER0 IN 16-BIT
MODE
TO GENERATE TIME DELAY USING TIMER0 MODE 16 THE FOLLOWING STEPS ARE TAKEN:
• LOAD THE VALUE INTO T0CON REGISTER INDICATING WHICH MODE(8 OR 16 BIT) IS
TO BE USED AND THE SELECTED PRE-SCALER OPTION
• LOAD REGISTER TMR0H FOLLOWED BY TMR0L WITH INITIAL COUNT VALUES
• START TIMER WITH INSTRUCTION “BSF T0CON,TMR0ON”
• KEEP MONITORING TIMER FLAG TO SEE IF IT IS RAISED.GET OUT OF THE LOOP WHEN
TMR01F BECOMES HIGH
• STOP TIMER WITH INSTRUCTION “BCF T0CON,TMR0ON”
• CLEAR THE TMR0F FLAG FOR THE NEXT ROUND
• NOW AGAIN LOAD TMR0H FOLLOWED BY TMR0L WITH INITIAL COUNT VALUES AND
REPEAT THE STEPS
• WE CANNOT LOAD TMR0H FIRST BECAUSE THE VALUE OF TMR0H IS KEPT IN
TEMPORARY REGISTER AND WRITTEN TO TMR0H WHEN TMR0L IS LOADED.THIS WILL
PREVENT ANY ERROR IN COUNTING IF TMR0ON FLAG IS SET HIGH
FINDING VALUES TO BE LOADED INTO
TIMER
ASSUMING XTAL=10MHZ AND NO PRESCALER VALUES :
1. DIVIDE THE DESIRED TIME DELAY BY 0.4 𝜇𝑠𝑒𝑐
2. PERFORM 65536-N WHERE N IS DECIMAL VALUE OF WHAT WE
GOT IN STEP 1
3. CONVERT THE RESULT INTO HEX AND LOAD THE HIGHER INTO
HIGHER BITS AND LOWER VALUE INTO LOWER BITS
PRESCALER AND GENERATING TIME DELAY
• SIZE OF TIME DELAY DEPENDS ON TWO FACTORS: 1)CRYSTAL FREQUENCY
2)TIMERS 16-BIT REGISTER
BOTH OF THEM CANNOT BE CONTROLLED BY PIC18 PROGRAMMER
• IF THE LARGEST DELAY ACHIEVED BY THE TIMER USING TMR0L AND TMROH IS NOT
ENOUGH THEN WE USE PRESCALER OPTION IN T0CON REGISTER TO INCREASE THE
DELAY Y REDUCING THE PERIOD
• THE PRESCALER OPTION ALLOWS US TO DIVIDE INSTRUCTION CLOCK BY A FACTOR
OF 2 TO 256
• WITH PRESCALER BIT ENABLED WE CAN DIVIDE THE INSTRUCTION CLOCK BY 4
BEFORE IT IS FED INTO TIMER0
• LOWER 3 BITS OF T0CON REGISTER GIVES THE OPTIONS OF THE NUMBERS WE CAN
DIVIDE BY WHERE THE LOWEST NUMBER IS 2 AND HIGHEST NUMBER IS 256
8-BIT MODE PROGRAMMING OF TIMER0
• IN 8-BIT MODE TIMER ALLOWS ONLY VALUES FROM 00 TO FFH
TO BE LOADED INTO TMR0L
• AFTER TIMER IS STARTED IT STARTS TO COUNT UP BY
INCREMENTING TMR0L REGISTER
• IT COUNTS UP UNTIL IT REACHES LIMIT FFH
• WHEN IT ROLLS OVER FROM FFH TO 00H IT SETS HIGH TMR01F
STEPS TO PROGRAM 8-BIT MODE OF
TIMER0
1. LOAD T0CON VALUE REGISTER INDICATING 8-BIT MODE IS SELECTED
2. LOAD TMR0L REGISTERS WITH INITIAL COUNT VALUE
3. START THE TIMER
4. KEEP MONITORING TIMER FLAG (TMR01F) TO SEE IF IT IS RAISED.GET OUT OF THE LOOP WHEN
TMR01F BECOMES HIGH
5. STOP TIMER WITH INSTRUCTION “BCF T0CON,TMR0ON”
6. CLEAR TMR01F FLAG FOR NEXT ROUND
7. GO BACK TO STEP2 TO LOAD TMR0L AGAIN
8. WHEN USING THE 8-BIT MODE TMR0L REGISTER IS LOADED AND TMR0H HAS A ZERO VALUE
DURING COUNT UP
ASSEMBLERS AND NEGATIVE VALUES
• WHEN TIMER IS IN 8-BIT MODE WE CAN LET ASSEMBLER
CALCULATE VALUE FOR TMR0H
• EXAMPLE: MOVLW, -D’100’
IN THIS INSTRUCTION THE ASSEMBLER WILL CALCULATE -
100=9C AND MAKE WREG =9C IN HEX
TIMER1 PROGRAMMING
• IT IS A 16-BIT TIMER AND ITS 16-BIT REGISTER IS SPLIT INTO 2 BYTES TMR1L
AND TMR1H
• TIMER BIT CAN BE PROGRAMMED IN 16-BIT MODE ONLY
• TIMER 1 ALSO HAS TICON(TIMER1 CONTROL) REGISTER IN ADDITION TO
TMR1F(TIMER1 INTERRUPT FLAG)
• TMR1F FLAG BIT GOES HIGH WHEN TMR1H:TMR1L OVERFLOWS FROM FFFFH
TO 0000H
• TIMERQ ALSO HAS PRESCALER OPTIONS BUT IT ONLY SUPPORTS FACTORS OF
1:1,1:2,1:4,1:8
PIR1(INTERRUPT CONTROL REGISTER 1) CONTAINS
TMR1F FLAG
COUNTER PROGRAMMING
• TIMERS CAN ALSO BE USED AS COUNTERS TO COUNT EVENTS
HAPPENING OUTSIDE PIC18
• WHEN TIMER IS USED AS COUNTER IT IS A PULSE OUTSIDE PIC18
THAT INCREMENTS TH,TL REGISTERS
• IN COUNTER MODE THE REGISTERS SUCH AS TMR0H,TMR0L
AND T0CON ARE SAME AS FOR THE TIMERS DISCUSSED
PREVIOUSLY
T0CS BIT IN T0CON REGISTER
• USED TO COUNT EVENTS OUTSIDE PIC
• INCREMENTS TMR0H AND TMR0L REGISTERS
• T0CS IN T0CON REGISTER DETERMINES CLOCK SOURCE
• IF T0CS = 1, TIMER IS USED AS COUNTER
• COUNTS UP AS PULSES ARE FED FROM PIN RA4 (T0CKI)
• If TMR1CS=1, TIMER1 COUNTS UP AS CLOCK PULSES ARE FED
INTO PIN RC0
USING EXTERNAL CRYSTAL
FOR TIMER1 CLOCK
TIMER1 COMES WITH TWO OPTIONS,
1. CLOCK FED INTO T1CKI
T1OSCEN=0
2. CLOCK FROM A CRYSTAL CONNECTED
TO T1OSI-T1OSO (additional)
• T1OSCEN=1
• 32 kHz CRYSTAL IS CONNECTED
• USED FOR SAVING POWER DURING
SLEEP MODE  DOESNOT DISABLE
TIMER1 WHILE THE MAIN CRYSTAL
IS SHUT DOWN
EXTERNAL SOURCE
INTERNALSOURCE
ACCESSING TIMER REGISTERS IN C
• IN C118 WE CAN ACCESS TIMER REGISTERS SUCH AS
TMR0H,TMR0L AND T0CON DIRECTLY USING PIC18FXXX.H
HEADER FILE
• IN ADDITION TO CRYSTAL FREQUENCY AND PRESCALER FACTOR
THE THIRD FACTOR IN DELAY CALCULATIONS IS C COMPILER
• VARIOUS C COMPILERS GENERATE DIFFERENT HEX CODE SIZES
TIMER2 PROGRAMMING
• TIMER2 IS 8-BIT TIMER
• 8-BIT REGISTER OF TIMER2 IS CALLED TMR2
• TIMER2 ALSO HAS 8-BIT REGISTER CALLED PERIOD REGISTER(PR2)
• WE CAN SET A FIXED VALUE TO PR2 AND TIMER2 WILL INCREMENT
FROM 00 TO PR2
• THEN THE EQUAL SIGNAL WILL RAISE TMR21F FLAG AND RESET TMR2
TO 00
• CLOCK SOURCE FOR TIMER 2 IS FOSC/4 WITH OPTIONS OF BOTH
PRESCALER AND POSTSCALER
• IT CANNOT BE USED AS COUNTER AS THERE IS NO EXTERNAL CLOCK
SOURCE FOR TIMER2
PIR1(PERIPHERAL INTERRUPT FLAG REGISTER 1) CONTAINS
TMR21F FLAG
T2CON(TIMER2 CONTROL) REGISTER
TIMER3 PROGRAMMING
• TIMER3 IS 16-BIT TIMER THAT CAN BE USED BOTH AS TIMER
AND COUNTER
• ITS 16-BIT REGISTER IS SPLIT INTO TWO BYTES REFERRED TO AS
TMR3L AND TMR3H
• TIMER3 CAN BE PROGRAMMED IN 16-BIT MODE ONLY AND
DOESN’T SUPPORT 8-BIT MODE
• TIMER3 HAS PRESCALER OPTIONS OF 1:1,1:2,1:4 AND 1:8
• TIMER3 FLAG (TMR31F) BIT GOES HIGH WHEN TMR3H:TMR3L
OVERFLOWS FROM FFFF TO 0000H
PIR2(PERIPHERAL INTERRUPT FLAG REGISTER 2) CONTAINS
TMR31F FLAG
T3CON(TIMER3 CONTROL) REGISTER
CONCLUSION
• THE PIC18 CAN HAVE UPTO 4 OR MORE TIMERS/COUNTERS
DEPENDING ON FAMILY MEMBERS
• TIMERS: GENERATE TIME DELAYS(USING CRYSTAL)
• COUNTERS: EVENT COUNTER(USING PULSE OUTSIDE)
• TIMERS ARE ACCESSED AS TWO 8-BIT REGISTERS, TMRLx and TMRHx
• CAN BE USED AS 8-BIT OR 16-BIT
• EACH TIMER HAS ITS OWN TIMER CONTROL REGISTER

More Related Content

What's hot

8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notesDr.YNM
 
Embedded system (Chapter 1)
Embedded system (Chapter 1)Embedded system (Chapter 1)
Embedded system (Chapter 1)Ikhwan_Fakrudin
 
Question paper with solution the 8051 microcontroller based embedded systems...
Question paper with solution  the 8051 microcontroller based embedded systems...Question paper with solution  the 8051 microcontroller based embedded systems...
Question paper with solution the 8051 microcontroller based embedded systems...manishpatel_79
 
I2C-SPI-UART Basics || Embedded System || Hariharan K
I2C-SPI-UART Basics || Embedded System || Hariharan KI2C-SPI-UART Basics || Embedded System || Hariharan K
I2C-SPI-UART Basics || Embedded System || Hariharan KHariharan Krishnan
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1Béo Tú
 
digital electronics Design of 101 sequence detector without overlapping for...
digital  electronics Design of 101 sequence detector without  overlapping for...digital  electronics Design of 101 sequence detector without  overlapping for...
digital electronics Design of 101 sequence detector without overlapping for...sanjay kumar pediredla
 
PIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTESPIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTESDr.YNM
 
PLC (Ladder Logic Diagram)
PLC (Ladder Logic Diagram)PLC (Ladder Logic Diagram)
PLC (Ladder Logic Diagram)Sisubalan Selvan
 
TRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSOR
TRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSORTRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSOR
TRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSORSubash Sambath Kumar
 

What's hot (20)

8096 microcontrollers notes
8096 microcontrollers notes8096 microcontrollers notes
8096 microcontrollers notes
 
8255 PPI
8255 PPI8255 PPI
8255 PPI
 
Interfacing 8255
Interfacing 8255Interfacing 8255
Interfacing 8255
 
Plc ppt
Plc pptPlc ppt
Plc ppt
 
Embedded system (Chapter 1)
Embedded system (Chapter 1)Embedded system (Chapter 1)
Embedded system (Chapter 1)
 
Interrupt
InterruptInterrupt
Interrupt
 
Ccp
CcpCcp
Ccp
 
8051 timer counter
8051 timer counter8051 timer counter
8051 timer counter
 
Question paper with solution the 8051 microcontroller based embedded systems...
Question paper with solution  the 8051 microcontroller based embedded systems...Question paper with solution  the 8051 microcontroller based embedded systems...
Question paper with solution the 8051 microcontroller based embedded systems...
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
I2C-SPI-UART Basics || Embedded System || Hariharan K
I2C-SPI-UART Basics || Embedded System || Hariharan KI2C-SPI-UART Basics || Embedded System || Hariharan K
I2C-SPI-UART Basics || Embedded System || Hariharan K
 
8051 programming in c
8051 programming in c8051 programming in c
8051 programming in c
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1
 
8086 microprocessor lab manual
8086 microprocessor lab manual8086 microprocessor lab manual
8086 microprocessor lab manual
 
digital electronics Design of 101 sequence detector without overlapping for...
digital  electronics Design of 101 sequence detector without  overlapping for...digital  electronics Design of 101 sequence detector without  overlapping for...
digital electronics Design of 101 sequence detector without overlapping for...
 
Assembly Language -I
Assembly Language -IAssembly Language -I
Assembly Language -I
 
PIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTESPIC MICROCONTROLLERS -CLASS NOTES
PIC MICROCONTROLLERS -CLASS NOTES
 
PLC (Ladder Logic Diagram)
PLC (Ladder Logic Diagram)PLC (Ladder Logic Diagram)
PLC (Ladder Logic Diagram)
 
TRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSOR
TRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSORTRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSOR
TRAFFIC LIGHT CONTROL SYSTEM USING 8085 MICROPROCESSOR
 
8051 ch9-950217
8051 ch9-9502178051 ch9-950217
8051 ch9-950217
 

Similar to PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C

Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Aarav Soni
 
timer counter (1).pptx
timer counter (1).pptxtimer counter (1).pptx
timer counter (1).pptxSujalKumar73
 
PIC-Chapter_10.pptx
PIC-Chapter_10.pptxPIC-Chapter_10.pptx
PIC-Chapter_10.pptxAliBzeih7
 
lecture 12 counter_microcontroller2.ppt
lecture 12 counter_microcontroller2.pptlecture 12 counter_microcontroller2.ppt
lecture 12 counter_microcontroller2.pptHebaEng
 
Timer And Counter in 8051 Microcontroller
Timer And Counter in 8051 MicrocontrollerTimer And Counter in 8051 Microcontroller
Timer And Counter in 8051 MicrocontrollerJay Makwana
 
5-Timer Mode 2 Programming-18-03-2024.pptx
5-Timer Mode 2 Programming-18-03-2024.pptx5-Timer Mode 2 Programming-18-03-2024.pptx
5-Timer Mode 2 Programming-18-03-2024.pptxRahultater4
 
Microcontroller 8051 introduction
Microcontroller 8051 introductionMicrocontroller 8051 introduction
Microcontroller 8051 introductionEngr umar
 
UNIT 5 Interfacing and Mixed Signal Controller.pptx
UNIT 5 Interfacing and Mixed Signal Controller.pptxUNIT 5 Interfacing and Mixed Signal Controller.pptx
UNIT 5 Interfacing and Mixed Signal Controller.pptxGowrishankar C
 

Similar to PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C (20)

AVRTIMER.pptx
AVRTIMER.pptxAVRTIMER.pptx
AVRTIMER.pptx
 
8051e
8051e8051e
8051e
 
TIMERS.pptx
TIMERS.pptxTIMERS.pptx
TIMERS.pptx
 
Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)
 
timer counter (1).pptx
timer counter (1).pptxtimer counter (1).pptx
timer counter (1).pptx
 
PIC-Chapter_10.pptx
PIC-Chapter_10.pptxPIC-Chapter_10.pptx
PIC-Chapter_10.pptx
 
lecture 12 counter_microcontroller2.ppt
lecture 12 counter_microcontroller2.pptlecture 12 counter_microcontroller2.ppt
lecture 12 counter_microcontroller2.ppt
 
8051 timers--2
   8051 timers--2   8051 timers--2
8051 timers--2
 
Timers of 8051
Timers of 8051Timers of 8051
Timers of 8051
 
Timer And Counter in 8051 Microcontroller
Timer And Counter in 8051 MicrocontrollerTimer And Counter in 8051 Microcontroller
Timer And Counter in 8051 Microcontroller
 
5-Timer Mode 2 Programming-18-03-2024.pptx
5-Timer Mode 2 Programming-18-03-2024.pptx5-Timer Mode 2 Programming-18-03-2024.pptx
5-Timer Mode 2 Programming-18-03-2024.pptx
 
Microcontroller 8051 introduction
Microcontroller 8051 introductionMicrocontroller 8051 introduction
Microcontroller 8051 introduction
 
Timers
TimersTimers
Timers
 
8051 ch9
8051 ch98051 ch9
8051 ch9
 
Timers
TimersTimers
Timers
 
UNIT 5.pptx
UNIT 5.pptxUNIT 5.pptx
UNIT 5.pptx
 
UNIT-5.ppt
UNIT-5.pptUNIT-5.ppt
UNIT-5.ppt
 
Timers in Arduino
Timers in ArduinoTimers in Arduino
Timers in Arduino
 
UNIT 5 Interfacing and Mixed Signal Controller.pptx
UNIT 5 Interfacing and Mixed Signal Controller.pptxUNIT 5 Interfacing and Mixed Signal Controller.pptx
UNIT 5 Interfacing and Mixed Signal Controller.pptx
 
Timing & Control.pptx
Timing & Control.pptxTiming & Control.pptx
Timing & Control.pptx
 

Recently uploaded

The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 

Recently uploaded (20)

The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 

PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C

  • 2. INTRODUCTION • PIC18 FAMILY HAS 2 TO 5 TIMERS DEPENDING ON FAMILY MEMBER • THEY ARE TIMERS 0,1,2,3 AND 4 • THESE ARE USED TO GENERATE TIME DELAY OR USED AS COUNTERS TO COUNT EVENTS HAPPENING OUTSIDE THESE MICRO DELAYS • MANY OF THE PIC18 TIMERS ARE 16 BITS WIDE BECAUSE PIC18 HAS 8-BIT ARCHITECHTURE EACH 16-BIT TIMER IS ACCESSED AS TWO SEPARATE REGISTERS OF LOW BYTE AND HIGH BYTE • EACH TIMER ALSO HAS CONTROL REGISTER FOR SETTING MODES OF OPERATION
  • 3. TIMER AS COUNTER AND DELAY GENERATOR • EVERY TIMER NEEDS A CLOCK PULSE • IF IT IS INTERNAL CLOCK SOURCE THEN ONE FORTH OF FREQUENCY OF CRYSTAL OSCILLATOR ON OSC1 AND OSC2 PINS IS FED INTO TIMER • THERFORE IT IS USED FOR TIME DELAY GENERATION AND FOR THAT REASON IS CALLED A TIMER • WHEN AN EXTERNAL CLOCK IS CHOSEN WE FEED PULSES THROUGH ONE OF PIC18’S PINS THIS IS CALLED AS COUNTER
  • 4. TIMER 0 REGISTERS AND PROGRAMMING • TIMER 0 CAN BE USED AS 8-BIT OR 16-BIT TIMER • THE 16 BIT TIMER IS ACCESSED AS LOW BYTE AND HIGH BYTE • THE LOW BYTE TIMER IS CALLED TMR0L AND HIGH BYTE REGISTER IS REFERRED TO AS TMR0H • THESE REGISTERS CAN BE ACCESSED LIKE ANY OTHER SPECIAL FUNCTION REGISTERS • FOR EXAMPLE “MOVWF TMR0L”
  • 5. TIMER0 HIGH AND LOW REGISTERS
  • 6. T0CON(TIMER0 CONTROL) REGISTER • EACH TIMER HAS A CONTROL REGISTER TO SET VARIOUS TIMER OPERATION MODES • T0CON IS AN 8-BIT REGISTEER USED FOR CONTROL OF TIMER 0 • THE BITS FOR T0CON ARE SHOWN IN NEXT SLIDE
  • 7.
  • 8. T0CS(TIMER0 CLOCK SOURCE) • THIS BIT IN CONTROL REGISTER IS USED TO DECIDE WHETHER CLOCK SOURCE IS INTERNAL OR EXTERNAL • IF T0CS=0 THEN FOSC/4 IS USED AS CLOCK SOURCE WHERE THE TIMERS ARE USED FOR TIME DELAY GENERATION • IF T0CS=1 THE CLOCK SOURCE IS EXTERNAL AND COMES FROM RA4/T0CKI WHICH IS PIN6 ON PIC1818F4580/4520 • WHEN CLOCK SOURCE COMES FROM AN EXTERNAL SOURCE TIMER IS AN EVEN COUNTER
  • 9. FIND VALUE OF T0CON IF WE WANT TO PROGRAM TIMER0 IN 16-BIT MODE NO PRE-SCALER USE PIC18’S FOSC/4 CRYSTAL OSCILLATOR FOR CLOCK SOURCE, INCREMENT ON POSITIVE EDGE
  • 10. FIND VALUE OF T0CON IF WE WANT TO PROGRAM TIMER0 IN 16-BIT MODE NO PRE-SCALER USE PIC18’S FOSC/4 CRYSTAL OSCILLATOR FOR CLOCK SOURCE, INCREMENT ON POSITIVE EDGE T0CON=0000 1000
  • 11. INTCON(INTERRUPT CONTROL REGISTER) CONTAINS TMR01F FLAG • TMR01F BIT IS PART OF INTERRUPT CONTROL REGISTER WHEN TIMER REACHES ITS MAXIMUM VALUE OF ‘FFFF H’ IT ROLLS OVER TO ‘0000 H’ AND TMR01F IS SET TO 1
  • 13. 16-BIT TIMER PROGRAMMING FOLLOWING ARE OPERATIONS AND CHARACTERISTICS OF 16-BIT MODE: 1. IT IS A 16-BIT TIMER THERFORE IT ALLOWS VALUES OF 0000 TO FFFFH TO BE LOADED INTO TMR0H AND TMR0L 2. AFTER THEY ARE LOADED WITH A 16-BIT INITIAL VALUE, THE TIMER MUST BE STARTED.THIS IS DONE BY “BSF T0CON,TMR0ON” FOR TIMER0 3. AFTER TIMER IS STARTED IT STARTS TO COUNT UP.IT COUNTS UP UNTIL IT REACHES ITS LIMIT OF FFFFH.WHEN IT ROLLS OVER FROM FFFFH TO 0000H, IT SETS HIGH A FLAG BIT CALLED TMR01F.THIS TIMER FLAG CAN BE MONITORED.WHEN THI TIMER FLAG IS RAISED ONE OPTION WOULD BE TO STOP THE TIMER 4. AFTER TIMER REACHES ITS LIMIT AND ROLLS OVER,IN ORDER TO REPEAT THE PROCESS TMR0H AND TMR0L MUST BE LOADED WITH ORIGINAL VALUE,AND THE TMR01F FLAG MUST BE RESET TO 0 FOR NEXT ROUND
  • 14. STEPS TO PROGRAM TIMER0 IN 16-BIT MODE TO GENERATE TIME DELAY USING TIMER0 MODE 16 THE FOLLOWING STEPS ARE TAKEN: • LOAD THE VALUE INTO T0CON REGISTER INDICATING WHICH MODE(8 OR 16 BIT) IS TO BE USED AND THE SELECTED PRE-SCALER OPTION • LOAD REGISTER TMR0H FOLLOWED BY TMR0L WITH INITIAL COUNT VALUES • START TIMER WITH INSTRUCTION “BSF T0CON,TMR0ON” • KEEP MONITORING TIMER FLAG TO SEE IF IT IS RAISED.GET OUT OF THE LOOP WHEN TMR01F BECOMES HIGH • STOP TIMER WITH INSTRUCTION “BCF T0CON,TMR0ON” • CLEAR THE TMR0F FLAG FOR THE NEXT ROUND • NOW AGAIN LOAD TMR0H FOLLOWED BY TMR0L WITH INITIAL COUNT VALUES AND REPEAT THE STEPS • WE CANNOT LOAD TMR0H FIRST BECAUSE THE VALUE OF TMR0H IS KEPT IN TEMPORARY REGISTER AND WRITTEN TO TMR0H WHEN TMR0L IS LOADED.THIS WILL PREVENT ANY ERROR IN COUNTING IF TMR0ON FLAG IS SET HIGH
  • 15. FINDING VALUES TO BE LOADED INTO TIMER ASSUMING XTAL=10MHZ AND NO PRESCALER VALUES : 1. DIVIDE THE DESIRED TIME DELAY BY 0.4 𝜇𝑠𝑒𝑐 2. PERFORM 65536-N WHERE N IS DECIMAL VALUE OF WHAT WE GOT IN STEP 1 3. CONVERT THE RESULT INTO HEX AND LOAD THE HIGHER INTO HIGHER BITS AND LOWER VALUE INTO LOWER BITS
  • 16. PRESCALER AND GENERATING TIME DELAY • SIZE OF TIME DELAY DEPENDS ON TWO FACTORS: 1)CRYSTAL FREQUENCY 2)TIMERS 16-BIT REGISTER BOTH OF THEM CANNOT BE CONTROLLED BY PIC18 PROGRAMMER • IF THE LARGEST DELAY ACHIEVED BY THE TIMER USING TMR0L AND TMROH IS NOT ENOUGH THEN WE USE PRESCALER OPTION IN T0CON REGISTER TO INCREASE THE DELAY Y REDUCING THE PERIOD • THE PRESCALER OPTION ALLOWS US TO DIVIDE INSTRUCTION CLOCK BY A FACTOR OF 2 TO 256 • WITH PRESCALER BIT ENABLED WE CAN DIVIDE THE INSTRUCTION CLOCK BY 4 BEFORE IT IS FED INTO TIMER0 • LOWER 3 BITS OF T0CON REGISTER GIVES THE OPTIONS OF THE NUMBERS WE CAN DIVIDE BY WHERE THE LOWEST NUMBER IS 2 AND HIGHEST NUMBER IS 256
  • 17. 8-BIT MODE PROGRAMMING OF TIMER0 • IN 8-BIT MODE TIMER ALLOWS ONLY VALUES FROM 00 TO FFH TO BE LOADED INTO TMR0L • AFTER TIMER IS STARTED IT STARTS TO COUNT UP BY INCREMENTING TMR0L REGISTER • IT COUNTS UP UNTIL IT REACHES LIMIT FFH • WHEN IT ROLLS OVER FROM FFH TO 00H IT SETS HIGH TMR01F
  • 18. STEPS TO PROGRAM 8-BIT MODE OF TIMER0 1. LOAD T0CON VALUE REGISTER INDICATING 8-BIT MODE IS SELECTED 2. LOAD TMR0L REGISTERS WITH INITIAL COUNT VALUE 3. START THE TIMER 4. KEEP MONITORING TIMER FLAG (TMR01F) TO SEE IF IT IS RAISED.GET OUT OF THE LOOP WHEN TMR01F BECOMES HIGH 5. STOP TIMER WITH INSTRUCTION “BCF T0CON,TMR0ON” 6. CLEAR TMR01F FLAG FOR NEXT ROUND 7. GO BACK TO STEP2 TO LOAD TMR0L AGAIN 8. WHEN USING THE 8-BIT MODE TMR0L REGISTER IS LOADED AND TMR0H HAS A ZERO VALUE DURING COUNT UP
  • 19. ASSEMBLERS AND NEGATIVE VALUES • WHEN TIMER IS IN 8-BIT MODE WE CAN LET ASSEMBLER CALCULATE VALUE FOR TMR0H • EXAMPLE: MOVLW, -D’100’ IN THIS INSTRUCTION THE ASSEMBLER WILL CALCULATE - 100=9C AND MAKE WREG =9C IN HEX
  • 20.
  • 21. TIMER1 PROGRAMMING • IT IS A 16-BIT TIMER AND ITS 16-BIT REGISTER IS SPLIT INTO 2 BYTES TMR1L AND TMR1H • TIMER BIT CAN BE PROGRAMMED IN 16-BIT MODE ONLY • TIMER 1 ALSO HAS TICON(TIMER1 CONTROL) REGISTER IN ADDITION TO TMR1F(TIMER1 INTERRUPT FLAG) • TMR1F FLAG BIT GOES HIGH WHEN TMR1H:TMR1L OVERFLOWS FROM FFFFH TO 0000H • TIMERQ ALSO HAS PRESCALER OPTIONS BUT IT ONLY SUPPORTS FACTORS OF 1:1,1:2,1:4,1:8
  • 22.
  • 23. PIR1(INTERRUPT CONTROL REGISTER 1) CONTAINS TMR1F FLAG
  • 24. COUNTER PROGRAMMING • TIMERS CAN ALSO BE USED AS COUNTERS TO COUNT EVENTS HAPPENING OUTSIDE PIC18 • WHEN TIMER IS USED AS COUNTER IT IS A PULSE OUTSIDE PIC18 THAT INCREMENTS TH,TL REGISTERS • IN COUNTER MODE THE REGISTERS SUCH AS TMR0H,TMR0L AND T0CON ARE SAME AS FOR THE TIMERS DISCUSSED PREVIOUSLY
  • 25. T0CS BIT IN T0CON REGISTER • USED TO COUNT EVENTS OUTSIDE PIC • INCREMENTS TMR0H AND TMR0L REGISTERS • T0CS IN T0CON REGISTER DETERMINES CLOCK SOURCE • IF T0CS = 1, TIMER IS USED AS COUNTER • COUNTS UP AS PULSES ARE FED FROM PIN RA4 (T0CKI) • If TMR1CS=1, TIMER1 COUNTS UP AS CLOCK PULSES ARE FED INTO PIN RC0
  • 26. USING EXTERNAL CRYSTAL FOR TIMER1 CLOCK TIMER1 COMES WITH TWO OPTIONS, 1. CLOCK FED INTO T1CKI T1OSCEN=0 2. CLOCK FROM A CRYSTAL CONNECTED TO T1OSI-T1OSO (additional) • T1OSCEN=1 • 32 kHz CRYSTAL IS CONNECTED • USED FOR SAVING POWER DURING SLEEP MODE  DOESNOT DISABLE TIMER1 WHILE THE MAIN CRYSTAL IS SHUT DOWN EXTERNAL SOURCE INTERNALSOURCE
  • 27. ACCESSING TIMER REGISTERS IN C • IN C118 WE CAN ACCESS TIMER REGISTERS SUCH AS TMR0H,TMR0L AND T0CON DIRECTLY USING PIC18FXXX.H HEADER FILE • IN ADDITION TO CRYSTAL FREQUENCY AND PRESCALER FACTOR THE THIRD FACTOR IN DELAY CALCULATIONS IS C COMPILER • VARIOUS C COMPILERS GENERATE DIFFERENT HEX CODE SIZES
  • 28. TIMER2 PROGRAMMING • TIMER2 IS 8-BIT TIMER • 8-BIT REGISTER OF TIMER2 IS CALLED TMR2 • TIMER2 ALSO HAS 8-BIT REGISTER CALLED PERIOD REGISTER(PR2) • WE CAN SET A FIXED VALUE TO PR2 AND TIMER2 WILL INCREMENT FROM 00 TO PR2 • THEN THE EQUAL SIGNAL WILL RAISE TMR21F FLAG AND RESET TMR2 TO 00 • CLOCK SOURCE FOR TIMER 2 IS FOSC/4 WITH OPTIONS OF BOTH PRESCALER AND POSTSCALER • IT CANNOT BE USED AS COUNTER AS THERE IS NO EXTERNAL CLOCK SOURCE FOR TIMER2
  • 29. PIR1(PERIPHERAL INTERRUPT FLAG REGISTER 1) CONTAINS TMR21F FLAG
  • 31. TIMER3 PROGRAMMING • TIMER3 IS 16-BIT TIMER THAT CAN BE USED BOTH AS TIMER AND COUNTER • ITS 16-BIT REGISTER IS SPLIT INTO TWO BYTES REFERRED TO AS TMR3L AND TMR3H • TIMER3 CAN BE PROGRAMMED IN 16-BIT MODE ONLY AND DOESN’T SUPPORT 8-BIT MODE • TIMER3 HAS PRESCALER OPTIONS OF 1:1,1:2,1:4 AND 1:8 • TIMER3 FLAG (TMR31F) BIT GOES HIGH WHEN TMR3H:TMR3L OVERFLOWS FROM FFFF TO 0000H
  • 32. PIR2(PERIPHERAL INTERRUPT FLAG REGISTER 2) CONTAINS TMR31F FLAG
  • 34. CONCLUSION • THE PIC18 CAN HAVE UPTO 4 OR MORE TIMERS/COUNTERS DEPENDING ON FAMILY MEMBERS • TIMERS: GENERATE TIME DELAYS(USING CRYSTAL) • COUNTERS: EVENT COUNTER(USING PULSE OUTSIDE) • TIMERS ARE ACCESSED AS TWO 8-BIT REGISTERS, TMRLx and TMRHx • CAN BE USED AS 8-BIT OR 16-BIT • EACH TIMER HAS ITS OWN TIMER CONTROL REGISTER