EINGEBETTETE SYSTEME

11
1 M.Milushev EINGEBETTETE SYSTEME Beispiel mit der MC68HC11 Mikrocontrollern

description

EINGEBETTETE SYSTEME. Beispiel mit der MC68HC11 Mikrocontrollern. MODA MODB. Quarz. IRQ XIRQ Reset. Betriebasrt- Steuerung. Takt. Unterbrechungs- Steuerung. ROM oder EPROM (Tabelle). Zähler/ Zeitgeber Capture/ Compare. PROZESSORKERN. Watchdog. EEPROM (Tabelle). RAM - PowerPoint PPT Presentation

Transcript of EINGEBETTETE SYSTEME

Page 1: EINGEBETTETE SYSTEME

1M.Milushev

EINGEBETTETE SYSTEME

Beispielmit der MC68HC11Mikrocontrollern

Page 2: EINGEBETTETE SYSTEME

2M.Milushev

Internes Blokschaltbild des Microkontrollers MC68HC11

PROZESSORKERN

Erweiterungsbus Adressen (8-15) Daten/Adressen (0-7)

EEPROM(Tabelle)

ROM oder EPROM(Tabelle)

RAM(Tabelle)

ParalleleSchnittstelle A

ParalleleSchnittstelle B

ParalleleSchnittstelle C

ParalleleSchnittstelle D

ParalleleSchnittstelle E

Synchrone serielle

SchnittstelleSPI

Asynchrone serielleSchnittstelle SCI

Analog/DigitalWandler

Zähler/Zeitgeber

Capture/Compare

Betriebasrt-Steuerung Takt

Unterbrechungs-Steuerung

Analoge EParallele E

Sync.&Async.serielle E/A Parallele E/A

Erweiterungsbus Parallele E/A

Erweiterungsbus Parallele A

Capture/Compare Parallele E/A

Wat

chd

og

Pu

ls.A

kku

mu

lato

r

MODA MODB Quarz IRQ XIRQ Reset

Single Chip Mode, Expanded Mode, Test Mode und Bootsrap Mode

Page 3: EINGEBETTETE SYSTEME

3M.Milushev

MC68HC11- ein einfacher Mikrocontroller

Typ RAM ROM EPROM EEPROM

MC68HC11E0 512 Bytes - - 512 Bytes

MC68HC11E1 512 Bytes - - 512 Bytes

MC68HC11E9 512 Bytes 12 KBytes - 512 Bytes

MC68HC711E9 512 Bytes - 12 KBytes 512 Bytes

MC68HC11E20 768 Bytes 12 KBytes - 512 Bytes

MC68HC711E20 768 Bytes - 20 KBytes 512 Bytes

MC68HC811E2 256 Bytes - - 2 KBytes

Page 4: EINGEBETTETE SYSTEME

4M.Milushev

MC68HC11 Mikrocontrollern

0000

1000

RAM256 – 768 Bytes

Ein-/AusgabeZähler/Zeitgeber

64 Bytes

EEPROM512 -2048 Bytes

EPROM/ROM12 – 20 KBytes

103F

8600

FFFF

A B

D

IX

IY

SP

PC

PSW

16 Bit Akkumulator D oder

8 Bit Akkumulatoren A und B

16 Bit Indexregister IX

16 Bit Indexregister IY

16 Bit Kellerzeiger SP

16 Bit Programmzähler PC

8 Bit Prozessorstatuswort

Programmiermodel des MC68HC11

C - Carry, V - Overflow, Z - Zero, N - Negative,H - Half Carry, S - Stop Disable,X,I – Interrupt Masken

Page 5: EINGEBETTETE SYSTEME

5M.Milushev

Default Ports

0 PORTA 30

1 reserviert 5B

2 PIOC 03

3 PORTC 10

4 PORTB F7

5 PORTCL 00

6 reserviert 00

7 DDRC FF

8 PORTD 01

9 DDRD 3E

10 PORTE 00

11 CFORC 00

12 DC1M 00

13 DC1D 00

14 TCMT BE

15 TCNT 96

16 TIC1 FF

17 TICI FF

18 TIC2 FF

19 TIC2 FF

20 TIC3 FF

21TIC3 FF

22TOC1 FF

23 TOC1 FF

24 TOC2 DD

25 TOC2 00

26 TOC3 FF

27 TOC3 FF

28 TOC4 FF

29 TOC4 FF

30 TOC5 FF

31 TOC5 FF

32 TCTL1 3C

33 TCTL2 00

34 TMSK1 40

35 TTFLG1 98

36 TMSK2 00

37 TFLG2 C0

38 PACTL 00

39 PACMT 00

40 SPCR 00

41 SPSR 00

42 SPDR 00

43 BAUD 30

44 SCCR1 00

45 SCCR2 0C

46 SCSR 90

47 SCDE 00

48 ADCTL 07

49 ADR1 00

50 ADR2 00

51 ADR3 00

52 ADR4 00

53 reserviert 5B

54 reserviert 5B

55 reserviert 5B

56 reserviert 5B

57 OPTION 90

58 COPRST 5B

59 PPROG 00

60 HPRIO D5

61 IMIT 00

62 TEST1 08

63 COMFIG 0D

Page 6: EINGEBETTETE SYSTEME

6M.Milushev

Die Register und ihre gebräuchlichsten Anwendungen

1007h DDRC

1003h PORTC

PC0PC1PC2PC3PC4PC5PC6PC7

Interner Datenbus 8 - Bit

1004h PORTB

PB0PB1PB2PB3PB4PB5PB6PB7

Interner Datenbus 8 - Bit

PORTB - Senzen der Ausgänge von Port BPORTC - I/O-Portzugriff auf Port CDDRC - Data-Direction-Register für Port CPIOC - Parallel I/O-Control-Register

Bit 5 : 0 = Die Port C Ausgänge sind CMOS-TTL, 1 = Die Port C Ausgänge sind Open-Drain.

Page 7: EINGEBETTETE SYSTEME

7M.Milushev

MC68HC11- ein einfacher Mikrocontroller

Die Befehle des 68HC11CLR – Lösche Akku oder SpeicherstelleLDA – Lade AkkuSTA – Akku speichern

Die Steueranweisungen des AssemblersEQU – dient dazu, einem Label einem Wert zuzuweisenORG – diese Anweisung gibt die Startadresse des zu erzeugenden Codes an

a

b

c

e

f

g

PC0

PC1

PC2

PC3

PC4

PC5

PC6

PB0

d

f

d

a

b

ce

g

f

Page 8: EINGEBETTETE SYSTEME

8M.Milushev

MC68HC11- ein einfacher Mikrocontroller

*******************************Kostante und Variable********************* PIOC EQU H’1002’ PORTC EQU H’1003’ PORTB EQU H’1004’ DDRC EQU H’1007’ Quelle EQU H’0100’ *********************************************************************

Anwenderprogramm********************************************************************* ORG H’0000’*********************************************************************

Programmstart - Initialisierung********************************************************************* Start CLR PIOC CLR DDRC

CLR PORTB CLR PORTC LDA A H’20’ ;00100000

STA A PIOC LDA A H’7F’ ;01111111 STA A DDRC ;PC0-PC6-Ausg.

LDA A H’FF’STA A PORTB

Page 9: EINGEBETTETE SYSTEME

9M.Milushev

MC68HC11- ein einfacher Mikrocontroller

********************************************************************* Anwenderprogramm

*********************************************************************main JSR Ziffer

STA A PORTCLDA A H’FE’ ;11111110

STA A PORTB ;Leuchtdioden eingoto mainEND

Page 10: EINGEBETTETE SYSTEME

10M.Milushev

MC68HC11- ein einfacher Mikrocontroller

Konvertierungsprogramm*********************************************************************Ziffer LDX TABL ;(M) IR X und (M+1) IR X

LDA A Quelle ;(M) A SEG1 TST A ;A = 0 ? BEQ SEG 2 ;Sprung nach SEG 2, wenn Z = 1

INX ;IR X +1 IR X DEC A ;A - 1 A BRA SEG1 ;Sprung nach SEG 1

SEG2 LDA A X ;Lade die Speihehrstelle, die IR X zeigtRTS

Sieben-Segment-Code Tabelle *******************************************************************************************************************TABL FCB H’3F’ ;00111111 0

FCB H’06’ ;00000110 1FCB H’5B’ ;01011011 2FCB H’4F’ ;01001111 3FCB H’66’ ;01100110 4FCB H’6D’ ;01101101 5FCB H’7D’ ;01111101 6FCB H’07’ ;00000111 7FCB H’7F’ ;01111111 8FCB H’6F’ ;01101111 9

LDX – Lade Index-Register X mit einem 16-Bit- Wert (Add)TST A – Akku A auf null oder negativ testenBEQ – Wenn das Bit ZERO = 1 ( Das Ergebnis Null ist) relativer SprungINX – Inkrementiere Index-Register XDEC A – Dekrementirre Akku ABRA – Immer verzweigenRTS – Rückkehr aus Unterprogramm JSR – Springe in das Unterprogramm

Page 11: EINGEBETTETE SYSTEME

11M.Milushev

ENDE