📄 stddef37.inc
字号:
save
listing off ; kein Listing 乥er diesen File
;****************************************************************************
;* *
;* AS 1.40 - Datei STDDEF37.INC *
;* *
;* Sinn : enth刲t SFR- und Bitdefinitionen f乺 die TMS370-Prozessoren *
;* *
;* letzte 巒derungen : 12. 5.1993 *
;* *
;****************************************************************************
ifndef stddef37inc ; verhindert Mehrfacheinbindung
stddef37inc equ 1
if (MOMCPU<>57720848)&&(MOMCPU<>57720864)&&(MOMCPU<>57720880)&&(MOMCPU<>57720896)&&(MOMCPU<>57720912)
fatal "Falscher Prozessortyp eingestellt: nur 370C010, 370C020, 370C030, 370C040 oder 370C050 erlaubt!"
endif
if MOMPASS=1
message "TMS370-Register-Definitionen (C) 1994 Alfred Arnold"
message "binde \{MOMCPU}-SFRs ein"
endif
; Das mit diesen langen Namen ist ja wohl nicht ernst gemeint ???
;----------------------------------------------------------------------------
; Systemsteuerung
sccr0 equ p010
cold_start dbit 7,sccr0 ; Kaltstart ?
osc_power dbit 6,sccr0 ; Stromaufnahme Oszillator reduzieren
pf_auto_wait dbit 5,sccr0 ; Wartezyklen f乺 externe Peripherie
osc_flt_flag dbit 4,sccr0 ; Fehler in Oszillatorschaltung ?
mc_pin_wpo dbit 3,sccr0 ; Spannung an MC hoch genug ?
mc_pin_data dbit 2,sccr0 ; Zustand des MC-Anschlusses
up_uc_mode dbit 0,sccr0 ; Mikroprozessor/Mikrokontroller-Modus
sccr1 equ p011
auto_wait_disable dbit 4,sccr1 ; Wartezyklen f乺 externen Speicher
memory_disable dbit 2,sccr1 ; int. ROM abschalten
sccr2 equ p012
halt_standby dbit 7,sccr2 ; Halt oder /Standby-Modus
pwrdwn_idle dbit 6,sccr2 ; /Idle oder Halt/Standby-Modus
bus_stest dbit 4,sccr2 ; Bus-Selbsttest ??
cpu_stest dbit 3,sccr2 ; Prozessor-Selbsttest ??
int1_nmi dbit 1,sccr2 ; Interrupt 1 maskierbar/nicht maskierbar
privilege_disable dbit 0,sccr2 ; privilegierten Modus verlassen
;----------------------------------------------------------------------------
; digitaler IO
aport1 equ p020
aport2 equ p021
adata equ p022 ; Port A Datenregister
adir equ p023 ; Port A Datenrichtungsregister
if (MOMCPU=370C020h)||(MOMCPU>370C030h)
bport1 equ p024
bport2 equ p025
bdata equ p026 ; Port B Datenregister
bdir equ p027 ; Port B Datenrichtungsregister
endif
if (MOMCPU=370C020h)||(MOMCPU=370C050h)
cport1 equ p028
cport2 equ p029
cdata equ p02a ; Port C Datenregister
cdir equ p02b ; Port C Datenrichtungsregister
endif
dport1 equ p02c
dport2 equ p02d
ddata equ p02e ; Port D Datenregister
ddir equ p02f ; Port D Datenrichtungsregister
;----------------------------------------------------------------------------
; Interrupts
int1 equ p017
int1_enable dbit 0,int1 ; Freigabe externer Interrupt 1
int1_priority dbit 1,int1 ; Priorit則 externer Interrupt 1
int1_polarity dbit 2,int1 ; Polarit則 externer Interrupt 1
int1_pin_data dbit 6,int1 ; Zustand Interrupt 1-Pin
int1_flag dbit 7,int1 ; externer Interrupt 1 aufgetreten
int2 equ p018
int2_enable dbit 0,int2 ; Freigabe externer Interrupt 2
int2_priority dbit 1,int2 ; Priorit則 externer Interrupt 2
int2_polarity dbit 2,int2 ; Polarit則 externer Interrupt 2
int2_data_out dbit 3,int2 ; Ausgabewert Interrupt 2-Pin
int2_data_dir dbit 4,int2 ; Datenrichtung Interrupt 2-Pin
int2_pin_data dbit 6,int2 ; Zustand Interrupt 2-Pin
int2_flag dbit 7,int2 ; externer Interrupt 2 aufgetreten
int3 equ p019
int3_enable dbit 0,int3 ; Freigabe externer Interrupt 3
int3_priority dbit 1,int3 ; Priorit則 externer Interrupt 3
int3_polarity dbit 2,int3 ; Polarit則 externer Interrupt 3
int3_data_out dbit 3,int3 ; Ausgabewert Interrupt 3-Pin
int3_data_dir dbit 4,int3 ; Datenrichtung Interrupt 3-Pin
int3_pin_data dbit 6,int3 ; Zustand Interrupt 3-Pin
int3_flag dbit 7,int3 ; externer Interrupt 3 aufgetreten
;----------------------------------------------------------------------------
; (E)EPROM
deectl equ p01a
ee_busy dbit 7,deectl ; EEPROM nicht zugreifbar
ap dbit 2,deectl ; Blockprogrammierung freigeben
w1w0 dbit 1,deectl ; Einsen oder Nullen programmieren ?
ee_exe dbit 0,deectl ; Vorgang ausf乭ren
epctl0 equ p01c
ep0_busy dbit 7,epctl0 ; EPROM Teil 1 nicht zugreifbar
ep0_vpps dbit 6,epctl0 ; Brennspannung freigeben
ep0_w0 dbit 1,epctl0 ; Schreiben von Nullen freigeben
ep0_exe dbit 0,epctl0 ; Schreibvorgang ausf乭ren
epctl1 equ p01e
ep1_busy dbit 7,epctl1 ; EPROM Teil 2 nicht zugreifbar
ep1_vpps dbit 6,epctl1 ; Brennspannung freigeben
ep1_w0 dbit 1,epctl1 ; Schreiben von Nullen freigeben
ep1_exe dbit 0,epctl1 ; Schreibvorgang ausf乭ren
;----------------------------------------------------------------------------
; Timer 1
t1ctl1 equ p049 ; steuern auch Watchdog
t1ctl2 equ p04a
if MOMCPU<>370C030h
t1cntrh equ p040 ; Z刪lerregister
t1cntrl equ p041
t1ch equ p042 ; Vergleichsregister
t1cl equ p043
t1cch equ p044 ; Vergleichs/Fangregister
t1ccl equ p045
t1_input_select0 dbit 0,t1ctl1 ; Taktquelle
t1_input_select1 dbit 1,t1ctl1
t1_input_select2 dbit 2,t1ctl1
t1_sw_reset dbit 0,t1ctl2 ; Z刪ler zur乧ksetzen
t1_ovrfl_int_flag dbit 3,t1ctl2 ; Overflow aufgetreten ?
t1_ovrfl_int_ena dbit 4,t1ctl2 ; Overflow-Interrupts freigeben
t1ctl3 equ p04b
t1c1_int_ena dbit 0,t1ctl3 ; Interrupts Vergleichsregister freigeben
t1c2_int_ena dbit 1,t1ctl3 ; Interrupts Vergleichs(/Fang)register freigeben
t1edge_int_ena dbit 2,t1ctl3 ; Interrupts bei Flanke an T1IC/CR freigeben
t1c1_int_flag dbit 5,t1ctl3 ; Interrupt durch Vergleichsregister ?
t1c2_int_flag dbit 6,t1ctl3 ; Interrupt durch Vergleichs(/Fang)register ?
t1edge_int_flag dbit 7,t1ctl3 ; Interrupt durch Flanke an T1IC/CR ?
t1ctl4 equ p04c
t1edge_det_ena dbit 0,t1ctl4 ; Flankendetektor an T1IC/CR freigeben
t1cr_rst_ena dbit 1,t1ctl4 ; externen Reset freigeben
t1edge_polarity dbit 2,t1ctl4 ; Flankenwahl T1IC/CR
t1cr_out_ena dbit 3,t1ctl4 ; Umschaltung PWM durch T1IC/CR freigeben
t1c1_rst_ena dbit 4,t1ctl4 ; R乧ksetzen durch Vergleicher freigeben
t1c2_out_ena dbit 5,t1ctl4 ; Umschaltung PWM durch Vergleichs(/Fang)register freigeben
t1c1_out_ena dbit 6,t1ctl4 ; Umschaltung PWM durch Vergleichsregister freigeben
t1_mode dbit 7,t1ctl4 ; Modus Timer 1
t1pc1 equ p04d
t1evt_data_dir dbit 0,t1pc1 ; Timer 1 Event-Pin Datenrichtung
t1evt_function dbit 1,t1pc1 ; Timer 1 Event-Pin Funktionsumschaltung
t1evt_data_out dbit 2,t1pc1 ; Timer 1 Event-Pin Datenausgang
t1evt_data_in dbit 3,t1pc1 ; Timer 1 Event-Pin Dateneingang
t1pc2 equ p04e
t1iccr_data_dir dbit 0,t1pc2 ; T1IC/CR-Pin Datenrichtung
t1iccr_function dbit 1,t1pc2 ; T1IC/CR-Pin Funktionsumschaltung
t1iccr_data_out dbit 2,t1pc2 ; T1IC/CR-Pin Datenausgang
t1iccr_data_in dbit 3,t1pc2 ; T1IC/CR-Pin Dateneingang
t1pwm_data_dir dbit 4,t1pc2 ; T1PWM-Pin Datenrichtung
t1pwm_function dbit 5,t1pc2 ; T1PWM-Pin Funktionsumschaltung
t1pwm_data_out dbit 2,t1pc2 ; T1PWM-Pin Datenausgang
t1pwm_data_in dbit 7,t1pc2 ; T1PWM-Pin Dateneingang
t1pri equ p04f
t1_priority dbit 6,t1pri ; Priorit則 Interrupts Timer 1
t1_stest dbit 7,t1pri ; Selbsttest Timer 1
endif
;----------------------------------------------------------------------------
; Timer 2
if MOMCPU>370C030H
t2cntrh equ p060 ; Z刪lerregister
t2cntrl equ p061
t2ch equ p062 ; Vergleichsregister
t2cl equ p063
t2cch equ p064 ; Vergleichs/Fangregister
t2ccl equ p065
t2ich equ p066 ; Fangregister
t2icl equ p067
t2ctl1 equ p06a
t2_sw_reset dbit 0,t2ctl1 ; Z刪ler zur乧ksetzen
t2_input_select0 dbit 1,t2ctl1 ; Taktquelle
t2_input_select1 dbit 2,t2ctl1
t2_ovrfl_int_flag dbit 3,t2ctl1 ; Overflow aufgetreten ?
t2_ovrfl_int_ena dbit 4,t2ctl1 ; Overflow-Interrupts freigeben
t2ctl2 equ p06b
t2c1_int_ena dbit 0,t2ctl2 ; Interrupts Vergleichsregister freigeben
t2c2_int_ena dbit 1,t2ctl2 ; Interrupts Vergleichs(/Fang)register freigeben
t2edge1_int_ena dbit 2,t2ctl2 ; Interrupts bei Flanke an T2IC1/CR freigeben
t2c1_int_flag dbit 5,t2ctl2 ; Interrupt durch Vergleichsregister ?
t2c2_int_flag dbit 6,t2ctl2 ; Interrupt durch Vergleichs(/Fang)register ?
t2edge1_int_flag dbit 7,t2ctl2 ; Interrupt durch Flanke an T2IC1/CR ?
t2ctl3 equ p06c
t2edge1_det_ena dbit 0,t2ctl3 ; Flankendetektor an T2IC1/CR freigeben
t2edge1_rst_ena dbit 1,t2ctl3 ; externen Reset freigeben
t2edge2_det_ena dbit 1,t2ctl3 ; Flankendetektor an T2IC2/CR freigeben
t2edge1_polarity dbit 2,t2ctl3 ; Flankenwahl T2IC1/CR
t2edge1_out_ena dbit 3,t2ctl3 ; Umschaltung PWM durch T2IC1/CR freigeben
t2edge2_polarity dbit 3,t2ctl3 ; Flankenwahl T2IC2/CR
t2c1_rst_ena dbit 4,t2ctl3 ; R乧ksetzen durch Vergleicher freigeben
t2c2_out_ena dbit 5,t2ctl3 ; Umschaltung PWM durch Vergleichs(/Fang)register freigeben
t2c1_out_ena dbit 6,t2ctl3 ; Umschaltung PWM durch Vergleichsregister freigeben
t2_mode dbit 7,t2ctl3 ; Modus Timer 2
t2pc1 equ p06d
t2evt_data_dir dbit 0,t2pc1 ; Timer 2 Event-Pin Datenrichtung
t2evt_function dbit 1,t2pc1 ; Timer 2 Event-Pin Funktionsumschaltung
t2evt_data_out dbit 2,t2pc1 ; Timer 2 Event-Pin Datenausgang
t2evt_data_in dbit 3,t2pc1 ; Timer 2 Event-Pin Dateneingang
t2pc2 equ p06e
t2ic1cr_data_dir dbit 0,t1pc2 ; T2IC1/CR-Pin Datenrichtung
t2ic1cr_function dbit 1,t1pc2 ; T2IC1/CR-Pin Funktionsumschaltung
t2ic1cr_data_out dbit 2,t1pc2 ; T2IC1/CR-Pin Datenausgang
t2ic1cr_data_in dbit 3,t1pc2 ; T2IC1/CR-Pin Dateneingang
t2ic2cr_data_dir dbit 4,t1pc2 ; T2IC2/CR-Pin Datenrichtung
t2ic2cr_function dbit 5,t1pc2 ; T2IC2/CR-Pin Funktionsumschaltung
t2ic2cr_data_out dbit 6,t1pc2 ; T2IC2/CR-Pin Datenausgang
t2ic2cr_data_in dbit 7,t1pc2 ; T2IC2/CR-Pin Dateneingang
t2pwm_data_dir dbit 4,t1pc2 ; T2PWM-Pin Datenrichtung
t2pwm_function dbit 5,t1pc2 ; T2PWM-Pin Funktionsumschaltung
t2pwm_data_out dbit 6,t1pc2 ; T2PWM-Pin Datenausgang
t2pwm_data_in dbit 7,t1pc2 ; T2PWM-Pin Dateneingang
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -