110 likes | 261 Views
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
E N D
EINGEBETTETESYSTEME 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 (Tabelle) Synchrone serielle Schnittstelle SPI Asynchrone serielle Schnittstelle SCI Puls.Akkumulator Erweiterungsbus Adressen (8-15) Daten/Adressen (0-7) Analog/Digital Wandler Parallele Schnittstelle A Parallele Schnittstelle B Parallele Schnittstelle C Parallele Schnittstelle D Parallele Schnittstelle E Capture/Compare Parallele E/A Erweiterungsbus Parallele A Erweiterungsbus Parallele E/A Analoge E Parallele E Sync.&Async.serielle E/A Parallele E/A Internes Blokschaltbild des Microkontrollers MC68HC11 Single Chip Mode, Expanded Mode, Test Mode und Bootsrap Mode
MC68HC11 Mikrocontrollern Programmiermodel des MC68HC11 0000 RAM 256 – 768 Bytes D 16 Bit Akkumulator D oder A B 8 Bit Akkumulatoren A und B 1000 Ein-/Ausgabe Zähler/Zeitgeber 64 Bytes IX 16 Bit Indexregister IX 103F IY 16 Bit Indexregister IY SP 16 Bit Kellerzeiger SP 8600 EEPROM 512 -2048 Bytes PC 16 Bit Programmzähler PC PSW 8 Bit Prozessorstatuswort EPROM/ROM 12 – 20 KBytes C - Carry, V - Overflow, Z - Zero, N - Negative, H - Half Carry, S - Stop Disable, X,I – Interrupt Masken FFFF
Interner Datenbus 8 - Bit Interner Datenbus 8 - Bit 1007h DDRC 1003h PORTC 1004h PORTB PC7 PB7 PC6 PB6 PC5 PB5 PC4 PB4 PC3 PB3 PC2 PB2 PC1 PB1 PC0 PB0 Die Register und ihre gebräuchlichsten Anwendungen PORTB - Senzen der Ausgänge von Port B PORTC - I/O-Portzugriff auf Port C DDRC - Data-Direction-Register für Port C PIOC - 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.
MC68HC11- ein einfacher Mikrocontroller Die Befehle des 68HC11 CLR – Lösche Akku oder Speicherstelle LDA – Lade Akku STA – Akku speichern Die Steueranweisungen des Assemblers EQU – dient dazu, einem Label einem Wert zuzuweisen ORG – diese Anweisung gibt die Startadresse des zu erzeugenden Codes an
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 CLRPIOC • CLRDDRC • CLR PORTB • CLR PORTC • LDA AH’20’ ;00100000 • STA APIOC • LDA AH’7F’ ;01111111 • STA A DDRC ;PC0-PC6-Ausg. • LDA AH’FF’ • STA A PORTB
MC68HC11- ein einfacher Mikrocontroller • ********************************************************************* • Anwenderprogramm • ********************************************************************* • main JSR Ziffer • STA A PORTC • LDA AH’FE’ ;11111110 • STA A PORTB ;Leuchtdioden ein • goto main • END
MC68HC11- ein einfacher Mikrocontroller LDX – Lade Index-Register X mit einem 16-Bit- Wert (Add) TST A – Akku A auf null oder negativ testen BEQ – Wenn das Bit ZERO = 1 ( Das Ergebnis Null ist) relativer Sprung INX – Inkrementiere Index-Register X DEC A – Dekrementirre Akku A BRA – Immer verzweigen RTS – Rückkehr aus Unterprogramm JSR – Springe in das Unterprogramm • 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 zeigt • RTS • Sieben-Segment-Code Tabelle • ******************************************************************************************************************* • TABL FCB H’3F’ ;00111111 0 • FCB H’06’ ;00000110 1 • FCB H’5B’ ;01011011 2 • FCB H’4F’ ;01001111 3 • FCB H’66’ ;01100110 4 • FCB H’6D’ ;01101101 5 • FCB H’7D’ ;01111101 6 • FCB H’07’ ;00000111 7 • FCB H’7F’ ;01111111 8 • FCB H’6F’ ;01101111 9