diff options
Diffstat (limited to 'include/regst9.inc')
-rw-r--r-- | include/regst9.inc | 624 |
1 files changed, 624 insertions, 0 deletions
diff --git a/include/regst9.inc b/include/regst9.inc new file mode 100644 index 0000000..c6b87d9 --- /dev/null +++ b/include/regst9.inc @@ -0,0 +1,624 @@ + save + listing off ; kein Listing über diesen File + +;**************************************************************************** +;* * +;* AS 1.41 - Datei REGST9.INC * +;* * +;* Sinn : enthält SFR-, Makro- und Adreßdefinitionen für die ST9-Familie * +;* * +;* letzte Änderungen : 6. 2.1997 * +;* * +;**************************************************************************** + + ifndef regst9inc ; verhindert Mehrfacheinbindung + +regst9inc equ 1 + + if (MOMCPUNAME<>"ST9020")&&(MOMCPUNAME<>"ST9030")&&(MOMCPUNAME<>"ST9040")&&(MOMCPUNAME<>"ST9050") + fatal "Falscher Prozessortyp eingestellt: nur ST9020,ST9030,ST9040 oder ST9050 erlaubt!" + endif + + if MOMPASS=1 + message "ST9-SFR-Definitionen (C) 1997 Alfred Arnold" + endif + +;---------------------------------------------------------------------------- +; Registerbänke + +__CNT set 0 + rept 16 +BK{"\{__CNT}"}0 equ __CNT*2 +BK{"\{__CNT}"}1 equ __CNT*2+1 +__CNT set __CNT+1 + endm + +BK_SYS equ BKE0 ; Group system definition +BK_F equ BKF0 ; page register definition + +;---------------------------------------------------------------------------- +; Definition eines Bits: +; dies nutzt die interne Definition von Bitsymbolen aus: rrrrbbbi + +__defbit macro NAME,REG,BITPOS +NAME bit ((REG&15)<<4)+(BITPOS<<1) +{"NAME"}m equ 1<<BITPOS + endm + +;---------------------------------------------------------------------------- +; Systemgruppe + +FCW reg RR230 ; flag and control word +CICR reg R230 ; central interrupt control register + __defbit gcen,CICR,7 ; global counter enable + __defbit tlip,CICR,6 ; top level interrupt pending bit + __defbit tli,CICR,5 ; top level interrupt bit + __defbit ien,CICR,4 ; interrupt enable flag + __defbit iam,CICR,3 ; interrupt arbitration mode + __defbit cpl2,CICR,2 ; current priority level bit 2 + __defbit cpl1,CICR,1 ; current priority level bit 1 + __defbit cpl0,CICR,0 ; current priority level bit 0 +cplm equ cpl2m|cpl1m|cpl0m ; current priority level + +FLAGR reg R231 ; flags register + __defbit c,FLAGR,7 ; carry flag + __defbit z,FLAGR,6 ; zero flag + __defbit s,FLAGR,5 ; sign flag + __defbit v,FLAGR,4 ; overflow flag + __defbit d,FLAGR,3 ; decimal adjust flag + __defbit h,FLAGR,2 ; half carry flag + __defbit uf,FLAGR,1 ; user flag 1 + __defbit dp,FLAGR,0 ; data/program memory flag + +RPP reg RR232 ; register pointer pair + +RP0R reg R232 ; register pointer #0 + __defbit rp0s,RP0R,2 ; register pointer selector + +RP1R reg R233 ; register pointer #1 + __defbit rp1s,RP1R,2 ; register pointer selector + +PPR reg R234 ; page pointer register + +MODER reg R235 ; mode register + __defbit ssp,MODER,7 ; system stack pointer flag (int/ext) + __defbit usp,MODER,6 ; user stack pointer flag (int/ext) + __defbit div2,MODER,5 ; external clock divided by 2 + __defbit prs2,MODER,4 ; internal clock prescaling bit 2 + __defbit prs1,MODER,3 ; internal clock prescaling bit 1 + __defbit prs0,MODER,2 ; internal clock prescaling bit 0 + __defbit brqen,MODER,1 ; bus request enable + __defbit himp,MODER,0 ; high impedance enable +prsm equ prs2m|prs1m|prs0m ; internal clock prescaler + +USPR reg RR236 ; user stack pointer +USPHR reg R236 +USPLR reg R237 + +SSPR reg RR238 ; system stack pointer +SSPHR reg R238 +SSPLR reg R239 + +;---------------------------------------------------------------------------- +; EEPROM + + if MOMCPUNAME="ST9040" + +EEP_PG equ 0 ; EEPROM register page + +EECR reg R241 ; EEPROM control register + __defbit verify,EECR,6 ; EEPROM verify mode + __defbit eestby,EECR,5 ; EEPROM stand-by + __defbit eeien,EECR,4 ; EEPROM interrupt enable + __defbit pllst,EECR,3 ; Parallel write start + __defbit pllen,EECR,2 ; Parallel write enable + __defbit eebusy,EECR,1 ; EEPROM busy + __defbit eewen,EECR,0 ; EEPROM write enable + + endif + +;---------------------------------------------------------------------------- +; Interrupts + +EXINT_PG equ 0 ; EXTERNAL interrupt register page + +EITR reg R242 ; External interrupt trigger level register + __defbit tea0,EITR,0 ; Trigger Event A0 bit + __defbit tea1,EITR,1 ; Trigger Event A1 bit + __defbit teb0,EITR,2 ; Trigger Event B0 bit + __defbit teb1,EITR,3 ; Trigger Event B1 bit + __defbit tec0,EITR,4 ; Trigger Event C0 bit + __defbit tec1,EITR,5 ; Trigger Event C1 bit + __defbit ted0,EITR,6 ; Trigger Event D0 bit + __defbit ted1,EITR,7 ; Trigger Event D1 bit + +EIPR reg R243 ; External interrupt pending register + __defbit ipa0,EIPR,0 ; Interrupt Pending bit Channel A0 + __defbit ipa1,EIPR,1 ; Interrupt Pending bit " A1 + __defbit ipb0,EIPR,2 ; Interrupt Pending bit " B0 + __defbit ipb1,EIPR,3 ; Interrupt Pending bit " B1 + __defbit ipc0,EIPR,4 ; Interrupt Pending bit " C0 + __defbit ipc1,EIPR,5 ; Interrupt Pending bit " C1 + __defbit ipd0,EIPR,6 ; Interrupt Pending bit " D0 + __defbit ipd1,EIPR,7 ; Interrupt Pending bit " D1 + +EIMR reg R244 ; External interrupt mask register + __defbit ima0,EIMR,0 ; Int. A0 bit + __defbit ima1,EIMR,1 ; Int. A1 bit + __defbit imb0,EIMR,2 ; Int. B0 bit + __defbit imb1,EIMR,3 ; Int. B1 bit + __defbit imc0,EIMR,4 ; Int. C0 bit + __defbit imc1,EIMR,5 ; Int. C1 bit + __defbit imd0,EIMR,6 ; Int. D0 bit + __defbit imd1,EIMR,7 ; Int. D1 bit + +EIPLR reg R245 ; Ext. interrupt priority level register + +EIVR reg R246 ; External interrupt vector register + __defbit ewen,EIVR,0 ; External wait enable + __defbit ia0s,EIVR,1 ; Interrupt A0 selection + __defbit tlis,EIVR,2 ; Top level input selection + __defbit tltev,EIVR,3 ; Top level trigger event + +NICR reg R247 ; Nested interrupt control register + + __defbit tlnm,NICR,7 ; Top level not maskable + +;---------------------------------------------------------------------------- +; Watchdog + +WDT_PG equ 0 ; Timer Watchdog page + +WDTR reg RR248 ; TWD timer constant register. +WDTHR reg R248 ; TWD timer high constant register +WDTLR reg R249 ; TWD timer low constant register + +WDTPR reg R250 ; TWD timer prescaler constant register + +WDTCR reg R251 ; TWD timer control register + __defbit WD_stsp8,WDTCR,7 ; TWD start stop. + __defbit WD_sc,WDTCR,6 ; TWD single continuous mode. + __defbit WD_inmd1,WDTCR,5 ; Input mode 1 + __defbit WD_inmd2,WDTCR,4 ; Input mode 2 + __defbit WD_inen,WDTCR,3 ; TWD input section enable/disable. + __defbit WD_outmd,WDTCR,2 ; TWD output mode. + __defbit WD_wrout,WDTCR,1 ; TWD output bit. + __defbit WD_outen,WDTCR,0 ; TWD output enable. +inm_evc equ 0 ; TWD input mode event counter. +inm_g equ 010h ; TWD input mode gated. +inm_t equ 020h ; TWD input mode triggerable. +inm_r equ 030h ; TWD input mode retriggerable. + +WCR reg R252 ; Wait control register + __defbit WD_wden,WCR,6 ; TWD timer enable. +wdm2 equ 1 << 5 ; Data Memory Wait Cycle +wdm1 equ 1 << 4 +wdm0 equ 1 << 3 +wpm2 equ 1 << 2 ; Program Memory Wait Cycle +wpm1 equ 1 << 1 +wpm0 equ 1 << 0 +dmwc1 equ wdm0 ; 1 wait cycle on Data M. +dmwc2 equ wdm1 ; 2 wait cycles on Data M. +dmwc3 equ wdm1|wdm0 ; 3 wait cycles on Data M. +dmwc4 equ wdm2 ; 4 wait cycles on Data M. +dmwc5 equ wdm2|wdm0 ; 5 wait cycles on Data M. +dmwc6 equ wdm2|wdm1 ; 6 wait cycles on Data M. +dmwc7 equ wdm2|wdm1|wdm0 ; 7 wait cycles on Data M. +pmwc1 equ wpm0 ; 1 wait cycle on Prog M. +pmwc2 equ wpm1 ; 2 wait cycles on Prog M. +pmwc3 equ wpm1|wpm0 ; 3 wait cycles on Prog M. +pmwc4 equ wpm2 ; 4 wait cycles on Prog M. +pmwc5 equ wpm2|wpm0 ; 5 wait cycles on Prog M. +pmwc6 equ wpm2|wpm1 ; 6 wait cycles on Prog M. +pmwc7 equ wpm2|wpm1|wpm0 ; 7 wait cycles on Prog M. + +;---------------------------------------------------------------------------- +; SPI + +SPI_PG equ 0 ; SPI register page +SPIDR reg R253 ; SPI Data register + +SPICR reg R254 ; SPI Control register + __defbit SP_spen,SPICR,7 ; Serial Peripheral Enable. + __defbit SP_bms,SPICR,6 ; SBUS/I2C bus Mode Selector. + __defbit SP_arb,SPICR,5 ; Arbitration flag bit. + __defbit SP_busy,SPICR,4 ; SPI busy flag. + __defbit SP_cpol,SPICR,3 ; SPI transmission clock polarity + __defbit SP_cpha,SPICR,2 ; SPI transmission clock phase + __defbit SP_spr1,SPICR,1 ; SPI rate bit 1 + __defbit SP_spr0,SPICR,0 ; SPI rate bit 0 + +SP_8 equ 0 ; SPI clock divider 8 = 1500 kHz (12MHz) +SP_16 equ 1 ; SPI clock divider 16 = 750 kHz (12MHz) +SP_128 equ 2 ; SPI clock divider 128 = 93.75 kHz (12MHz) +SP_256 equ 3 ; SPI clock divider 256 = 46.87 kHz (12MHz) +RW_PG equ 0 ; R/W signal programming page + +;---------------------------------------------------------------------------- +; Read/Write Register + + if MOMCPUNAME="ST9050" + +RWR reg R255 ; R/W signal programming register + __defbit RW_rw,RWR,0 ; R/W bit + __defbit RW_bs,RWR,1 ; Bank switch port timing + + endif + +;---------------------------------------------------------------------------- +; Ports + +P0C_PG equ 2 ; Port 0 control registers page + +P0DR reg R224 ; Port 0 data register +P0C0R reg R240 ; Port 0 control register 0 +P0C1R reg R241 ; Port 0 control register 1 +P0C2R reg R242 ; Port 0 control register 2 + +P1C_PG equ 2 ; Port 1 control registers page +P1DR reg R225 ; Port 1 data register +P1C0R reg R244 ; Port 1 control register 0 +P1C1R reg R245 ; Port 1 control register 1 +P1C2R reg R246 ; Port 1 control register 2 + +P2C_PG equ 2 ; Port 2 control registers page +P2DR reg R226 ; Port 2 data register +BS_DSR reg R226 ; Bank Switch data segment register +P2C0R reg R248 ; Port 2 control register 0 +BS_DDSR reg R248 ; Bank Switch Data DMA segment register +P2C1R reg R249 ; Port 2 control register 1 +BS_PDSR reg R249 ; Bank Switch Program DMA segment Register +P2C2R reg R250 ; Port 2 control register 2 + +P3C_PG equ 2 ; Port 3 control registers page +P3DR reg R227 ; Port 3 data register +BS_PSR reg R227 ; Bank Switch Program Segment Register +P3C0R reg R252 ; Port 3 control register 0 +P3C1R reg R253 ; Port 3 control register 1 +P3C2R reg R254 ; Port 3 control register 2 + +P4C_PG equ 3 ; Port 4 control registers page +P4DR reg R228 ; Port 4 data register +P4C0R reg R240 ; Port 4 control register 0 +P4C1R reg R241 ; Port 4 control register 1 +P4C2R reg R242 ; Port 4 control register 2 + +P5C_PG equ 3 ; Port 5 control registers page +P5DR reg R229 ; Port 5 data register +P5C0R reg R244 ; Port 5 control register 0 +P5C1R reg R245 ; Port 5 control register 1 +P5C2R reg R246 ; Port 5 control register 2 + +P6C_PG equ 3 ; Port 6 control registers page +P6D_PG equ 3 ; Port 6 data register page +P6DR reg R251 ; Port 6 data register +P6C0R reg R248 ; Port 6 control register 0 +P6C1R reg R249 ; Port 6 control register 1 +P6C2R reg R250 ; Port 6 control register 2 + +P7C_PG equ 3 ; Port 7 control registers page +P7D_PG equ 3 ; Port 7 data register page +P7DR reg R255 ; Port 7 data register +P7C0R reg R252 ; Port 7 control register 0 +P7C1R reg R253 ; Port 7 control register 1 +P7C2R reg R254 ; Port 7 control register 2 + +P8C_PG equ 43 ; Port 8 control registers page +P8D_PG equ 43 ; Port 8 data register page +P8DR reg R251 ; Port 8 data register +P8C0R reg R248 ; Port 8 control register 0 +P8C1R reg R249 ; Port 8 control register 1 +P8C2R reg R250 ; Port 8 control register 2 + +P9C_PG equ 43 ; Port 9 control registers page +P9D_PG equ 43 ; Port 9 data register page +P9DR reg R255 ; Port 9 data register +P9C0R reg R252 ; Port 9 control register 0 +P9C1R reg R253 ; Port 9 control register 1 +P9C2R reg R254 ; Port 9 control register 2 + +HDCTL2R reg R251 ; Port 2 handshake DMA control register +HDCTL3R reg R255 ; Port 3 handshake DMA control register +HDCTL4R reg R243 ; Port 4 handshake DMA control register +HDCTL5R reg R247 ; Port 5 handshake DMA control register + +;Handshake DMA control register configuration. +hsdis equ 0E0h ; Handshake disabled mask +hso2 equ 0C0h ; Handshake output 2 lines mask +hso1 equ 040h ; Handshake output 1 line mask +hsi2 equ 0A0h ; Handshake input 2 lines mask +hsi1 equ 020h ; Handshake input 1 line mask +hsb equ 000h ; Handshake bidirectional mask +den equ 000h ; DMA enable mask +ddi equ 010h ; DMA disable mask +ddw equ 000h ; Data direction output mask (write) +ddr equ 008h ; Data direction input mask (read) +dst equ 004h ; DMA strobe on chip event mask +dcp0 equ 000h ; DMA channel capture0 mask +dcm0 equ 002h ; DMA channel compare0 mask + +;---------------------------------------------------------------------------- +; Multi function timer + +T0D_PG equ 10 ; MFTimer 0 data registers page +T0C_PG equ 9 ; MFTimer 0 control registers page +T1D_PG equ 8 ; MFTimer 1 data registers page +T1C_PG equ 9 ; MFTimer 1 control registers page +T2D_PG equ 14 ; MFTimer 2 data registers page +T2C_PG equ 13 ; MFTimer 2 control registers page +T3D_PG equ 12 ; MFTimer 3 data registers page +T3C_PG equ 13 ; MFTimer 3 control registers page + +T_REG0R reg RR240 ; MFTimer REG0 load and capture register. +T_REG0HR reg R240 ; Register 0 high register +T_REG0LR reg R241 ; Register 0 low register +T_REG1R reg RR242 ; MFTimer REG1 load constant +T_REG1HR reg R242 ; Register 1 high register +T_REG1LR reg R243 ; Register 1 low register +T_CMP0R reg RR244 ; MFTimer CMP0 store compare constant. +T_CMP0HR reg R244 ; Compare 0 high register +T_CMP0LR reg R245 ; Compare 0 low register +T_CMP1R reg RR246 ; MFTimer CMP1 store compare constant. +T_CMP1HR reg R246 ; Compare 1 high register +T_CMP1LR reg R247 ; Compare 1 low register + +T_TCR reg R248 ; MFTimer Control Register. + __defbit T_cs,T_TCR,0 ; Counter status + __defbit T_of0,T_TCR,1 ; over/underflow on CAP on REG0 + __defbit T_udcs,T_TCR,2 ; up/down count status + __defbit T_udc,T_TCR,3 ; up/down count + __defbit T_ccl,T_TCR,4 ; Counter clear + __defbit T_ccmp0,T_TCR,5 ; Clear on compare 0 + __defbit T_ccp0,T_TCR,6 ; Clear on capture + __defbit T_cen,T_TCR,7 ; Counter enable + +T_TMR reg R249 ; MFTimer Mode Register. + __defbit T_co,T_TMR,0 ; Continuous/one shot bit + __defbit T_ren,T_TMR,1 ; retrigger enable bit + __defbit T_eck,T_TMR,2 ; Enable clocking mode bit + __defbit T_rm0,T_TMR,3 ; register 0 mode bit + __defbit T_rm1,T_TMR,4 ; register 1 mode bit + __defbit T_bm,T_TMR,5 ; bivalue mode bit + __defbit T_oe0,T_TMR,6 ; output 0 enable bit + __defbit T_oe1,T_TMR,7 ; output 1 enable bit + +T_ICR reg R250 ; MFTimer External Input Control Register. + +exb_f equ 01h ; External B falling edge sensitive mask +exb_r equ 02h ; External B rising edge sensitive mask +exb_rf equ 03h ; External B falling and rising edge mask +exa_f equ 04h ; External A falling edge sensitive mask +exa_r equ 08h ; External A rising edge sensitive mask +exa_rf equ 0Ch ; External A falling and rising edge mask +ab_ii equ 00h ; A I/O B I/O mask +ab_it equ 10h ; A I/O B trigger mask +ab_gi equ 20h ; A gate B I/O mask +ab_gt equ 30h ; A gate B trigger mask +ab_ie equ 40h ; A I/O B external clock mask +ab_ti equ 50h ; A trigger B I/O mask +ab_ge equ 60h ; A gate B external clock mask +ab_tt equ 70h ; A trigger B trigger mask +ab_cucd equ 80h ; A clock up B clock down mask +ab_ue equ 90h ; A clock up/down B external clock mask +ab_tutd equ 0A0h ; A trigger up B trigger down mask +ab_ui equ 0B0h ; A up/down clock B I/O mask +ab_aa equ 0C0h ; A autodiscr. B autodiscr. mask +ab_te equ 0D0h ; A trigger B external clock mask +ab_et equ 0E0h ; A external clock B trigger mask +ab_tg equ 0F0h ; A trigger B gate mask + +T_PRSR reg R251 ; MFTimer prescaler register + +T_OACR reg R252 ; MFTimer Output A Control Register. + +cev equ 02h ; on chip event bit on COMPARE 0 mask + +T_OBCR reg R253 ; MFTimer Output B Control Register. + +op equ 01h ; output preset bit mask +oev equ 02h ; on chip event bit on OVF/UDF mask +ou_set equ 00h ; overflow underflow set mask +ou_tog equ 04h ; overflow underflow toggle mask +ou_res equ 08h ; overflow underflow reset mask +ou_nop equ 0Ch ; overflow underflow nop mask +c1_set equ 00h ; Compare 1 set mask +c1_tog equ 10h ; Compare 1 toggle mask +c1_res equ 20h ; Compare 1 reset mask +c1_nop equ 30h ; Compare 1 nop mask +c0_set equ 00h ; Compare 0 set mask +c0_tog equ 40h ; Compare 0 toggle mask +c0_res equ 80h ; Compare 0 reset mask +c0_nop equ 0C0h ; Compare 0 nop mask + +T_FLAGR reg R254 ; MFTimer Flags Register. + __defbit T_ao,T_FLAGR,0 ; and/or on capture interrupt + __defbit T_ocm0,T_FLAGR,1 ; overrun compare 0 + __defbit T_ocp0,T_FLAGR,2 ; overrun capture 0 + __defbit T_ouf,T_FLAGR,3 ; overflow underflow flag + __defbit T_cm1,T_FLAGR,4 ; successful compare 1 + __defbit T_cm0,T_FLAGR,5 ; successful compare 0 + __defbit T_cp1,T_FLAGR,6 ; successful capture 1 + __defbit T_cp0,T_FLAGR,7 ; successful capture 0 + +T_IDMR equ R255 ; MFTimer Interrupt DMA Mask Register. + __defbit T_oui,T_IDMR,0 ; overflow underflow interrupt + __defbit T_cm1i,T_IDMR,1 ; Compare 1 interrupt + __defbit T_cm0i,T_IDMR,2 ; Compare 0 interrupt + __defbit T_cm0d,T_IDMR,3 ; Compare 0 DMA + __defbit T_cp1i,T_IDMR,4 ; Capture 1 interrupt + __defbit T_cp0i,T_IDMR,5 ; Capture 0 interrupt + __defbit T_cp0d,T_IDMR,6 ; Capture 0 DMA + __defbit T_gtien,T_IDMR,7 ; global timer interrupt enable + +T0_DCPR reg R240 ; MFTimer 0 DMA Counter Pointer Register. +T1_DCPR reg R244 ; MFTimer 1 DMA Counter Pointer Register. +T0_DAPR reg R241 ; MFTimer 0 DMA Address Pointer Register. +T1_DAPR reg R245 ; MFTimer 1 DMA Address Pointer Register. +T0_IVR reg R242 ; MFTimer 0 Interrupt Vector Register. +T1_IVR reg R246 ; MFTimer 1 Interrupt Vector Register. +T0_IDCR reg R243 ; MFTimer 0 Interrupt/DMA Control Register. +T1_IDCR reg R247 ; MFTimer 1 Interrupt/DMA Control Register. +T2_DCPR reg R240 ; MFTimer 2 DMA Counter Pointer Register. +T3_DCPR reg R244 ; MFTimer 3 DMA Counter Pointer Register. +T2_DAPR reg R241 ; MFTimer 2 DMA Address Pointer Register. +T3_DAPR reg R245 ; MFTimer 3 DMA Address Pointer Register. +T2_IVR reg R242 ; MFTimer 2 Interrupt Vector Register. +T3_IVR reg R246 ; MFTimer 3 Interrupt Vector Register. +T2_IDCR reg R243 ; MFTimer 2 Interrupt/DMA Control Register. +T3_IDCR reg R247 ; MFTimer 3 Interrupt/DMA Control Register. + +plm equ 07h ; Priority level mask +swen equ 08h ; Swap function enable mask +dctd equ 10h ; DMA compare transaction destination mask +dcts equ 20h ; DMA capture transaction source mask +cme equ 40h ; Compare 0 end of block mask +cpe equ 80h ; Capture 0 end of block mask + +T_IOCR reg R248 ; MFTimer I/O connection register + +sc0 equ 01h ; TxOUTA and TxINA connection bit (even) + +sc1 equ 02h ; TxOUTA and TxINA connection bit (odd) + +;---------------------------------------------------------------------------- +; A/D-Wandler + + if MOMCPUNAME<>"ST9020" + +AD0_PG equ 63 ; A/D converter registers page +AD1_PG equ 62 ; second A/D unit + +AD_D0R reg R240 ; Channel 0 data register +AD_D1R reg R241 ; Channel 1 data register +AD_D2R reg R242 ; Channel 2 data register +AD_D3R reg R243 ; Channel 3 data register +AD_D4R reg R244 ; Channel 4 data register +AD_D5R reg R245 ; Channel 5 data register +AD_D6R reg R246 ; Channel 6 data register +AD_D7R reg R247 ; Channel 7 data register +AD_LT6R reg R248 ; Channel 6 lower threshold register +AD_LT7R reg R249 ; Channel 7 lower threshold register +AD_UT6R reg R250 ; Channel 6 upper threshold register +AD_UT7R reg R251 ; Channel 7 upper threshold register + +AD_CRR reg R252 ; Compare result register + __defbit AD_c6l,AD_CRR,4 ; Compare channel 6 lower bit + __defbit AD_c7l,AD_CRR,5 ; Compare channel 7 lower bit + __defbit AD_c6u,AD_CRR,6 ; Compare channel 6 upper bit + __defbit AD_c7u,AD_CRR,7 ; Compare channel 7 upper bit + +AD_CLR reg R253 ; Control logic register + __defbit AD_st,AD_CLR,0 ; start/stop bit + __defbit AD_cont,AD_CLR,1 ; Continuous mode + __defbit AD_pow,AD_CLR,2 ; power up/down control + __defbit AD_intg,AD_CLR,3 ; internal trigger + __defbit AD_extg,AD_CLR,4 ; External trigger + +sch equ 0E0h ; scan channel selection mask + +AD_ICR reg R254 ; interrupt control register + __defbit AD_awdi,AD_ICR,4 ; analog watch-dog interrupt + __defbit AD_eci,AD_ICR,5 ; End of count interrupt + __defbit AD_awd,AD_ICR,6 ; analog watch-dog pending flag + __defbit AD_ecv,AD_ICR,7 ; End of conversion pending flag + +AD_prl equ 07h ; priority level mask + +AD_IVR reg R255 ; interrupt vector register + + endif + +;---------------------------------------------------------------------------- +; Serielle Schnittstelle + +SCI1_PG equ 24 ; SCI1 control registers page +SCI2_PG equ 25 ; SCI2 control registers page +SCI3_PG equ 26 ; SCI3 control registers page +SCI4_PG equ 27 ; SCI4 control registers page + +S_RDCPR reg R240 ; receive DMA counter pointer register +S_RDAPR reg R241 ; receive DMA address pointer register +S_TDCPR reg R242 ; transmit DMA counter pointer register +S_TDAPR reg R243 ; transmit DMA address pointer register +S_IVR reg R244 ; interrupt vector register +S_ACR reg R245 ; address compare register + +S_IMR reg R246 ; interrupt mask register + __defbit S_txdi,S_IMR,0 ; transmitter data interrupt + __defbit S_rxdi,S_IMR,1 ; receiver data interrupt + __defbit S_rxb,S_IMR,2 ; receiver break + __defbit S_rxa,S_IMR,3 ; receiver address + __defbit S_rxe,S_IMR,4 ; receiver error + __defbit S_txeob,S_IMR,5 ; transmit end of block + __defbit S_rxeob,S_IMR,6 ; receive end of block + __defbit S_hsn,S_IMR,7 ; Holding or shift register empty. + +S_ISR reg R247 ; interrupt status register + __defbit S_txsem,S_ISR,0 ; transmit shift register empty + __defbit S_txhem,S_ISR,1 ; transmit hold register empty + __defbit S_rxdp,S_ISR,2 ; received data pending bit + __defbit S_rxbp,S_ISR,3 ; received break pending bit + __defbit S_rxap,S_ISR,4 ; received address pending bit + __defbit S_pe,S_ISR,5 ; parity error pending bit + __defbit S_fe,S_ISR,6 ; framing error pending bit + __defbit S_oe,S_ISR,7 ; overrun error pending bit + +S_RXBR reg R248 ; receive buffer register +S_TXBR reg R248 ; transmit buffer register + +S_IDPR reg R249 ; interrupt/DMA priority register + __defbit S_txd,S_IDPR,3 ; transmitter DMA + __defbit S_rxd,S_IDPR,4 ; receiver DMA + __defbit S_sa,S_IDPR,5 ; set address + __defbit S_sb,S_IDPR,6 ; set break + __defbit S_amen,S_IDPR,7 ; address mode enable +S_pri equ 07h ; interrupt/DMA priority mask + +S_CHCR reg R250 ; Character configuration register + +wl5 equ 000h ; 5 bits data word mask +wl6 equ 001h ; 6 bits data word mask +wl7 equ 002h ; 7 bits data word mask +wl8 equ 003h ; 8 bits data word mask +sb10 equ 000h ; 1.0 stop bit mask +sb15 equ 004h ; 1.5 stop bit mask +sb20 equ 008h ; 2.0 stop bit mask +sb25 equ 00Ch ; 2.5 stop bit mask +ab equ 010h ; address bit insertion mask +pen equ 020h ; parity enable mask +ep equ 040h ; Even parity mask +oddp equ 000h ; odd parity mask +am equ 080h ; address mode mask + +S_CCR reg R251 ; Clock configuration register + __defbit S_stpen,S_CCR,0 ; stick parity enable + __defbit S_lben,S_CCR,1 ; loop back enable + __defbit S_aen,S_CCR,2 ; auto echo enable + __defbit S_cd,S_CCR,3 ; Clock divider + __defbit S_xbrg,S_CCR,4 ; External baud rate generator source + __defbit S_xrx,S_CCR,5 ; External receiver source + __defbit S_oclk,S_CCR,6 ; output clock selection + __defbit S_txclk,S_CCR,7 ; transmit clock selection + +S_BRGR reg RR252 ; baud rate generator register +S_BRGHR reg R252 ; baud rate generator reg. high +S_BRGLR reg R253 ; baud rate generator reg. low + +;---------------------------------------------------------------------------- +; Security Register: + +SEC_PG equ 59 ; Security register page + +SECR reg R255 + __defbit tlck,SECR,0 ; test lock bit + __defbit wf1,SECR,1 ; write fuse 1 bit + __defbit hlck,SECR,2 ; hardware lock bit + __defbit wf2,SECR,3 ; write fuse 2 bit + __defbit f2tst,SECR,4 ; select fuse 2 bit + __defbit slck,SECR,7 ; software lock bit + +;---------------------------------------------------------------------------- + + endif + + restore ; Listing wieder an |