Mikrocomputertechnik

53
Mikrocomputertechnik 5 Projekte mit Assembler gelöst Prof. J. Walter Stand November 2007 1 Mikrocomputertechnik Herzlich Willkommen Jürgen Walter

description

Mikrocomputertechnik. Herzlich Willkommen Jürgen Walter. Tabelle 5.1 Die verwendeten Einheiten in den Projekten. Regel 1. Nur dokumentierte Hardware und Software ist existent. Regel 2. Durchgängige Verwendung von Registern mit Herstellung des Ausgangszustands. - PowerPoint PPT Presentation

Transcript of Mikrocomputertechnik

Page 1: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

1

Mikrocomputertechnik

Herzlich WillkommenJürgen Walter

Page 2: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

2

Tabelle 5.1 Die verwendeten Einheiten in den Projekten

Projekt verwendete Einheiten1. Blinklicht mit BlinkfrequenzTimer 0,1 Interrupt2. A/D-Wandlung A/D-Wandler3. Serielle Schnittstelle Serielle Schnittstelle4. Effektivwertmessung Timer, A/D-Wandler, Serielle

Schnittst.

Page 3: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

3

Regel 1

Nur dokumentierte Hardware und Software ist existent.

Page 4: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

4

Regel 2

Durchgängige Verwendung von Registern mit Herstellung des Ausgangszustands.Zuordnung von Tasks (Aufgaben - Prozesse) zu Registerbänken.

Page 5: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

5

Regel 3

Bei umfangreicher Software unbedingt Hochsprache C / C++ verwenden.

Page 6: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

6

Standardkopf$nomod51 ;der Modus fuer 8051 wird abgeschaltet$debug$nolist ;es wird kein Listing fuer reg535 erstellt$include(reg535.pdf) ;die 80535-spezifischen Daten$list ;es wird ein Listing erstellt$title () ;bitte ausfüllen;---------------------------------------------------------------------;Programmbeschreibung;---------------------------------------------------------------------;Programm: ;Datum: ;Programmiert: Teamarbeiter 1 ;;Verwendete Einspruenge: keine ;Verwendete Unterprogramme: keine ;;Verwendete Register und Variable:;Registerbank(0) ;;Kommentar: ;Aenderungen:;Datum:;------------------------------------------------------------------------;Initialisierungsteil fuer allgemeine Konstanten;------------------------------------------------------------------------CSEG AT 0H ;Legt absolute Codesegmentadresse auf 0hjmp INIT ;Sprung auf Initialisierungsroutine;------------------------------------------------------------------------;Interrupt-Vektoren;------------------------------------------------------------------------;;------------------------------------------------------------------------;Initialisierungsteil fuer On-Chip Peripherie;------------------------------------------------------------------------ORG 100H ;Programmstart bei 100HINIT:;------------------------------------------------------------------------;Programmbeginn;------------------------------------------------------------------------ABFRAGE:

Page 7: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

7

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

Page 8: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

8

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

Page 9: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

9

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

Page 10: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

10

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

Page 11: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

11

Tabelle 5.4 TCON BITS Timer 0 - Timer 1 Control Bits8FH 8EH 8DH 8CH 8B 8AH 89H 88H

88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON   

Diese Bits werden nicht zur Kontrolle des Zeitgebers verwendet  

Bit Funktion

TR0 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.

Page 12: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

12

Tabelle 5.5 Interrupt-Vektor-Adressen

PC Adresse Interrupt-Name Erklärung0000H RESET Start Address after Reset1)0003H EXTIO External Interrupt 01)000BH TIMER 0 Timer 0 Overflow Interrupt1)0013H EXTI1 External Interrupt 11)001BH TIMER1 Timer 1 Overflow Interrupt1)0023H SINT

SINT04)6)Serial Channel 0 Interrupt1)

002BH TIMER2 Timer 2 Overflow/External Reload Interrupt2)-6)

0043H ADCI A/D-Converter Interrupt3).....6)004BH EXTI2 External Interrupt 2/

Compare Event with CC43).....6)Bei 80C515 External Interrupt only

0053H EXTI3 External Interrupt 3 /Compare Event with CRC3).....6)

005BH EXTI4 External Interrupt 4 /Compare Event with CC13).....6)

0063H EXTI5 External Interrupt 5 /Compare Event with CC23).....6)

006BH EXTI6 External Interrupt 6 /Compare Event with CC33).....6)

0083H SINT1 Serial Channel 1 Interrupt4)6)0093H CMINT CMx Compare Register

Interrupt6)009BH COMPTIMER Compare Timer Overflow4)6)00A3H SETINT Compare Set

Interrupt6)00ABH CLRINT Compare Clear

Interrupt6)

Page 13: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

13

Abb. 5.4 Erzeugen von Interrupts

P3.2/INT0

TIMER 0Overflow

P3.3/INT1

TIMER 1Overflow

Receiver

SERIAL PORTTransmitter

TIMER 2Overflow

P1.5/T2EX

IE0

TF0

TCON.0

IE1

TF1

RI

TI

TF2

EF2EXEN2

A/D-Converter IADC

>1

>1

P1.4/INT2

Compare 0

Compare 1

IEX4

IEX2

IEX3

Compare 1

Compare 1

IEX6

IEX5

CONTROL

PT

INTERRU

TCON.2

TCON.5

TCON.6P1.0/INT3/CC0

P1.1/INT4/CC1

P1.2/INT5/CC2

P1.3/INT6/CC3

Page 14: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

14

Tabelle 5.6 IEN0 Interrupt 0 Control Bits

 0A8H EAL WDT ET2 ES ET1 EX1 ET0 EX0 IEN0WDT Wird nicht für Interrupt-Kontrolle genutzt  

Bit FunktionEX0 "0" Externer Interrupt 0 gesperrt

"1" Externer Interrupt 0 freigegebenET0 "0" Überlauf Timer 0 gesperrt

"1" Überlauf Timer 0 freigegebenEX1 "0" Externer Interrupt 1 gesperrt

"1" Externer Interrupt 1 freigegebenET1 "0" Überlauf Timer 1 gesperrt

"1" Überlauf Timer 1 freigegebenES "0" Serieller Schnittstellen Interrupt gesperrt

"1" Serieller Schnittstellen Interrupt freigegebenET2 "0" Überlauf Timer 2 gesperrt

"1" Überlauf Timer 2 freigegebenWDT Wird nicht für Interrupt Kontrolle genutztEAL "0" Kein Interrupt wird erkannt

"1" Jeder Interrupt wird entsprechend seiner Einstellung erkannt

Page 15: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

15

Tabelle 5.7 Interrupt Control Bits0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H 0B8H

0A8H EXEN2 SWDT EX6 EX5 EX4 EX3 EX2 EADC IEN1

Bit FunktionEADC "0" A/D-Wandler Interrupt gesperrt.

"1" A/D-Wandler freigegeben.EX2 "0" externer Interrupt 2 gesperrt.

"1" externer Interrupt 2 / Übernahme- / Vergleichs-Interrupt 4 freigegeben.EX3 "0" externer Interrupt 3 gesperrt.

"1" externer Interrupt 3 / Übernahme- / Vergleichs-Interrupt 4 freigegeben.EX4 "0" externer Interrupt 4 gesperrt.

"1" externer Interrupt 4 / Übernahme- / Vergleichs-Interrupt 4 freigegeben.EX5 "0" externer Interrupt 5 gesperrt.

"1" externer Interrupt 5 / Übernahme- / Vergleichs-Interrupt 4 freigegeben.EX6 "0" externer Interrupt 6 gesperrt.

"1" externer Interrupt 6 / Übernahme- / Vergleichs-Interrupt 4 freigegeben.SWDT Wird nicht für Interrupt Kontrolle genutztEXEN2 "0" Externer Reload Interrupt Timer 2 wird gesperrt.

"1" Externer Reload Interrupt Timer 2 wird erkannt.

Page 16: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

16

Tabelle 5.8 TCON Interrupt Control Bits8FH 8EH 8DH 8CH 8B 8AH 89H 88H  

88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCONBit FunktionIT0 Interrupt 0 type control bit. Auswahlbit für Arbeitsweise

"1" Fallende Flanke löst externen Interrupt aus"0" 0-Pegel löst externen Interrupt aus

IE0 "1" Falls externer Interrupt durch Hardware erkannt wird."0" automatisch durch Interruptausführung

IT1 Interrupt 1 type control bit. Auswahlbit für Arbeitsweise"1" Fallende Flanke löst externen Interrupt aus"0" 0-Pegel löst externen Interrupt aus

IE1 "1" Falls externer Interrupt durch Hardware erkannt wird."0" automatisch durch Interruptausführung

TR0 Timer 0 Run Control - Wird nicht für Interrupt Kontrolle genutzt. TF0 Timer 0 overflow flag.

"1" durch Hardware, wenn Zähler / Zeitgeber Überlauf."0" automatisch durch Interruptausführung

TR1 Timer 1 Run Control - Wird nicht für Interrupt Kontrolle genutztTF1 Timer 1 overflow flag.

"1" durch Hardware, wenn Zähler / Zeitgeber Überlauf."0" automatisch durch Interruptausführung

Page 17: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

17

Abb. 5.4 Zu viele Interrupts

Page 18: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

18

Abb. 5.6 Prioritäten / Anforderungen von Interrupts

>1

>1

IP0.0IP1.0

IEN 0.0IEN 0.7

IEN 1.0

IE0

IADC

TF0

IE1

IEX2

RI

IEX3

TF1

TIIEX5

TF2EXF2IEX6

IEX4

IEN 0.3

IEN 1.5

IEN 0.5

IEN 1.3

IEN 0.4

IEN 1.4

IEN 0.2

IEN 1.2

IEN 0.1

IEN 1.1

IP 1.5 IP 0.5

IP 1.4 IP 0.4

IP 1.3 IP 03

IP 1.2 IP 0.2

IP 1.1 IP 0.1

Level 0

Level 1

Level 3

Level 2

CONTROL

PT

INTERRU

PRIORI

Y

REQUEST

T

VectorLocations

Page 19: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

19

Tabelle 5.9 IP0 Interrupt Priority Bits

0A9H - WDTS IP0.5 IP0.4 IP0.3 IP0.2 IP0.1 IP0.0 IP0

0B9H - - IP1.5 IP1.4 IP1.3 IP1.2 IP1.1 IP1.0 IP1

IP1.x IP0.x Funktion

0 0 Priorität 0 (kleinste)

0 1 Priorität 1

1 0 Priorität 2

1 1 Priorität 3

Page 20: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

20

Abb. 5.7 Struktogramm für Blink-Programm

Welche Taste wurde betätigt ?

Taster 1 Taster 2 Taster 3

Port 3.2löschenLicht ein

Port 3.2setzenLicht aus

Blinken

Assembler Anweisungen

Programmbeschreibung

Initialisierung

TR0 anTIMER_0

TR0 ausTR0 aus

TIMER_0

Register 2 = 0 ?

ret

ja nein

P 3.2 Komplement

Page 21: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

21

Abb. 5.8 Die Schaltfläche „Zauberstab“ in der Keil Entwicklungsumgebung

Page 22: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

22

Abb. 5.9 Die Einstellungen für den Simulator

Page 23: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

23

Tabelle 5.11 Codierung

Spannung Leuchte 2 Leuchte 30V U 2 V AUS AUS2V< U 3 V AUS EIN3V< U 4 V EIN AUS4V< U 5 V EIN EIN

Page 24: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

24

Abb. 5.11 Blockbild A/D-Wandler im 80535

01234567ADCON (0D8H)

01234567

ADDAT (0D9H)

A/D-WandlerSample

&Hold

Multiplexer

AN7/P 6.7AN6/P 6.6AN5/P 6.5AN4/P 6.4AN3/P 6.3AN2/P 6.2AN1/P 6.1AN0/P 6.0

Internal Reference Voltages

interner Bus

AREF

AGNDVV

01234567DAPR (0DAH)Programmierung

intAREFVProgrammierung

intAGNDV

P6 (0DBH)

Port 6ACMOS

Page 25: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

25

Abb. 5.12 Anschluss eines Potentiometers an EURO_535

1 K

V

V

GNDV

CC

AREF

AGND

VGA Pin 4

VGA Pin 31

VGA Pin 27

VGA Pin 26

VGA Pin 21

Anschluß EURO_535

+5V

0V

AN0

Page 26: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

26

Tabelle 5.12 Wert – Spannung

Zahl 0 1 …… 101 102 103 ….. 254 255

U in V 0 0,0196 1,9803 2 2,0196 4,9804 5

Page 27: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

27

Abb. 5.13 Schaltbild ADDA535-Karte

R91K lin

J3

JUMPER

VCC

1B1

ANALOG OUT1R11

1KDB0 1DB1 2DB2 3DB3 4DB4 5DB5 6DB6 7DB7 8

V OUT 16V OUT SENSE 15

V OUT SELECT 14GND 13GND 12

+VCC 11CS 10CE 9

IC1

AD558

P5.0P5.1

DB0 1DB1 2DB2 3DB3 4DB4 5DB5 6DB6 7DB7 8

V OUT 16V OUT SENSE 15

V OUT SELECT 14GND 13GND 12

+VCC 11CS 10CE 9

IC2

AD558

P5.2P5.3P5.4P5.5P5.6P5.7

P4.1

1B2

ANALOG OUT2R10

1K

VCC

1

B13

GND

1

2D2ZD 5V6

AN0R2

100

BNC1

BNC

R3

100

BNC2

BNC

PIN1

1

2D3ZD 5V6

AN1

VCC

1

B14GND

P5.0P5.1P5.2P5.3P5.4P5.5P5.6P5.7

P4.0

A1 1A2 2A3 3A4 4A5 5A6 6A7 7A8 8A9 9A10 10A11 11A12 12A13 13A14 14A15 15A16 16A17 17A18 18A19 19A20 20A21 21A22 22A23 23A24 24A25 25A26 26A27 27A28 28A29 29A30 30A31 31A32 32

C1 41C2 42C3 43C4 44C5 45C6 46C7 47C8 48C9 49

C10 50C11 51C12 52C13 53C14 54C15 55C16 56C17 57C18 58C19 59C20 60C21 61C22 62C23 63C24 64C25 65C26 66C27 67C28 68C29 69C30 70C31 71C32 72

VG1

VG_535Z

VCC+5V VCC VSS X4

1

2D1ZD 5V6

AN2R1

100

PIN3

PIN5

PIN1 1PIN2 2PIN3 3PIN4 4PIN5 5PIN6 6PIN7 7PIN8 8PIN9 9PIN10 10

PL1

PINLEISTE_10

R4

100

R5

100

PIN6

1

2D4ZD 5V6

AN3

X3VDD

P5.1P5.3P5.5P5.7

P4.1P5.0P5.2P5.4P5.6

P4.0

VCC

AD/DA Zusatzkarte fuer 80535-Board

8 Analogeingaenge

2 AnalogausgaengeVCC

1

2D5ZD 5V6

1

2D6ZD 5V6

AN4

AN5R6

100

PIN1

PIN3

PIN5PIN6PIN7PIN8PIN9PIN10

PIN7

PIN8

R7

100

R8

100

PIN9

1

2D7ZD 5V6

AN6Fachhochschule Karlsruhe, FB F

Joachim Juengst, Januar 1994AN1AN3AN5AN7

AN0AN2AN4AN6

1

2D8ZD 5V6

AN7 PIN10

DA1

DA0

Page 28: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

28

Tabelle 5.13 ADCON REGISTER  0DFH 0DEH 0DDH 0DCH 0DBH 0DAH 0D9H 0D8H  

0D8H BD CLK - BSY ADM MX2 MX1 MX0 ADCON

Bit FunktionMX2 MX1 MX0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

MYMOS ACMOSAnlog Eingang 0 AN0 P6.0 Anlog Eingang 1 AN1 P6.1Anlog Eingang 2 AN2 P6.2Anlog Eingang 3 AN3 P6.3Anlog Eingang 4 AN4 P6.4Anlog Eingang 5 AN5 P6.5Anlog Eingang 6 AN6 P6.6Anlog Eingang 7 AN7 P6.7

ADM "1" Kontinuierliche Wandlung. "0" Stop nach jeder Wandlung

BSY "1" Busy Flag / Wandlung findet statt."0" Wandlung beendet

- freiCLK CLK - Wird nicht für A/D-Wandler verwendetBD Baudrate - Wird nicht für A/D-Wandler verwendet

Page 29: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

29

Tabelle 5.14 Erhöhung der Auflösung durch Einschränkung des Messbereiches

  DAPR .4 - .7

DAPR .0 - .3  

0DAH 7 6 5 4 3 2 1 0 DAPR

DAPR .3 - .0DAPR .4 - .7

VintAGND0. - 3. Bit

VintAREF4. - 7. Bit

0000 0,0 5,00001 0,3125 -0010 0,625 -0011 0,9375 -0100 1,25 1,250101 1,5625 1,56250110 1,875 1,8750111 2,1875 2,18751000 2,5 2,51001 2,8125 2,81251010 3,125 3,1251011 3,4375 3,43751100 3,75 3,751101 - 4,06251110 - 4,3751111 - 4,68754

Page 30: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

30

Abb. 5.14 Anzeige des

ADDAT-Inhalts im Debug-

Programm

Page 31: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

31

Abb. 5.15 Umsetzung von parallel in seriell

0111

1

00

0

0111

1

00

00

0 0 0 0 00

00000 11111

0111

1

00

0

0111

1

00

0

Start BitStop Bit

Sender Empfänger

zeitlich nacheinander

Page 32: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

32

Abb. 5.16 Einstellungen der seriellen Schnittstelle

Page 33: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

33

Abb. 5.17. Einstellungen der seriellen Schnittstelle am „PC“

Page 34: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

34

Abb. 5.18 Einstellungen der seriellen Schnittstelle 80535

Page 35: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

35

Tabelle 5.15 SCON Bits  09FH 09EH 09DH 09CH 09BH 09AH 099H 098H

98H SM0 SM1 SM2 REN TB8 RB8 TI RI SCON

Bit SymbolSM0 SM1 0 0 0 1 1 0 1 1

Mode 0: Synchroner Modus, feste Baudrate fosc/12Mode 1: 8-Bit UART, variable BaudrateMode 2: 9-Bit UART, feste Baudrate fosc/64 oder fosc/32Mode 3: 9-Bit UART, variable Baudrate

SM2 Ermöglicht Multiprozessor-Kommunikation in Mode 2 und 3 Empfänger-Interrupt wird nicht ausgelöst, falls das neunte Datenbit "0" ist. In Mode 1 und SM2="1" wird der Interrupt ebenfalls nicht aktiviert falls kein gültiges Stopbit empfangen wird. In Mode 0 muß SM2="0" sein.

REN Receiver enable. "1" Gibt den seriellen Empfang durch Software frei. "0" sperrt den Empfang.

TB8 Übertragungsbit 8. Das neunte Bit für Mode 2 und 3Wird durch Software gesetzt und rückgesetzt.

RB8 Empfangsbit 8. Neunte Bit für Empfang in Mode 2 und 3TI Übertragungsinterrupt. Wird durch die Hardware am Ende des achten Bits in Mode 0 gesetzt,

oder am Beginn des Stop-Bits in den anderen Moden. Muss durch Software zurückgesetzt werden.

RI Empfängerinterrupt. Ist das empfangene Interrupt-Flag.Wird am Ende des achten Bits in Mode 0 gesetzt, oder am Beginn des Stop-Bits in den anderen Modi. Muss durch Software zurückgesetzt werden.

Page 36: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

36

SBUF Empfangs- und Senderegister für serielle Schnittstelle

99H SBUF

Page 37: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

37

Abb. 5.19 Erzeugen der Baudrate

fosc/2

ADCON.7 (BD)

Timer 1

Overflow

SM0

SM1

*1/39

SMOD

*1/2

Baud Rate

Page 38: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

38

Baudraten im PCON Power Control Register

99H SMOD PCON

Bit Funktion

SMOD

"1" Baudrate wird in Mode 1,2,3 verdoppelt

Page 39: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

39

Tabelle 5.16 ADCON REGISTER

  0DFH 0DEH 0DDH 0DCH 0DBH 0DAH 0D9H 0D8H  0D8H BD CLK - ADCON

Bit Funktion

BD Baudrate - Wird nicht für A/D-Wandler verwendet

CLK "1" Der Takt wird nach außen an Pin P1.6/CLKOUT weitergeleitet

Page 40: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

40

Tabelle 5.17 Allgemein verwendete Baudraten

Baud RateMode 1,3

fosc(MHz) SMODC/(/T)

TIMER 1Mode Reload Value

62,5 Kbaud 12,0 1 0 2 0FFH19,5 Kbaud 11,059 1 0 2 0FDH9,6 Kbaud 11,059 0 0 2 0FDH4,8 Kbaud 11,059 0 0 2 0FAH2,4 Kbaud 11,059 0 0 2 0F4H1,2 Kbaud 11,059 0 0 2 0E8H110 Baud 6,0 0 0 2 72H110 Baud 12,0 0 0 1 0FEEBH

Page 41: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

41

Abb. 5.20 Blockschaltbild für Effektivwertmesser

Signalgeneratorµ-Controller

t

Ueff

A/D-Wandler

Zeitgeber

Serielle Schnittstelle

Page 42: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

42

Bild 5.21. Abgetasteter Sinus

Sinus mit 100 Hz; abgetastet mit 1000 Hz

t in ms

Ue

0

0,5

1

1,5

2

2,5

3

0 5 10 15 20 25 30 35 40 45

Page 43: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

43

Abb. 5.22 Blockschaltbild Zeitgeber 2

16 BitKomparator

16 BitKomparator

16 BitKomparator

16 BitKomparator

CCH1 CCL1 CRCH CRCLCCH3 CCL3 CCL2CCH2

Fallende Flanke an P1.7/T2Gegattertes Fosc/12(24)

Fosc/12(24)P1.5/T2EX

Timer 2

Timer 2 InterruptInterrupts

P1.0/CC0

P1.1/CC1

P1.2/CC2

P1.3/CC3

E/A-

Steuerung

Interner Bus 8 Bit

16 Bit

8

Page 44: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

44

Tabelle 5.18 Verwendetet Abkürzungen

Abkürzung Bedeutung

CRCH, CRCL Compare Reload Capture High / Low Register

CCH1, CCL1 Compare Capture High / Low Register 1

CCH2, CCL2 Compare Capture High / Low Register 2

CCH3, CCL3 Compare Capture High / Low Register 3

Page 45: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

45

Tabelle 5.19 Timer 2 Control-Bits0CFH 0CEH 0CDH 0CCH 0CBH 0CAH 0C9H 0C8H  

0C8H T2PS I3FR I2FR T2R1 T2R0 T2CM T2I1 T2I0 T2CON

Bit FunktionT2I1 T2I0 0 0 0 1 1 0 1 1

Timer 2 input selection. Auswahl des Eingangs.Kein Eingang gewählt. - Zeitgeber zählt nichtZeitgeberbetrieb. Frequenz = fosc/12 (T2PS="0" ) - fosc/24 (T2PS="1" ).Zählerbetrieb. An Pin T2/P1.7 muss externes Signal anliegen.Zeitgeberbetrieb mit Gatterfunktion. Gatter wird über Pin T2/P1.7 gesteuert.

T2R1 T2R0 0 X 1 0 1 1

Timer 2 reload mode selection. Zeitgeber 2 WiederladebetriebWiederladen gesperrt.Modus 0: Wiederladen bei Timer 2 Überlauf ( TF2 )Modus 1: Wiederladen bei fallender Flanke an Pin T2EX/P1.5

T2CM Compare mode / Vergleichsmodus für Register CRC, CC1, CC2, CC3. "0" Vergleich bei Überlauf des Timers 2"1" Fallende Flanke an Pin T2EX/P1.5 löst Vergleich aus.

I2FR Dieses Bit wird nicht zur Kontrolle des Zeitgebers 2 verwendetI3FR External Interrupt 3 falling / rising edge flag. Wird ebenso für die Übernahmefunktion in Kombination mit dem CRC

Register benutzt."0" Übernahme erfolgt bei negativer Flanke an P1.0."1" Übernahme erfolgt bei Freigabe an positiver Flanke an P1.0.

T2PS Prescaler select bit / Vorteiler Bit."0" für die Zählerfunktion 1/12 der Oszillatorfrequenz"1" Interner Takt mit 1/24 der Oszillatorfrequenz.

Page 46: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

46

Tabelle 5.20 Lösung der Aufgabe mit Interrupts

Aktion Bit Bit ErklärungInterruptfreigabe Timer 2 ET2 Interrupt Timer 2Interruptfreigabe A/D-Wandler EADC Enable Interrupt A/D-ConverterInterruptbestätigung Timer 2 TF2 Timer Flag 2Interruptbestätigung A/D-Wandler IADC Interrupt A/D-Converter

Page 47: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

47

Abb. 5.23 Struktogramm für AD_40T2

Sind 40 Werte eingelesen ?

Assembler Anweisungen

Programmbeschreibung

Initialisierung Interrupt A/D Timer2

Wert von ADDAT in ext. Speicher

Interrupt-Unterprogramm

Timer 2 sperren

Leuchte 2 ausschalten

Page 48: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

48

Abb. 5.24 Struktogramm für AD_40T2O A/D-Wandlung ohne Interrupts

Sind 40 Werte eingelesen ?

Assembler-Anweisungen

Programmbeschreibung

Wert von ADDAT in ext. Speicher

Neue Wandlung / Ende ?

Timer 2 Initialisieren

Warten auf TF2

Warten auf BSY

Page 49: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

49

Abb. 5.25 Abgetastete Sinus mit Offset

Abgetasteter Sinus mit Offset

Zeit T / [s]

Spa

nnun

g u

/ [V

]

-1

-0,5

0

0,5

1

1,5

2

2,5

3

0 0,005 0,01 0,015 0,02 0,025 0,03 0,035 0,04

abgetasteter Sinus mit Offset

Sinus - Offset

Sinus-Offset quadriert

Page 50: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

50

Abb. 5.26 Speicherinhalt nach A/D-Wandlung von 40 Werten, AD_40

Signal-generator A/D

80535Speicher

2000H2001H2002H

1. Wert

2027H

2. Wert

40. Wert

Page 51: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

51

Abb. 5.27 Speicherinhalt nach Quadrieren

80535externer Speicher

2000H2001H2002H

1. Wert

2027H

2. Wert

40. Wert

internerSpeicher

30H

57H

QuadrierenCPU

2028H 1. Wert LB

2077H 40. Wert HB

2029H 1. Wert HB

Page 52: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

52

Abb. 5.28 Speicherinhalt nach Addition

80535externer Speicher

2000H2001H2002H

1. Wert

2027H

2. Wert

40. Wert

AdditionCPU

2028H 1. Wert LB

2077H 40. Wert HB

2029H 1. Wert HB

2078H 1. Wert Addition2079H207AH207BH

2. Wert Addition3. Wert Addition4. Wert Addition

LB+0LB+1LB+2LB+3

Page 53: Mikrocomputertechnik

Mik

roco

mpu

tert

echn

ik 5

Pro

jekt

e m

it A

ssem

bler

gel

öst

Prof

. J. W

alte

r St

and

Nov

embe

r 20

07

53

Abb. 5.29 Speicherinhalt nach Addition

externer Speicher

2077H 0F2078H A02079H207AH207BH

5802bel.

LB+0LB+1LB+2LB+3