Mikrocomputertechnik Timer-0-1-Quickie Prof. J. Walter Stand Januar 2015 1 Mikrocomputertechnik...

Preview:

Citation preview

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!

Recommended