Timers 8051 microcontroller has two 16-bits built in timers.ppt

vsangeetha8630 9 views 44 slides Sep 14, 2024
Slide 1
Slide 1 of 44
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44

About This Presentation

nill


Slide Content

8051
TIMERS

TMOD REGISTER

1514131211109 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
…....….….….….….….…......................
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Int Val
count
Max Val,
Roll off
(Hex.)
0000H
0001H
0002H
..



FFFFH
0000H

1514131211109 8 7 6 5 4 3 2 1 0
X X X 0 0 0 0 0 0 0 0 0 0 0 0 0
X X X 0 0 0 0 0 0 0 0 0 0 0 0 1
X X X 0 0 0 0 0 0 0 0 0 0 0 1 0
X X X 0 0 0 0 0 0 0 0 0 0 0 1 1
…....….….….….….….…......................
X X X 1 1 1 1 1 1 1 1 1 1 1 1 1
X X X 0 0 0 0 0 0 0 0 0 0 0 0 0
Int Val
count
Max Val,
Roll off
(Hex.)
0000H
0001H
0002H
..



1FFFH
0000H

7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 1
…......................
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
Int Val
count
Max Val,
Roll off
(Hex.)
00H
01H
02H
..



FFH
00H
TLX
TLX =THX
LOAD Init.
value from
THx to TLx

Mode 0:
Max value =(1FFF)h =(8191)d
(COUNT= MAX VALUE- INITIAL VALUE)
Time Delay = COUNTX (12/ Crystal Freq.)
Time Delay = 8191 X (12/ Crystal Freq.)
( If Crystal Freq. = 11.0952 Mhz)
Time Delay = 8191 X (12/ 11.0952 x 10^6.)
Time Delay =8.8 m sec

Mode 1:
Max value =(FFFF)h =(65535)d
(COUNT= MAX VALUE-INITIAL VALUE)
Time Delay = COUNTX (12/ Crystal Freq.)
Time Delay = 65535 X (12/ Crystal Freq.)
( If Crystal Freq. = 11.0592 Mhz)
Time Delay = 65535 X (12/ 11.0592 x 10^6.)
Time Delay =0.071 sec

Mode 2/3:
Max value =(FF)h =(255)d
(COUNT= MAX VALUE-INITIAL VALUE)
Time Delay = COUNTX (12/ Crystal Freq.)
Time Delay = 255 X (12/ Crystal Freq.)
( If Crystal Freq. = 11.0592 Mhz)
Time Delay = 255 X (12/ 11.0952 x 10^6.)
Time Delay =0.2 m sec

Max value =(FF)h =(255)d
(COUNT= MAX VALUE-INITIAL VALUE)
Time Delay = COUNTX (12/ Crystal Freq.)

Time Delay =( MAX VALUE-INITIAL VALUE)X (12 / Crystal Freq.)

Td = (MV-IV) * (12/ Fc)
Td *(Fc/12) = MV- IV
IV = MV - { Td *(Fc/12) }
Initial Value = Max.Value - { time delay * (crystal Freq/12)
(IV) dec=(IV)hex
Initial value in hexadecimal to be loaded to THx and TLx Register of the
timer - x choosen

TIMER
PROGRAMMING

8051
P1.6

8051
P1.6

8051
P1.6
Th=0.5ms, Tlow = 0.5ms

8051
P1.6
DC= 75 % [ DC =Ton/T, where T = ton+toff.]
TON=75%
TOFF = 25%

INTERRUPTS

8051
P1.1

8051
P1.1
Th=5us, Tlow = 5Us

8051
INTERRUPTS

cont..

When an interrupt occurs, the updated PC is pushed on the stack and is loaded
with the vector address corresponding to the interrupt.
The table gives the vector addresses. The order of entries in the table is also the
order in which the 8051 will poll these in case of multiple interrupts.

Sequence of Events after an interrupt
When an enabled interrupt occurs,
1. The PC is saved on the stack, low byte first. This is because the stack grows
upwards in 8051.
2. Other interrupts of lower priority and same priority are disabled.
3. PC is loaded with the vector address corresponding to the interrupt. ---PGM--
When the handler executes ‘RETI”
1. PC is restored by popping the stack.
2. Interrupt status is restored to its original value. (Same and lower priority
interrupts restored to original status)

DIFFERENCE BETWEEN RET & RETI
Tags