home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of German Only 1
/
romside_best_of_german_only_1.iso
/
anwender
/
sim
/
sim51_04.arj
/
REG517.PDF
< prev
next >
Wrap
Text File
|
1991-12-17
|
8KB
|
265 lines
; Speziell Funktion Register (SFR) des 80517 und 80537 (Siemens)
;------------------------------------------------------------------
;
; interner Datenspeicher: 256 Byte RAM (Adresse 00...0FFh)
; interner Programmspeicher: bei 80517 = 8 kByte ROM (Adresse 000...1FFFh)
; der 80537 besitzt keinen internen Programmspeicher
; Timer: drei 16-Bit Timer
; ein 16-Bit Watchdog
; serielle Schnittstelle: zwei zeichenorientierte
; 8 Bit Analog-/Digital-Wandler mit 12 multiplexten Analogeingängen (P7 und P8)
; Pulsweitenmodulation mit Timer2 und Compare-Register
; Multipikation / Division Einheit
; Oszillator-Watchdog
; Programme für den 8051 laufen nicht uneingeschränkt auf dem 80517.
; Das Interrupt-Priority Register liegt auf einer anderen Adresse!
; Auch Timer 2 ist nicht mit dem im 8052 kompatibel! (T2CON enthält
; andere Funktionen)
; der 80517 ist abwärtskompatibel zum 80515 (andere Pin-Belegung)
; Er besitzt alle Funktionen des 8051 und 8052, jedoch müssen Interrupts
; und Timer2 anderst programmiert werden.
;******* CODE *******
;RESET CODE 0000 ; diese CODE-Adressen kennt der ASM51.EXE trotz
;EXTI0 CODE 0003 ; NOMOD51-Diretive default
;TIMER0 CODE 000Bh
;EXTI1 CODE 0013h
;TIMER1 CODE 001Bh
SINT0 CODE 0023h
TIMER2 CODE 002Bh ; weitere Interrupt-Einsprünge
ADCI CODE 0043h
EXTI2 CODE 004Bh
EXTI3 CODE 0053h
EXTI4 CODE 005Bh
EXTI5 CODE 0063h
EXTI6 CODE 006Bh
SINT1 CODE 0083h
CTFI CODE 009Bh ; compare Timer Überlauf
;******* DATA *******
P0 DATA 80h ; Ports
P1 DATA 90h
P2 DATA 0A0h
P3 DATA 0B0h
P4 DATA 0E8h ; adressierbar wie Port 1
P5 DATA 0F8h ; adressierbar wie Port 1
P6 DATA 0FAh
P7 DATA 0DBh ; nur Eingang - wahlweise als Analogeingänge
P8 DATA 0DDh ; nur Eingang (nur 4 Bit) - wahlweise als Analogeingänge
ADCON0 DATA 0D8h ; Analog-/Digital Control - entspricht ADCON bei 80515
ADCON1 DATA 0DCh
ADDAT DATA 0D9h ; Data
DAPR DATA 0DAh ; Programm
PSW DATA 0D0h ; CPU-Control
PCON DATA 87h
ACC DATA 0E0h ; Rechenregister
B DATA 0F0h
ARCON DATA 0EFh ; Arithmetik-Control
MD5 DATA 0EEh ; Multiplikation/Division
MD4 DATA 0EDh ; Multiplikation/Division
MD3 DATA 0ECh ; Multiplikation/Division
MD2 DATA 0EBh ; Multiplikation/Division
MD1 DATA 0EAh ; Multiplikation/Division
MD0 DATA 0E9h ; Multiplikation/Division
SP DATA 81h ; Stack-Pointer
DPL DATA 82h ; Daten-Pointer Low Byte
DPH DATA 83h
DPSEL DATA 92h ; Daten-Pointer select
TCON DATA 88h ; Timer Control für Timer 0, 1
TMOD DATA 89h ; Timer Mode für Timer 0, 1
TL0 DATA 8Ah ; Timer 0 Low Byte
TL1 DATA 8Bh
TH0 DATA 8Ch
TH1 DATA 8Dh
;
CCEN DATA 0C1h ; Compare/Capture Enable
CC4EN DATA 0C9h
CCL1 DATA 0C2h
CCH1 DATA 0C3h
CCL2 DATA 0C4h
CCH2 DATA 0C5h
CCL3 DATA 0C6h
CCH3 DATA 0C7h
CCL4 DATA 0CEh
CCH4 DATA 0CFh
T2CON DATA 0C8h ; Timer 2 Control ! andere Funktion als beim 8052 !
CRCL DATA 0CAh ; ähnlich wie RCAP2L beim 8052
CRCH DATA 0CBh ; ähnlich wie RCAP2H beim 8052
T2L DATA 0CCh
T2H DATA 0CDh
CMEN DATA 0F6h
CML0 DATA 0D2h
CMH0 DATA 0D3h
CML1 DATA 0D4h
CMH1 DATA 0D5h
CML2 DATA 0D6h
CMH2 DATA 0D7h
CML3 DATA 0E2h
CMH3 DATA 0E3h
CML4 DATA 0E4h
CMH4 DATA 0E5h
CML5 DATA 0E6h
CMH5 DATA 0E7h
CML6 DATA 0F2h
CMH6 DATA 0F3h
CML7 DATA 0F4h
CMH7 DATA 0F5h
CMSEL DATA 0F7h
CTCON DATA 0E1h
CTRELL DATA 0DEh
CTRELH DATA 0DFh
IEN0 DATA 0A8h ; bei 8051 mit IE bezeichnet, gleiche Funktion
IP0 DATA 0A9h ; bei 8051: IP = 0B8h ! Adresse und Funktion geändert
IEN1 DATA 0B8h
IP1 DATA 0B9h
IEN2 DATA 9Ah
IRCON DATA 0C0h
S0CON DATA 98h ; serielle Schnittstelle Control
S0BUF DATA 99h ; Data
S1CON DATA 9Bh
S1BUF DATA 9Ch
S1REL DATA 9Dh ; Reload
WDTREL DATA 86h ; Watchdog Reload
;******* BIT *******
; ..................... PSW --> D0
CY BIT 0D7h ; Carry
AC BIT 0D6h ; Hilfs-Carry
F0 BIT 0D5h ; Flag 0, frei
RS1 BIT 0D4h ; Registerbank-Selekt
RS0 BIT 0D3h
OV BIT 0D2h ; Overrun
F1 BIT 0D1h ; Flag 1, frei
P BIT 0D0h ; Parity
; ..................... TCON --> 88
TF1 BIT 8Fh ; Timer1 Überlauf-Flag
TR1 BIT 8Eh ; Timer1 run
TF0 BIT 8Dh ; Timer0 Überlauf-Flag
TR0 BIT 8Ch ; Timer0 run
IE1 BIT 8Bh ; extern Int1 Flag
IT1 BIT 8Ah ; Flankentriggerung für Int1
IE0 BIT 89h ; extern Int0 Flag
IT0 BIT 88h ; Flankentriggerung für Int0
; ..................... IEN0 --> A8
EAL BIT 0AFh ; gleich Adresse, gleiche Funktion wie EA bei 8051
WDT BIT 0AEh ; Watchdog rücksetzen (mit SWDT)
ET2 BIT 0ADh ; Timer 2 Interrupt Enable
ES BIT 0ACh ; seriell Interrupt Enable
ET1 BIT 0ABh ; Timer 1 Interrupt Enable
EX1 BIT 0AAh ; extern INT1 Interrupt Enable
ET0 BIT 0A9h ; Timer 0 Interrupt Enable
EX0 BIT 0A8h ; extern INT0 Interrupt Enable
; ..................... IEN1 --> B8
EXEN2 BIT 0BFh ; externer Reload-Int Enable
SWDT BIT 0BEh ; start Watchdog + Rücksetzen (mit WDT)
EX6 BIT 0BDh ; externer Interrupt 6 Enable
EX5 BIT 0BCh ; externer Interrupt 5 Enable
EX4 BIT 0BBh ; externer Interrupt 4 Enable
EX3 BIT 0BAh ; externer Interrupt 3 Enable
EX2 BIT 0B9h ; externer Interrupt 2 Enable
EADC BIT 0B8h ; A/D Wandler Interrupt Enable
; die Interrupt-Priority-Register sind nicht bitadressierbar!
; ..................... IRCON --> C0
EXF2 BIT 0C7h ; extern Reload Request Flag
TF2 BIT 0C6h ; Timer2 Überlauf Flag
IEX6 BIT 0C5h ; extern Int6 Flag
IEX5 BIT 0C4h ; extern Int5 Flag
IEX4 BIT 0C3h ; extern Int4 Flag
IEX3 BIT 0C2h ; extern Int3 Flag
IEX2 BIT 0C1h ; extern Int2 Flag
IADC BIT 0C0h ; A/D Request Flag
; ..................... P3 --> B0
RD BIT 0B7h ; Lesesignal bei MOVX-Befehl
WR BIT 0B6h ; Schreibsignal bei MOVX-Befehl
T1 BIT 0B5h ; Timer1 Zähleingeng
T0 BIT 0B4h ; Timer0 Zähleingang
INT1 BIT 0B3h ; externer Interrupt 1
INT0 BIT 0B2h ; externer Interrupt 0
TXD BIT 0B1h ; Sendeausgang der seriellen Schnittstelle
RXD BIT 0B0h ; Empfängereingang der seriellen Schnittstelle
; ..................... S0CON --> 98
SM0 BIT 9Fh ; seiell Mode-Auswahl
SM1 BIT 9Eh
SM2 BIT 9Dh ; Bit08 Mode-auswahl
REN BIT 9Ch ; Receive Enable
TB8 BIT 9Bh ; transmit als Bit08
RB8 BIT 9Ah ; receive Bit08
TI BIT 99h ; transmit Interrupt Flag
RI BIT 98h ; receive Interrupt Flag
; ..................... T2CON --> C8
T2PS BIT 0CFh ; OszillatorFreq. Vorteiler 12/24
I3FR BIT 0CEh ; selekt Flanke für Int3
I2FR BIT 0CDh ; selekt Flanke für Int2
T2R1 BIT 0CCh ; Reload-Modus Wahl T2R1:T2R0
T2R0 BIT 0CBh
T2CM BIT 0CAh ; Compare Modus Wahl
T2I1 BIT 0C9h ; Increment-Modus Wahl T2I1:T2I0
T2I0 BIT 0C8h
; ..................... ADCON0 --> D8
BD BIT 0DFH ; Baudrate für seriell über internen Baudrate-Generator
CLK BIT 0DEH ; System Takt an Port P1.6 enable
BSY BIT 0DCH ; Busy Flag
ADM BIT 0DBH ; A/D Modus (einmalig, fortlaufend)
MX2 BIT 0DAH ; Analogkanal-Wahl: MX2:MX1:MX0
MX1 BIT 0D9H
MX0 BIT 0D8H
; .................... P1 --> 90
T2 BIT 97h ; Timer2 Zähleingang
CLKOUT BIT 96h ; Systemtakt-Ausgang
T2EX BIT 95h ; externer Reload Eingang
INT2 BIT 94h ; externer Interrupt 2
INT6 BIT 93h ; externer Interrupt 6
INT5 BIT 92h ; externer Interrupt 5
INT4 BIT 91h ; externer Interrupt 4
INT3 BIT 90h ; externer Interrupt 3
CC3 BIT 93h ; Capture Eingang / Compare Ausgang 3
CC2 BIT 93h ; Capture Eingang / Compare Ausgang 2
CC1 BIT 93h ; Capture Eingang / Compare Ausgang 1
CC0 BIT 93h ; Capture Eingang / Compare Ausgang 0
; .................... P4 --> E8
CM7 DATA 0EFh ; Compare Kanal 7
CM6 DATA 0EEh ; Compare Kanal 6
CM5 DATA 0EDh ; Compare Kanal 5
CM4 DATA 0ECh ; Compare Kanal 4
CM3 DATA 0EBh ; Compare Kanal 3
CM2 DATA 0EAh ; Compare Kanal 2
CM1 DATA 0E9h ; Compare Kanal 1
CM0 DATA 0E8h ; Compare Kanal 0
; .................... P5 --> F8
CCM7 DATA 0FFh ; Concurrate Compare Kanal 7
CCM6 DATA 0FEh ; Concurrate Compare Kanal 6
CCM5 DATA 0FDh ; Concurrate Compare Kanal 5
CCM4 DATA 0FCh ; Concurrate Compare Kanal 4
CCM3 DATA 0FBh ; Concurrate Compare Kanal 3
CCM2 D