Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seite 1 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Mikrocomputertechnik - Kapitel 4 Herzlich Willkommen Prof. Jürgen Walter.

Ähnliche Präsentationen


Präsentation zum Thema: "Seite 1 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Mikrocomputertechnik - Kapitel 4 Herzlich Willkommen Prof. Jürgen Walter."—  Präsentation transkript:

1 Seite 1 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Mikrocomputertechnik - Kapitel 4 Herzlich Willkommen Prof. Jürgen Walter

2 Seite 2 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc 8051-Assembler: Befehl mov A,#89

3 Seite 3 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.1. Übersetzung des Codes in eine Hexadezimalzahl BitkombinationAls HexadezimalzahlMnemotechnischer Code B74Hmov A,# B59H

4 Seite 4 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.2. Dokumentation der Beschaltung PortAnschlußBemerkung P1.1T1Taster 1 P1.2T2Taster 2 P1.3T3Taster 3 P3.2L1Leuchtdiode 1 P3.3L2Leuchtdiode 2 P3.4L3Leuchtdiode 3

5 Seite 5 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild 4.4. Struktogramm: EIN_AUS.ASM

6 Seite 6 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Programm-Ablaufpläne / Struktogramme 1

7 Seite 7 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Programm-Ablaufpläne / Struktogramme 2

8 Seite 8 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Programm-Ablaufpläne / Struktogramme 3

9 Seite 9 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc EIN_AUS.ASM $ title (EIN_AUS) $debug ;Einfaches Programm zum Ein- Ausschalten einer Leuchte ;Taster 1 Einschalten, Taster 2 Ausschalten ;Taster 3 Programm beenden CSEG AT 0H ;Legt absolute Codesegmentadresse auf 0h ljmp ANFANG;Sprung auf Programmanfang ORG 100H ;Programmstart bei 100H ANFANG: jnb P1.1,LICHT_EIN ;Schalter 1 betaetigt ? jnb P1.2,LICHT_AUS ;Schalter 2 betaetigt ? jnb P1.3,PROGRAMM_ENDE ;Programmende ajmp ANFANG ;Springe zur Adresse Anfang LICHT_EIN: clr P3.2 ;Licht einschalten ajmp Anfang ;Springe zur Adresse Anfang LICHT_AUS: setb P3.2 ;Licht ausschalten ajmp ANFANG ;Springe zur Adresse Anfang PROGRAMM_ENDE: ljmp 8000H;Monitoreinsprung end

10 Seite 10 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild 4.3 Beschaltung der Ports

11 Seite 11 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild Speicherbereiche 8051 / 80535

12 Seite 12 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild Registerbänke

13 Seite 13 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.5. Interrupt Vektoren im Programm- speicherbereich des 8051 PCInterrupt NameErklärung 0000HRESETStart Address after Reset 0003HEXTIOExternal Interrupt 0 000BHTIMER 0Timer 0 Overflow Interrupt 0013HEXTI1External Interrupt 1 001BHTIMER1Timer 1 Overflow Interrupt 0023HSINTSerial Channel 0 Interrupt

14 Seite 14 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild Programmspeicher

15 Seite 15 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild Interner Datenspeicher

16 Seite 16 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild Externer Datenspeicher

17 Seite 17 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild Bitadressierbarer RAM-Bereich

18 Seite 18 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Bild Speicherbereiche - Segmente

19 Seite 19 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.6. Assembler Controls ControlDefaultAbbreviation;Funktion [ { _ MOD51 } ] * [ { _ NOMOD51 } ] * MOD51-Mit MOD51 benutzt der Assembler die SFR- und Bitsymbole des SAB8051. NOMOD51 unterdrückt die Standardsymbole des 8051 und gibt dem Assembler die Symbole bekannt, die mit der Include- Datei.PDF eingebunden werden. Dieser Befehl ist bei Derivaten des SAB 8051 notwendig. [ { _ DATE ( ) } ] *DATE ()DAText aus max. 9 Zeichen wird im Seitenkopf als Überschrift ausgegeben [ { _ DEBUG } ] * [ { _ NODEBUG } ] * NODEBUGDB / NODBAufnahme bzw. Unterdrückung der Symboltabelle in die Objektcodedatei für das symbolische Testen mit dem ETA [ { _ EJECT } ]no EJECTEJPapiervorschub auf Formularanfang [ { _ ERRORPRINT [ ( ) ] } ] * [ { _ NOERRORPRINT } ] * NOERRORPRIN T EP / NOEPAngabe einer Datei, in der die Fehlermeldungen zusätzlich zur List-Datei abgelegt werden. Standarddatei ist :CO: [ { _ GEN } ]GEGenerieren der Makro-Definition, der Makroaufrufe und der Makroexpansionen in der List-Datei [ { _ GENONLY } ]GENONLYGOGenerieren von ausschließlich Makroexpansionen in der List-Datei, so als ob die Expansion Teil des Quellenprogramms wäre [ { _ NOGEN } ]NOGEGenerieren der Makro-Definitionen, der Makroaufrufe, aber nicht der Expansionen in der List-Datei [ { _ INCLUDE ( 9) } ]no INCLUDEICEinfügen des Primärprogramms der Datei [ { _ LIST } ] [ { _ NOLIST } ] LISTLI / NOLIErstellen bzw. Unterdrücken einer Übersetzungsliste [ { _ MACRO [ ( ) } ] * [ { _ NOMACRO } ] * MACRO (50)MR / NOMRAuswerten und Expandieren von Makro-Aufrufen (bzw. keine Auswertung und Expansion bei NOMACRO). Prozentuale Zuweisung des verfügbaren Speichers

20 Seite 20 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.6.b Assembler Controls ControlDefaultAbbreviationFunktion [ { _ OBJECT ( ) } ] * [ { _ NOOBJECT } ] * OBJECT ( ) OJ / NOOJErstellung bzw. Unterdrückung einer Objektcodedatei [ { _ PAGELENGTH ( ) } ] *PAGELENGTH (60)PLEinstellung der Anzahl der Zeilen pro Seite (minimal 10, maximal 65535) [ { _ PAGEWIDTH ( ) } ] *PAGEWIDTH (120)PWEinstellung der Anzahl der Zeichen pro Zeile (72 <= n <= 132) [ { _ PAGING } ] * [ { _ NOPAGING } ] * PAGINGPI / NOPIAufteilung bzw. Nichtaufteilung der Übersetzungsliste in Seiten mit Überschrift [ { _ PRINT ( ) } ] * [ { _ NOPRINT } ] * PRINT ( ) PR / NOPRErstellung bzw. Unterdrückung einer Übersetzungs-listendatei [ { _ REGISTERBANK ( [...]) } ] * [ { _ NOREGISTERBANK } ] * REGISTERBANK (0)RB / NORBReservierung der benutzten Registerbänke im Programm Modul. Mit NORB wird keine Registerbank reserviert [ { _ RESTORE } ]no RESTORERSWiederaktivierung der zuletzt sichergestellten Steuer- parameter LIST, GEN [ { _ SAVE } ]no SAVESASicherstellen der augenblicklichen Zustände der Steuerparameter LIST, GEN [ { _ SYMBOLS } ] * [ { _ NOSYMBOLS } ] * SYMBOLSSB / NOSBAufnahme bzw. Unterdrückung der Symboltabelle in die Übersetzungsdatei [ { _ TITLE (' ') } ]no TITLETTAusgabe der Zeichenfolge in der Über-setzungszeile (max. 60 Zeichen) einer jeden Seite der List-Datei [ { _ WORKFILES (ddd[, ddd]) } ] *same drive as source file WFZuweisung Laufwerke für temporäre Arbeitsdateien des Assemblers [ { _ XREF } ] * [ { _ NOXREF } ] * NOXREFXR / NOXRAufnahme bzw. Unterdrückung der Symbol-Querverweisliste in die Übersetzungsdatei

21 Seite 21 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.7. Program Status Word AbkürzungAdresseBedeutung CYBIT0D7HCarry flag ACBIT0D6HAuxiliary carry flag for BCD operations F0BIT0D5HGeneral purpose user flag RS1BIT0D4Hregister bank select bits (00 - Bank 0; 01 Bank 1) RS0BIT0D3Hregister bank select bits (10 - Bank 2; 11 Bank 3) OVBIT0D2HOverflow flag F1BIT0D1HGeneral purpose user flag PBIT0D0HParity flag. wird bei jeder Instruktion gesetzt, rückgesetzt, ODD-EVEN von Akkumulator

22 Seite 22 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.8. Special Function Register nach funktionellen Gruppen BlockSymbolRegisterAdresseWert nach Reset CPUACCAkkumulator0E0H1)00H BHilfsregister B0F0H1)00H DPTRDatenzeiger, High Byte Low Byte 83H 82H 0000H PSWProgramm-Status-Wort0D0H1)00H SPStapel-Zeiger81H07H PCProgramm-Zähler0000H InterruptIEInterrupt-Freigabe0A8H1)00H SystemIPInterrupt-Priorität0B8H1)00H PortsP0Port 080H1)0FFH P1Port 190H1)0FFH P2Port 20A0H1)0FFH P3Port 30B0H1)0FFH SerielleSCONSerielle Port Kontrolle098H1)00H SchnittstelleSBUFSerielle Ein-/ Ausgangspuffer99Hundefined

23 Seite 23 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.8.b Special Function Register nach funktionellen Gruppen BlockSymbolRegisterAdresseWert nach Reset Timer 0/TCONZeitgeberkontrolle88H1)00H Timer 1TMODZeitgebermodus89H00H TH0, TL0 Zählerinhalt Zeitgeber 08CH 8AH 0000H TH1, TL1 Zählerinhalt Zeitgeber 18DH 8BH 0000H Erweiterung InterruptIEN0Interrupt-Freigabe-Register 00A8H1)00H SystemIEN1Interrupt-Freigabe-Register 10B8H1)00H IP0Interrupt Priorität Register 00A9H00H IP1Interrupt Priorität Register 10B9HXX B3) IRCONInterrupt Anforderung Kontrolle0C0H1)00H TCON2)Zeitgeber 1 Kontrolle88H1)00H T2CON2)Zeitgeber 2 Kontrolle0C8H1)00H

24 Seite 24 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.8.c Special Function Register nach funktionellen Gruppen BlockSymbolRegisterAdresseWert nach Reset PortsP4Port 40E8H1)0FFH P5Port 50F8H1)0FFH P6Port 6, Analog/Digital Input0DBH Power Saving Mode PCONEnergiespar-Modus Power Control Register 87H00H Serielle Schnittstelle ADCONA/D Wandlung, aber hier 7. Bit BD Baudrate 4800/9600 0D8H1)00H PCON2)Power Control, aber hier 7. Bit SMOD Baudrate verdoppelt 87Hundefined Compare/CCENVergleich Übernahme Freigabe0C1H00H Capture -Unit CCH1 CCL1 Vergleich Übernahme Register 10C3H 0C2H 00H (CCU)CCH2 CCL2 Vergleich Übernahme Register 20C5H 0C4H 00H

25 Seite 25 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.8.e Special Function Register nach funktionellen Gruppen BlockSymbolRegisterAdresseWert nach Reset CCH3 CCL3 Vergleich Übernahme Register 3 0C7H 0C6H 00H CCH4 CCL4 Vergleich Übernahme Register 4 0CFH 0CEH 00H CRCH CRCL Vergleich /Lade/Übernahme Register 0CBH 0CAH 00H TH2 TL2 Zählerinhalt Zeitgeber 20CDH 0CCH 0000H T2CONZeitgeberkontrolle 20C8H1)00H A/DADCONA/D-Wandler Kontrolle0D8H1)00H WandlerADDATA/D-Wandler Datenregister0D9H00H DAPRD/A-Wandler Kontrolle0DAH00H

26 Seite 26 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.9. Wichtige Schreibweisen und Bedeutungen für die Befehle AbkürzungBedeutung #dataDaten sind in der Instruktion codiert - # = Zahl data addrSpeicheradresse innerhalb des Chips Rr0<=r< =7 Allgemein verwendbares Register der =r<= 1 indirekt adressierbares Register der Registerbänke code addr16-Bit-Adresse decodiert als: volle 16-Bit-Adresse 11-Bit-Seitenadresse 8-Bit relativer Offset AAkkumulator CCarry Flag bit addrBit-Adresse auf dem Chip / bit addrComplementierter Inhalt der Bit-Adresse DPTRDatenzeiger ( Data Pointer ) PCProgrammzähler ( Program Counter ) ABRegister Paar

27 Seite 27 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle Registerinhalte nach RESET mit Übersetzung Register SymbolWert AccumulatorAkkumulatorACC00H Multiplicationsregister -Hilfsregister BB00H Data PointerDatenzeigerDPTR0000H Interrupt EnableInterrupt FreigabeIEN0, IEN100H Interrupt PriorityInterrupt PrioritätIP0, IP100H Port 0 P00FFH Port 1 P10FFH Port 2 P20FFH Port 3 P30FFH Program CounterProgramm ZählerPC0000H Program Status WordProgramm Status WortPSW00H Serial Port ControlSerielle Port KontrolleSCON00H Serial I/O-BufferSerielle Ein-/ AusgangspufferSBUFundefined Stack PointerStapel-ZeigerSP07H Timer ControlZeitgeberkontrolleTCON00H Timer ModeZeitgebermodusTMOD00H Timer 0 CounterZählerinhalt Zeitgeber 0TH0,TL00000H Timer 1 CounterZählerinhalt Zeitgeber 1TH1,TL10000H

28 Seite 28 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle 4.10.b Registerinhalte nach RESET mit Übersetzung Register SymbolWert Erweiterung Timer 2 ControlZeitgeber 2 KontrolleT2CON00H Timer 2 CounterZählerinhalt Zeitgeber 0TH2,TL20000H Interr. Request Reg.Interrupt AnforderungIRCON00H Interrupt Control Reg.Interrupt KontrollregisterIRCON00H Comp. Capture Reg. 1Vergl. Übern. Reg. 1CCH1,CCL100H Comp. Capture Reg. 2Vergl. Übern. Reg. 2CCH2,CCL200H Comp. Capture Reg. 3Vergl. Übern. Reg. 3CCH3.CCL300H Comp./Rel./CaptureVergl. /Lade/Übern. Reg.CRCH,CRCL00H Timer 2 Control Reg.Zeitgeberkontrolle 2T2CON00H A/D-Conv. Contr. Reg.A/D-Wandler KontrolleADCON00H D/A Conv. Progr. Reg.D/A-Wandler KontrolleDAPR00H Power Control Reg.Versorgungs-KontrollePCON00H Comp./capture enableVergl.-Übern. FreigabeCCEN00H A/D conv. data RegisterA/D-Wandler Datenreg. 8ADDAT00H

29 Seite 29 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Tabelle PCON BITS Power Control Bits PCON BITS - Power Control Bits 87H SMOD PDSIDLS-GF1GF0PDEIDLE PCON Diese Bits werden nicht für den Stromsparmodus verwendet BitFunktion PDSPower Down Start Bit. Wird dieses Bit gesetzt, ist dies der letzte Befehl, bevor in den Stromsparmodus umgeschaltet wird. IDLSIDLS Start Bit Wird dieses Bit gesetzt, ist dies der letzte Befehl, bevor in den IDLE-Mode (nur CPU ohne Takt) umgeschaltet wird. GF1Bit zur allgemeinen Verwendung GF0Bit zur allgemeinen Verwendung PDEPower Down Enable. Ermöglicht bei "1" den Stromsparmodus IDLEIdle mode Enable bit. Ermöglicht bei "1" den IDLE-Mode

30 Seite 30 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc IEN0 Interrupt Enable 0 / Interrupt 0 Freigabe- Register, bitadressierbar 0A8HEALWDTET2ESET1EX1ET0EX0 IEN0 Wird nicht für Watchdog verwendet Tabelle IEN0 Interrupt 0 Control Bits BitFunktion WDT"0" Externer Interrupt 0 gesperrt "1" Erzeugt ein Zurücksetzen des Watchdog Timers. Muß unmittelbar vor SWDT gesetzt werden, um ein unbeabsichtigtes Rücksetzten zu vermeiden.

31 Seite 31 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc IEN1 Interrupt Enable 1 / Interrupt 1 Freigabe-Register, bitadressierbar 0A9H-WDTSIP0.5IP0.4IP0.3IP0.2IP0.1IP0.0 IP0 Wird nicht für Watchdog verwendet Tabelle IEN1 Interrupt 0 Control Bits BitFunktion WDTSWatchdog timer status flag "1" wird durch Hardware bei Start des Watchdog Timers erzeugt. Kann durch Software ausgelesen werden.


Herunterladen ppt "Seite 1 Prof. J. WALTER Kurstitel Stand: Oktober 2001 mc Mikrocomputertechnik - Kapitel 4 Herzlich Willkommen Prof. Jürgen Walter."

Ähnliche Präsentationen


Google-Anzeigen