📄 stddef18.inc
字号:
save
listing off ; kein Listing 乥er diesen File
;****************************************************************************
;* *
;* AS 1.40 - Datei STDDEF18.INC *
;* *
;* Sinn : enth刲t die SFR-Definitionen f乺 die PIC 16C8x-Familie *
;* Die Makrodefinitionen kann man bei Bedarf aus STDDEF16.INC *
;* kopieren *
;* *
;* letzte 巒derungen : 14.11.1993 *
;* 27. 2.1993 PIC16C64-Register *
;* IND0-->INDF umbenannt *
;* *
;****************************************************************************
ifndef stddef18inc ; verhindert Mehrfacheinbindung
stddef18inc equ 1
if (MOMCPU<93316)&&(MOMCPU<>93284)
fatal "Falscher Prozessortyp eingestellt: nur 16C84 oder 16C64 erlaubt"
endif
if MOMPASS=1
message "PIC16C8x-Definitionen (C) 1993 Alfred Arnold"
message "binde \{MOMCPU}-Register ein"
endif
;----------------------------------------------------------------------------
; erstmal die Spezialregister :
INDF SFR 0 ; indirekte Adressierung
PCL SFR 2 ; PC Bits 0..7
PCLATH SFR 10 ; obere H刲fte Programmz刪ler
Status SFR 3 ; Status-Register
FSR SFR 4 ; File-Select-Register
OPTION SFR $81 ; Chipkonfiguration
if MOMCPU=$16C64
PCON SFR $8e
endif
;----------------------------------------------------------------------------
; Ports
PortA SFR 5 ; Datenregister Port A
TrisA SFR $85 ; Datenrichtungsregister Port A
PortB SFR 6 ; Datenregister Port C
TrisB SFR $86 ; Datenrichtungsregister Port B
if MOMCPU=$16C64
PortC SFR 7 ; Datenregister Port C
TrisC SFR $87 ; Datenrichtungsregister Port C
PortD SFR 8 ; Datenregister Port D
TrisD SFR $88 ; Datenrichtungsregister Port D
PortE SFR 9 ; Datenregister Port E
TrisE SFR $89 ; Datenrichtungsregister Port E
endif
;----------------------------------------------------------------------------
; Timer
if MOMCPU=$16C64
TMR0 SFR 1 ; Z刪ler 0
TMR1L SFR 14 ; Z刪ler 1
TMR1H SFR 15
TMR2 SFR 17 ; Z刪ler 2
CCPR1L SFR $15 ; Vergleichs/Pulsweitenregister
CCPR1H SFR $16
T1CON SFR 16 ; Steuerung Z刪ler 1
T2CON SFR 18 ; Steuerung Z刪ler 2
PR2 SFR $92 ; Periode Z刪ler 2
CCP1CON SFR $17 ; Modus Vergleicher
elseif
RTCC SFR 1 ; Z刪ler
endif
;----------------------------------------------------------------------------
; serielle Schnittstelle
if MOMCPU=$16C64
SSPBuf SFR $13 ; serielles Datenregister
SSPCon SFR $14 ; Konfiguration
SSPAD0 SFR $93 ; I2C-Adre醨egister
SSPSTAT SFR $94 ; Schnittstellenstatus
endif
;----------------------------------------------------------------------------
; EEPROM
if MOMCPU=$16C84
EEData SFR 8 ; EEPROM Datenregister
EEAdr SFR 9 ; EEPROM Adre醨egister
EECON1 SFR $88 ; Konfiguration EEPROM
EECON2 SFR $89
endif
;----------------------------------------------------------------------------
; Interrupts
INTCON SFR 11 ; Interruptsteuerung
if MOMCPU=$16C64
PIR SFR 12 ; Interrupts aufgetreten ?
PIE SFR $8c ; Interruptfreigabe
endif
;============================================================================
; Bits im Statusregister
Flag_C EQU 0 ; Carry
Flag_DC EQU 1 ; Digit-Carry
Flag_Z EQU 2 ; Zero
Flag_PD EQU 3 ; Aufgewacht aus SLEEP-Befehl ?
Flag_TO EQU 4 ; Durch Watchdog zur乧kgesetzt ?
Flag_RP0 EQU 5 ; Registerbank Bit 8
if MOMCPU=$16C84
Flag_RP1 EQU 6 ; Registerbank Bit 9
Flag_IRP EQU 7 ; Registerbnak Bit 9 (indirekt)
endif
;----------------------------------------------------------------------------
; Bits in TrisE
if MOMCPU=$16C64
TRISE0 EQU 0 ; Datenrichtung RE0
TRISE1 EQU 1 ; Datenrichtung RE1
TRISE2 EQU 2 ; Datenrichtung RE2
PSPMODE EQU 4 ; Modus Port D&E
IBOV EQU 5 ; 歜erlauf Eingabepuffer
OBF EQU 6 ; Ausgabepuffer voll
IBF EQU 7 ; Eingabepuffer voll
endif
;----------------------------------------------------------------------------
; Bits in T1CON
if MOMCPU=$16C64
TMR1ON EQU 0 ; Timer 1 starten
TMR1CS EQU 1 ; Timer 1 mit internem/externem Takt
T1INSYNC EQU 2 ; Timer 1 extern synchronisieren
T1OSCEN EQU 3 ; Oszillator Timer 1 freigeben
T1CKPS0 EQU 4 ; Vorteilerwahl Timer 1
T1CKPS1 EQU 5
endif
; Bits in T2CON
if MOMCPU=$16C64
T2CKPS0 EQU 0 ; Vorteilerwahl Timer 2
T2CKPS1 EQU 1
TMR2ON EQU 2 ; Timer 2 ein/ausschalten
TOUTPS0 EQU 3 ; Nachteilerwahl Timer 2
TOUTPS1 EQU 4
TOUTPS2 EQU 5
TOUTPS3 EQU 7
endif
; Bits in CCP1CON
if MOMCPU=$16C64
CCP1M0 EQU 0 ; Modus CCP1
CCP1M1 EQU 1
CCP1M2 EQU 2
CCP1M3 EQU 3
CCP1Y EQU 4 ; PWM Bits 0,1
CCP1X EQU 5
endif
;----------------------------------------------------------------------------
; Bits in SSPSTAT
if MOMCPU=$16C64
BF EQU 0 ; Puffer voll ?
UA EQU 1 ; neue Adresse mu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -