Post on 06-Apr-2016
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
1
MikrocomputertechnikJürgen Walter
„TIMER-0-1-Quickie“
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
2
Lernziele:
· Architektur Timer 0/1· Takt für Timer 0/1?· Interrupts von Timer 0/1
CounterZähler
TIMERZeitgeber
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
3
Voraussetzungen
· IDE-Quickie· Speicher-Quickie· Interrupt-Quickie
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
4
Wiederholung
· Interrupt-Quickie· IE Interrupt Enable· Interrupt Vector Table
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
5
Tabelle 3.2. Alternative Funktionen an Port 3Port Pin Bezeichnung Ein-, Ausgang Alternative FunktionenP3.0 RxD Eingang serieller Empfang
P3.1 TxD Ausgang serielles Senden
P3.2 /INT0 Eingang Interrupt 0
P3.3 /INT1 Eingang Interrupt 1
P3.4 T0 Eingang Timer 0
P3.5 T1 Eingang Timer 1
P3.6 /WR Ausgang externes Schreibsignal
P3.7 /RD Ausgang externes Lesesignal
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
6
Abb. 5.1 Blockbild von Timer 0 und 1 im 16-Bit Modus
TH0 TL0
TF0 Timer overflow flag
Interrupt
Takt
12
OSC
T0 /
C/T#=0
C/T#=1
&TR0
Timer run control bit
Gate
P 3.4
INT0#
interner Bus
>1
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
7
Abb. 5.2 Mode 2, Zähler / Zeitgeber 0,1 mit Wiederladen des TL0 Registers
TH0 TL0
TF0 Timer overflow flag
Interrupt
Takt
12
OSC
T0 /
C/T#=0
C/T#=1
&TR0
Timer run control bit
Gate
P 3.4
INT0#
Reload
im Chip
>1
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
8
Abb. 5.3 Mode 3, Timer 1 Interrupt wird von Timer 0 mitbenutzt
TL0
TF0Timer 0
Interrupt
Takt
12
OSC
T0 /
C/T#=0
C/T#=1
&TR0
Timer run control bit
Gate
P 3.4
INT0#
interner Bus
fosc/12
TR1
TH0
TF1
Interrupt
Takt
Control
Timer 1 overflow flag
overflow flag
>1
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
9
Tabelle 5.3 TMOD BYTE89H GATE C/T# M1 M0 GATE C/T# M1 M0 TMOD
Timer 1
Timer 0
Bit FunktionGate Gating control
"1" durchgeschaltet, wenn INTx#-Pin auf "1" und TRx Kontrollbit gesetzt."0" => Timer x zählt, wenn TRx Kontrollbit gesetzt ist
C/T# Counter or timer select bit. Zähler oder Zeitgeber Auswahlbit"1" Zähler Funktion ( Eingang am TxD Eingangspin vom Prozessor )"0" Zeitgeber Funktion ( Eingang vom internen System Clock )
M1/M00 0 8-bit timer / counter
THx ist ein 8-bit Zähler / Zeitgeber - TLx dient als 5-bit Vorteiler0 1 16-bit timer/counter
"THx" und TLx" ergeben zusammen einen 16-bit-Zähler / Zeitgeber.1 0 8-bit auto-reload timer / counter
8-bit automatisch ladender Zähler / Zeitgeber. THx enthält den Wert der in TLx bei jedem Überlauf geladen wird.
1 1 Timer 0:TL0 ist ein 8-bit-Zähler / Zeitgeber der von den Kontrollbits von Timer 0 kontrolliert wird. TH00 ist ein 8 Bit Zeitgeber der nur von den Zeitgeber 1 Kontrollbits kontrolliert wird.
1 1 Timer 1. Zähler / Zeitgeber hält
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
10
Tabelle 5.4 TCON BITS Timer 0 - Timer 1 Control Bits
8FH 8EH 8DH 8CH 8B 8AH 89H 88H88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON
Diese Bits werden nicht zur Kontrolle des Zeitgebers
verwendet
Bit FunktionTR0 Timer 0 run control bit.
Bit zum Starten und Stoppen des Zeitgebers 0
TF0 Timer 0 overflow flag.Wird hardwaremäßig beim Zeitgeber / Zählerüberlauf gesetzt.Wird bei Aufruf des entsprechenden Interrupts zurückgesetzt.
TR1 Timer 1 run control bit. Bit zum Starten und Stoppen des Zeitgebers 1
TF1 Timer 1 overflow flag.Wird hardwaremäßig beim Zeitgeber / Zählerüberlauf gesetzt.Wird bei Aufruf des entsprechenden Interrupts zurückgesetzt.
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
11
Programmierung: BLIN_INT
· T1 LED 1 einschalten· T2 LED 1 ausschalten· T3 LED 1 blinkt mit ca. 1Hz
· Xtal ist mit 12MHz vorgegeben· Der Takt für Timer 0 oder 1 mit 1MHz· Periode: Ein + Aus
(0.5s / 65536E-6s)=ca. 8 Interrupts/s
· 8051 Core – Simulator – MHz
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
12
ÜBUNG 01: BLIN_INT_V
• T1 Blinkfrequenz erhöhen• T2 Blinkfrequenz erniedrigen• fmax ca. 45,7 Hz ~3 MHz/2^16• Messen Sie fmin• Hinweis:
Bei fmin gilt: R2=0
Mik
roco
mpu
tert
echn
ikTi
mer
-0-1
-Qui
ckie
Prof
. J. W
alte
r St
and
Janu
ar 2
015
13
Quickies – schnell und intensiv lernen
· Ziel erreicht!