From 333b605b2afd472b823aeda0adf0e8b1ea9843c0 Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Mon, 27 May 2019 02:41:51 +0100 Subject: initial commit from asl-1.41r8.tar.gz --- include/stddef37.inc | 527 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 527 insertions(+) create mode 100644 include/stddef37.inc (limited to 'include/stddef37.inc') diff --git a/include/stddef37.inc b/include/stddef37.inc new file mode 100644 index 0000000..7498f82 --- /dev/null +++ b/include/stddef37.inc @@ -0,0 +1,527 @@ + save + listing off ; kein Listing über diesen File + +;**************************************************************************** +;* * +;* AS 1.40 - Datei STDDEF37.INC * +;* * +;* Sinn : enthält SFR- und Bitdefinitionen für die TMS370-Prozessoren * +;* * +;* letzte Änderungen : 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ür 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ür 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ät externer Interrupt 1 +int1_polarity dbit 2,int1 ; Polarität 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ät externer Interrupt 2 +int2_polarity dbit 2,int2 ; Polarität 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ät externer Interrupt 3 +int3_polarity dbit 2,int3 ; Polarität 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ühren + +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ühren + +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ühren + +;---------------------------------------------------------------------------- +; Timer 1 + +t1ctl1 equ p049 ; steuern auch Watchdog +t1ctl2 equ p04a + + if MOMCPU<>370C030h +t1cntrh equ p040 ; Zählerregister +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ähler zurücksetzen +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ücksetzen 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ät Interrupts Timer 1 +t1_stest dbit 7,t1pri ; Selbsttest Timer 1 + endif + +;---------------------------------------------------------------------------- +; Timer 2 + + if MOMCPU>370C030H +t2cntrh equ p060 ; Zählerregister +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ähler zurücksetzen +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ücksetzen 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 + +t2pri equ p06f +t2_priority dbit 6,t2pri ; Priorität Interrupts Timer 2 +t2_stest dbit 7,t2pri ; Selbsttest Timer 2 + endif + +;---------------------------------------------------------------------------- +; Watchdog + + if MOMCPU<>370C030h +wdcntrh equ p046 ; Zählregister +wdcntrl equ p047 + +wdrst equ p048 ; Rücksetz-Schlüsselregister + +wd_input_select0 dbit 4,t1ctl1 ; Taktquelle +wd_input_select1 dbit 5,t1ctl1 +wd_input_select2 dbit 6,t1ctl1 +wd_ovrfl_tap_sel dbit 7,t1ctl1 ; 15- oder 16-bittig zählen +wd_ovrfl_int_flag dbit 5,t1ctl2 ; Watchdog-Reset aufgetreten ? +wd_ovrfl_int_ena dbit 6,t1ctl2 ; Watchdog-Interrupts freigeben +wd_ovrfl_rst_ena dbit 7,t1ctl2 ; Watchdog-Resets freigeben + endif + +;---------------------------------------------------------------------------- +; SCI + + if (MOMCPU=370C020h)||(MOMCPU>370C030h) +sciccr equ p050 +sci_char0 dbit 0,sciccr ; Zeichenlänge +sci_char1 dbit 1,sciccr +sci_char2 dbit 2,sciccr +address_idle_wup dbit 3,sciccr ; Multiprozessormodus +async_iosync dbit 4,sciccr ; Betriebsart: synchron/asynchron +parity_enable dbit 5,sciccr ; mit/ohne Parität +even_odd_parity dbit 6,sciccr ; gerade/ungerade Parität +stop_bits dbit 7,sciccr ; Anzahl Stopbits + +scictl equ p051 +rxena dbit 0,scictl ; Empfängerfreigabe +txena dbit 1,scictl ; Senderfreigabe +sleep dbit 2,scictl ; Sleep-Modus SCI +txwake dbit 3,scictl ; Sender aufwecken +clock dbit 4,scictl ; interner/externer Takt SCI +sci_sw_reset dbit 5,scictl ; Software-Reset + +baud_msb equ p052 ; Baudratengenerator +baud_lsb equ p053 + +txctl equ p054 +sci_tx_int_ena dbit 0,txctl ; Interrupts durch Sender freigeben +tx_empty dbit 6,txctl ; Sender komplett leer ? +txrdy dbit 7,txctl ; neues Datum kann geschrieben werden + +rxctl equ p055 +sci_rx_int_ena dbit 0,rxctl ; Interrupts durch Empfänger freigeben +rxwake dbit 1,rxctl ; Ist Empfänger aufgeweckt worden ? +sci_pe dbit 2,rxctl ; Paritätsfehler ? +sci_oe dbit 3,rxctl ; Überlauffehler ? +sci_fe dbit 4,rxctl ; kein korrektes Stopbit ? +brkdt dbit 5,rxctl ; Break aufgetreten ? +rxrdy dbit 6,rxctl ; Zeichen empfangen ? +rx_error dbit 7,rxctl ; Empfangsfehler aufgetreten ? + +rxbuf equ p057 ; Datenregister +txbuf equ p059 + +scipc1 equ p05d +sciclk_data_dir dbit 0,scipc1 ; SCICLK-Pin Datenrichtung +sciclk_function dbit 1,scipc1 ; SCICLK-Pin Funktionsumschaltung +sciclk_data_out dbit 2,scipc1 ; SCICLK-Pin Datenausgang +sciclk_data_in dbit 3,scipc1 ; SCICLK-Pin Dateneingang + +scipc2 equ p05e +scirxd_data_dir dbit 0,scipc2 ; SCIRXD-Pin Datenrichtung +scirxd_function dbit 1,scipc2 ; SCIRXD-Pin Funktionsumschaltung +scirxd_data_out dbit 2,scipc2 ; SCIRXD-Pin Datenausgang +scirxd_data_in dbit 3,scipc2 ; SCIRXD-Pin Dateneingang +scitxd_data_dir dbit 4,scipc2 ; SCITXD-Pin Datenrichtung +scitxd_function dbit 5,scipc2 ; SCITXD-Pin Funktionsumschaltung +scitxd_data_out dbit 6,scipc2 ; SCITXD-Pin Datenausgang +scitxd_data_in dbit 7,scipc2 ; SCITXD-Pin Dateneingang + +scipri equ p05f +sci_espen dbit 4,scipri ; SCI emulator suspend ?! +scirx_priority dbit 5,scipri ; SCI Empfangsinterrupt Priorität +scitx_priority dbit 6,scipri ; SCI Sendeinterrupt Priorität +sci_test dbit 7,scipri ; SCI Selbsttest + endif + +;---------------------------------------------------------------------------- +; SPI + + if (MOMCPU<370C030h)||(MOMCPU=370C050h) +spiccr equ p030 +spi_char0 dbit 0,spiccr ; Zeichenlänge +spi_char1 dbit 1,spiccr +spi_char2 dbit 2,spiccr +spi_bit_rate0 dbit 3,spiccr ; Bitrate +spi_bit_rate1 dbit 4,spiccr +spi_bit_rate2 dbit 5,spiccr +clock_polarity dbit 6,spiccr ; Polarität Taktsignal +spi_sw_reset dbit 7,spiccr ; Software-Reset + +spictl equ p031 +spi_int_ena dbit 0,spictl ; Interrupt-Freigabe +talk dbit 1,spictl ; Slave/Master-Senderfreigabe +master_slave dbit 2,spictl ; Slave/Master-Umschaltung +spi_int_flag dbit 6,spictl ; Interrupt aufgetreten ? +receiver_overrun dbit 7,spictl ; EMpfängerüberlauf ? + +spibuf equ p037 ; Empfängerpuffer +spidat equ p039 ; Senderegister + +spipc1 equ p03d +spiclk_data_dir dbit 0,spipc1 ; SPICLK-Pin Datenrichtung +spiclk_function dbit 1,spipc1 ; SPICLK-Pin Funktionsumschaltung +spiclk_data_out dbit 2,spipc1 ; SPICLK-Pin Datenausgang +spiclk_data_in dbit 3,spipc1 ; SPICLK-Pin Dateneingang + +spipc2 equ p03e +spisomi_data_dir dbit 0,spipc2 ; SPISOMI-Pin Datenrichtung +spisomi_function dbit 1,spipc2 ; SPISOMI-Pin Funktionsumschaltung +spisomi_data_out dbit 2,spipc2 ; SPISOMI-Pin Datenausgang +spisomi_data_in dbit 3,spipc2 ; SPISOMI-Pin Dateneingang +spimosi_data_dir dbit 4,spipc2 ; SPIMOSI-Pin Datenrichtung +spimosi_function dbit 5,spipc2 ; SPIMOSI-Pin Funktionsumschaltung +spimosi_data_out dbit 6,spipc2 ; SPIMOSI-Pin Datenausgang +spimosi_data_in dbit 7,spipc2 ; SPIMOSI-Pin Dateneingang + +spipri equ p03f +spi_espen dbit 5,spipri ; Emulator unterdrücken ?! +spi_priority dbit 6,spipri ; Interrupt-Priorität +spi_stest dbit 7,spipri ; Selbsttest + endif + +;---------------------------------------------------------------------------- +; A/D-Wandler + + if MOMCPU>370C030h +adctl equ p070 +ad_input_select0 dbit 0,adctl ; Kanalauswahl +ad_input_select1 dbit 1,adctl +ad_input_select2 dbit 2,adctl +ref_volt_select0 dbit 3,adctl ; Auswahl Referenzspannung +ref_volt_select1 dbit 4,adctl +ref_volt_select2 dbit 5,adctl +sample_start dbit 6,adctl ; Sample-Phase beginnen (wird autom. gelöscht) +convert_start dbit 7,adctl ; Wandlungs-Phase beginnen + +adstat equ p071 +ad_int_ena dbit 0,adstat ; Interrupt-Freigabe +ad_int_flag dbit 1,adstat ; Interrupt aufgetreten ? +ad_ready dbit 2,adstat ; AD-Wandler bereit ? + +addata equ p072 ; Wandlungsergebnis +adin equ p07d ; digitale Eingangsdaten, wenn nicht analog genutzt +adena equ p07e ; Analogeingänge freischalten + +adpri equ p07f +ad_espen dbit 5,adpri ; Emulator unterdrücken ?! +ad_priority dbit 6,adpri ; Interrupt-Priorität +ad_stest dbit 7,adpri ; Selbsttest + endif + +;---------------------------------------------------------------------------- +; PACT + + if MOMCPU=370C030h +pact_scr equ p040 +pact_prescale_select0 dbit 0,pact_scr ; Vorteilerauswahl +pact_prescale_select1 dbit 1,pact_scr +pact_prescale_select2 dbit 2,pact_scr +pact_prescale_select3 dbit 3,pact_scr +fast_mode_select dbit 4,pact_scr ; Vorteiler durch 8 aus +cmd_def_area_ena dbit 5,pact_scr ; Zugriff auf Dual-Port-RAM freigeben +deftim_ovrfl_int_flag dbit 6,pact_scr ; Timerüberlauf aufgetreten ? +deftim_ovrfl_int_ena dbit 7,pact_scr ; Interrupts bei Timerüberlauf freigeben + +cdstart equ p041 +cmd_def_area2 dbit 2,cdstart ; Startadresse Kommando/Definitionsbereich +cmd_def_area3 dbit 3,cdstart +cmd_def_area4 dbit 4,cdstart +cmd_def_area5 dbit 5,cdstart +cmd_def_area_int_ena dbit 7,cdstart ; Interrupts aus dem Bereich freigeben + +cdend equ p042 +cmd_def_area_end2 dbit 2,cdend ; Endadresse Kommando/Definitionsbereich +cmd_def_area_end3 dbit 3,cdend +cmd_def_area_end4 dbit 4,cdend +cmd_def_area_end5 dbit 5,cdend +cmd_def_area_end6 dbit 6,cdend + +bufptr equ p043 +buffer_pointer1 dbit 1,bufptr ; Adresse Pufferzeiger +buffer_pointer2 dbit 2,bufptr +buffer_pointer3 dbit 3,bufptr +buffer_pointer4 dbit 4,bufptr +buffer_pointer5 dbit 5,bufptr + +scictlp equ p045 +sci_sw_reset dbit 0,scictlp ; Software Reset +sci_tx_int_ena dbit 2,scictlp ; Sendeinterrupts freigeben +sci_rx_int_ena dbit 3,scictlp ; Empfängerinterrupts freigeben +pact_fe dbit 4,scictlp ; Rahmenfehler ? +pact_parity dbit 5,scictlp ; Paritätsfehler ? +pact_txrdy dbit 6,scictlp ; Sender leer ? +pact_rxrdy dbit 7,scictlp ; Empfangspuffer voll ? + +rxbufp equ p046 ; Mini-SCI Empfangspuffer +txbufp equ p047 ; Mini-SCI Sendepuffer + +opstate equ p048 ; Status Ausgabepins +cdflags equ p049 ; Interrupts durch Kommandos 0..7 aufgetreten ? + +cpctl1 equ p04a +cp1_capt_falling_edge dbit 0,cpctl1 ; Fangen bei fallender Flanke an CP1 +cp1_capt_rising_edge dbit 1,cpctl1 ; Fangen bei steigender Flanke an CP1 +cp1_int_flag dbit 2,cpctl1 ; Flanke an CP1 aufgetreten ? +cp1_int_ena dbit 3,cpctl1 ; Interrupts durch CP1 freigeben +cp2_capt_falling_edge dbit 4,cpctl1 ; Fangen bei fallender Flanke an CP2 +cp2_capt_rising_edge dbit 5,cpctl1 ; Fangen bei steigender Flanke an CP2 +cp2_int_flag dbit 6,cpctl1 ; Flanke an CP2 aufgetreten ? +cp2_int_ena dbit 7,cpctl1 ; Interrupts durch CP2 freigeben + +cpctl2 equ p04b +cp3_capt_falling_edge dbit 0,cpctl2 ; Fangen bei fallender Flanke an CP3 +cp3_capt_rising_edge dbit 1,cpctl2 ; Fangen bei steigender Flanke an CP3 +cp3_int_flag dbit 2,cpctl2 ; Flanke an CP3 aufgetreten ? +cp3_int_ena dbit 3,cpctl2 ; Interrupts durch CP3 freigeben +cp4_capt_falling_edge dbit 4,cpctl2 ; Fangen bei fallender Flanke an CP4 +cp4_capt_rising_edge dbit 5,cpctl2 ; Fangen bei steigender Flanke an CP4 +cp4_int_flag dbit 6,cpctl2 ; Flanke an CP4 aufgetreten ? +cp4_int_ena dbit 7,cpctl2 ; Interrupts durch CP4 freigeben + +cpctl3 equ p04c +cp5_capt_falling_edge dbit 0,cpctl3 ; Fangen bei fallender Flanke an CP5 +cp5_capt_rising_edge dbit 1,cpctl3 ; Fangen bei steigender Flanke an CP5 +cp5_int_flag dbit 2,cpctl3 ; Flanke an CP5 aufgetreten ? +cp5_int_ena dbit 3,cpctl3 ; Interrupts durch CP5 freigeben +cp6_capt_falling_edge dbit 4,cpctl3 ; Fangen bei fallender Flanke an CP6 +cp6_capt_rising_edge dbit 5,cpctl3 ; Fangen bei steigender Flanke an CP6 +cp6_int_flag dbit 6,cpctl3 ; Flanke an CP6 aufgetreten ? +cp6_int_ena dbit 7,cpctl3 ; Interrupts durch CP6 freigeben + +cppre equ p04d +op_set_clr_select dbit 0,cppre ; Ausgabepins per Sofware löschen/setzen? +event_counter_sw_reset dbit 1,cppre ; Ereigniszähler zurücksetzen +cp6_event_only dbit 2,cppre ; CP6 nur für Ereigniszähler +input_capt_prescale_select0 dbit 3,cppre; Vorteiler für CP3..CP6 +input_capt_prescale_select1 dbit 4,cppre +input_capt_prescale_select2 dbit 5,cppre +buffer_half_full_int_flag dbit 6,cppre ; Interrupts, daß Puffer halb/ganz voll ? +buffer_half_full_int_ena dbit 7,cppre ; obige Interrupts freischalten + +wdrst equ p04e + +pactpri equ p04f +wd_prescale_select0 dbit 0,pactpri ; Vorteiler Watchdog +wd_prescale_select1 dbit 1,pactpri +pact_mode_select dbit 2,pactpri ; PACT in Modus A oder B +pact_group_3_priority dbit 3,pactpri ; Prioritäten der Interruptgruppen +pact_group_2_priority dbit 4,pactpri +pact_group_1_priority dbit 5,pactpri +pact_stest dbit 7,pactpri ; Selbsttest + endif + +;---------------------------------------------------------------------------- + + endif + + restore ; wieder erlauben + -- cgit v1.2.3