Blame | Last modification | View Log | Download | RSS feed
ifndef __stm8l151x8inc ; avoid multiple inclusion__stm8l151x8inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REG151X8.INC *;* *;* contains SFR and Bit Definitions for STM8L151X{6|8} *;* source: DS6948 Rev 11 *;* *;****************************************************************************;----------------------------------------------------------------------------; Memory AddressesE2START label $1000 ; start address internal EEPROME2END label E2START+2047 ; end " " "FLASHSTART label $8000 ; start address internal FlashRAMSTART label $0000 ; start address internal RAMswitch substr(MOMCPUNAME,9,1)case "6" ; '6' -> 32K/2KRAMEND label $07ffcase "8" ; '8' -> 64K/4KRAMEND label $0fffelsecasefatal "Cannot deduce RAM size from device name"endcaseBLSTART label $6000 ; start address boot loaderBLEND label $67ff ; end " " ";----------------------------------------------------------------------------; Unique Idinclude "stm8/stm8s/uid.inc"__defuid $4926;----------------------------------------------------------------------------; Factory conversion registersVREFINT_Factory_CONV label $4910 ; Value of the internal reference voltage measured during the factory phaseTS_Factory_CONV_V90 label $4911 ; Value of the temperature sensor output voltage measured during the factory phase;----------------------------------------------------------------------------; Option BytesOPT0 label $4800 ; Read-out protectionROP bfield OPT0,0,8 ; Memory readout protectionOPT1 label $4802 ; User boot code sizeUBC bfield OPT1,0,8 ; Size of the user boot code areaOPT3 label $4808 ; Independent watchdog optionIWDG_HW bit OPT3,0 ; Independent watchdog activated by SW/HWIWDG_HALT bit OPT3,1 ; Independent window watchdog off on Halt/Active-haltWWDG_HW bit OPT3,2 ; Window watchdog activated by SW/HWWWDG_HALT bit OPT3,3 ; Window window watchdog reset on Halt/Active-haltOPT4 label $4809 ; Number of stabilization clock cycles for HSE and LSE oscillatorsHSECNT bfield OPT4,0,2 ; Number of HSE oscillator stabilization clock cyclesLSECNT bfield OPT4,2,2 ; Number of LSE oscillator stabilization clock cyclesOPT5 label $480a ; Brownout resetBOR_TH bfield OPT5,1,3 ; Brownout reset thresholdsBOR_ON bit OPT5,0 ; Brownout reset on/offOPTBL label $480b ; Bootloader option bytes (2 bytes);----------------------------------------------------------------------------; VectorsRESET_vect label $8000 ; ResetTRAP_vect label $8004 ; Software interruptTLI_vect label $8008 ; External Top level InterruptFLASH_vect label $800c ; FLASH end of programing/write attempted to protected page interruptDMA1_01_vect label $8010 ; DMA1 channels 0/1 half transaction/transaction complete interruptDMA1_23_vect label $8014 ; DMA1 channels 2/3 half transaction/transaction complete interruptRTC_vect label $8018 ; RTC alarm/LSE/CSSEXTIE_vect label $801c ; External interrupt port E/F, shared with...PVD_vect label $801c ; PVD interruptEXTIB_vect label $8020 ; External interrupt port B/GEXTID_vect label $8024 ; External interrupt port D/HEXTI0_vect label $8028 ; External interrupt 0EXTI1_vect label $802c ; External interrupt 1EXTI2_vect label $8030 ; External interrupt 2EXTI3_vect label $8034 ; External interrupt 3EXTI4_vect label $8038 ; External interrupt 4EXTI5_vect label $803c ; External interrupt 5EXTI6_vect label $8040 ; External interrupt 6EXTI7_vect label $8044 ; External interrupt 7CLK_vect label $804c ; CLK system clock switch/CSS interrupt, shared with...TIM1_BRK_vect label $804c ; TIM1 break interrupt, shared with...DAC_vect label $804c ; DAC interruptCOMP_vect label $8050 ; COMP1/COMP2 interrupt, shared with...ADC1_vect label $8050 ; ADC1 end of conversion/analog watchdog/overrun interruptTIM2_vect label $8054 ; TIM2 update/overflow interrupt, shared with...USART2_TX_vect label $8054 ; USART2 transmit data register empty/transmission complete interruptTIM2_CAPT_vect label $8058 ; TIM2 capture/compare interrupt, shared with...USART2_RX_vect label $8058 ; USART2 received data ready/overrun error/idle line detected/parity error/global error interruptTIM3_vect label $805c ; TIM3 update/overflow/underflow/trigger/break interrupt, shared with...USART3_TX_vect label $805c ; USART3 transmit data register empty/transmission complete interruptTIM3_CAPT_vect label $8060 ; TIM3 capture/compare interrupt, shared with...USART3_RX_vect label $8060 ; USART3 received data ready/overrun error/idle line detected/parity error/global error interruptTIM1_vect label $8064 ; TIM1 update/overflow/underflow/trigger/break interruptTIM1_CAPT_vect label $8068 ; TIM1 capture/compare interruptTIM4_vect label $806c ; TIM4 update/overflow interruptSPI1_vect label $8070 ; SPI1 end of transfer interruptTIM5_vect label $8074 ; TIM5 update/overflow/underflow/trigger/break interrupt, shared with...USART1_TX_vect label $8074 ; USART1 transmit data register empty/transmission complete interruptTIM5_CAPT_vect label $8078 ; TIM5 capture/compare interrupt, shared with...USART1_RX_vect label $8078 ; USART1 received data ready/overrun error/idle line detected/parity error/global error interruptI2C1_vect label $807c ; I2C1 interrupt, shared with...SPI2_vect label $807c ; SPI2 end of transfer interrupt;----------------------------------------------------------------------------; GPIOinclude "stm8/stm8s/gpio.inc"__defgpio "PA",$5000__defgpio "PB",$5005__defgpio "PC",$500a__defgpio "PD",$500f__defgpio "PE",$5014__defgpio "PF",$5019__defgpio "PG",$501e__defgpio "PH",$5023__defgpio "PI",$5028;----------------------------------------------------------------------------; Flashinclude "flash.inc"__defflash $5050;----------------------------------------------------------------------------; DMAinclude "dma.inc"__defdma "DMA1",$5070;----------------------------------------------------------------------------; System Configurationinclude "syscfg.inc"__defsyscfg $509d,1;----------------------------------------------------------------------------; Wait for Eventsinclude "wfe.inc"__defwfe $50a6,1;----------------------------------------------------------------------------; Interrupt Controllerinclude "itc.inc"EXTI_CR1 label $50a0+$00 ; External interrupt control register 1P0IS bfield EXTI_CR1,0,2 ; Portx bit 0 external interrupt sensitivity bitsP1IS bfield EXTI_CR1,2,2 ; Portx bit 1 external interrupt sensitivity bitsP2IS bfield EXTI_CR1,4,2 ; Portx bit 2 external interrupt sensitivity bitsP3IS bfield EXTI_CR1,6,2 ; Portx bit 3 external interrupt sensitivity bitsEXTI_CR2 label $50a0+$01 ; External interrupt control register 2P4IS bfield EXTI_CR2,0,2 ; Portx bit 4 external interrupt sensitivity bitsP5IS bfield EXTI_CR2,2,2 ; Portx bit 5 external interrupt sensitivity bitsP6IS bfield EXTI_CR2,4,2 ; Portx bit 6 external interrupt sensitivity bitsP7IS bfield EXTI_CR2,6,2 ; Portx bit 7 external interrupt sensitivity bitsEXTI_CR3 label $50a0+$02 ; External interrupt control register 3PBIS bfield EXTI_CR3,0,2 ; Port B external interrupt sensitivity bitsPDIS bfield EXTI_CR3,2,2 ; Port D external interrupt sensitivity bitsPEIS bfield EXTI_CR3,4,2 ; Port E external interrupt sensitivity bitsPFIS bfield EXTI_CR3,6,2 ; Port F external interrupt sensitivity bitsEXTI_CR4 label $50a0+$0a ; External interrupt control register 4PGIS bfield EXTI_CR4,0,2 ; Port G external interrupt sensitivity bitsPHIS bfield EXTI_CR4,2,2 ; Port H external interrupt sensitivity bitsEXTI_SR1 label $50a0+$03 ; External interrupt status register 1P7F bit EXTI_SR1,7 ; Port A/B/C/D/E/F bit x external interrupt flagP6F bit EXTI_SR1,6P5F bit EXTI_SR1,5P4F bit EXTI_SR1,4P3F bit EXTI_SR1,3P2F bit EXTI_SR1,2P1F bit EXTI_SR1,1P0F bit EXTI_SR1,0EXTI_SR2 label $50a0+$04 ; External interrupt status register 2PHF bit EXTI_SR2,5 ; Port x external interrupt flagPGF bit EXTI_SR2,4PFF bit EXTI_SR2,3PEF bit EXTI_SR2,2PDF bit EXTI_SR2,1PBF bit EXTI_SR2,0EXTI_CONF1 label $50a0+$05 ; External interrupt port select registerPFES bit EXTI_CONF1,7 ; Port F or port E external interrupt selectPFLIS bit EXTI_CONF1,6 ; Port F[3:0] external interrupt selectPEHIS bit EXTI_CONF1,5 ; Port E[7:4] external interrupt selectPELIS bit EXTI_CONF1,4 ; Port E[3:0] external interrupt selectPDHIS bit EXTI_CONF1,3 ; Port D[7:4] external interrupt selectPDLIS bit EXTI_CONF1,2 ; Port D[3:0] external interrupt selectPBHIS bit EXTI_CONF1,1 ; Port B[7:4] external interrupt selectPBLIS bit EXTI_CONF1,0 ; Port B[3:0] external interrupt selectEXTI_CONF2 label $50a0+$0b ; External interrupt port select registerPHDS bit EXTI_CONF2,6 ; Port H or port D external interrupt selectPGBS bit EXTI_CONF2,5 ; Port G or port B external interrupt selectPHHIS bit EXTI_CONF2,4 ; Port H[7:4] external interrupt selectPHLIS bit EXTI_CONF2,3 ; Port H[3:0] external interrupt selectPGHIS bit EXTI_CONF2,2 ; Port G[7:4] external interrupt selectPGLIS bit EXTI_CONF2,1 ; Port G[3:0] external interrupt selectPFHIS bit EXTI_CONF2,0 ; Port F[7:4] external interrupt select__defitc $7f70,30;----------------------------------------------------------------------------; Reset Controllerinclude "rst.inc"__defrst $50b0;----------------------------------------------------------------------------; Power Controlinclude "pwr.inc"__defpwr $50b2;----------------------------------------------------------------------------; Clock Controllerinclude "stm8/stm8s/clk.inc"__defclk $50c0;----------------------------------------------------------------------------; Window Watchdoginclude "stm8/stm8s/wwdg.inc"__defwwdg $50d3;----------------------------------------------------------------------------; Independent Watchdoginclude "stm8/stm8s/iwdg.inc"__defiwdg $50e0;----------------------------------------------------------------------------; Beeperinclude "beep.inc"__defbeep $50f0;----------------------------------------------------------------------------; RTCinclude "rtc.inc"__defrtc $5140;----------------------------------------------------------------------------; Serial Peripheral Interfaceinclude "spi.inc"__defspi "SPI1",$5200__defspi "SPI2",$53c0;----------------------------------------------------------------------------; I2Cinclude "i2c.inc"__defi2c "I2C1",$5210,1;----------------------------------------------------------------------------; USART1include "usart.inc"__defusart "USART1",$5230__defusart "USART2",$53e0__defusart "USART3",$53f0;----------------------------------------------------------------------------; Timer 2/3include "tim235.inc"__deftim235 "TIM2",$5250,1__deftim235 "TIM3",$5280,1__deftim235 "TIM5",$5300,1;----------------------------------------------------------------------------; Timer 1include "tim1.inc"__deftim1 $52b0;----------------------------------------------------------------------------; Timer 4include "tim4.inc"__deftim4 $52e0,1;----------------------------------------------------------------------------; Infraredinclude "irtim.inc"__defirtim $52ff;----------------------------------------------------------------------------; Routing InterfaceRI_ICR1 label $5431 ; RI Timer input capture routing register 1RI_IC2CS bfield RI_ICR1,0,5 ; TIM1 Input Capture 2 I/O selectionRI_ICR2 label $5432 ; RI Timer input capture routing register 2RI_IC3CS bfield RI_ICR2,0,5 ; TIM1 Input Capture 3 I/O selectionRI_IOIR1 label $5433 ; RI I/O input register 1RI_CH22I bit RI_IOIR1,7 ; I/O pin input valueRI_CH19I bit RI_IOIR1,6RI_CH16I bit RI_IOIR1,5RI_CH13I bit RI_IOIR1,4RI_CH10I bit RI_IOIR1,3RI_CH7I bit RI_IOIR1,2RI_CH4I bit RI_IOIR1,1RI_CH1I bit RI_IOIR1,0RI_IOIR2 label $5434 ; RI I/O input register 2RI_CH23I bit RI_IOIR2,7 ; I/O pin input valueRI_CH20I bit RI_IOIR2,6RI_CH17I bit RI_IOIR2,5RI_CH14I bit RI_IOIR2,4RI_CH11I bit RI_IOIR2,3RI_CH8I bit RI_IOIR2,2RI_CH5I bit RI_IOIR2,1RI_CH2I bit RI_IOIR2,0RI_IOIR3 label $5435 ; RI I/O input register 3RI_CH24I bit RI_IOIR3,7 ; I/O pin input valueRI_CH21I bit RI_IOIR3,6RI_CH18I bit RI_IOIR3,5RI_CH15I bit RI_IOIR3,4RI_CH12I bit RI_IOIR3,3RI_CH9I bit RI_IOIR3,2RI_CH6I bit RI_IOIR3,1RI_CH3I bit RI_IOIR3,0RI_IOCMR1 label $5436 ; RI I/O control mode register 1RI_CH22M bit RI_IOCMR1,7 ; I/O control modeRI_CH19M bit RI_IOCMR1,6RI_CH16M bit RI_IOCMR1,5RI_CH13M bit RI_IOCMR1,4RI_CH10M bit RI_IOCMR1,3RI_CH7M bit RI_IOCMR1,2RI_CH4M bit RI_IOCMR1,1RI_CH1M bit RI_IOCMR1,0RI_IOCMR2 label $5437 ; RI I/O control mode register 2RI_CH23M bit RI_IOCMR2,7 ; I/O control modeRI_CH20M bit RI_IOCMR2,6RI_CH17M bit RI_IOCMR2,5RI_CH14M bit RI_IOCMR2,4RI_CH11M bit RI_IOCMR2,3RI_CH8M bit RI_IOCMR2,2RI_CH5M bit RI_IOCMR2,1RI_CH2M bit RI_IOCMR2,0RI_IOCMR3 label $5438 ; RI I/O control mode register 3RI_CH24M bit RI_IOCMR3,7 ; I/O control modeRI_CH21M bit RI_IOCMR3,6RI_CH18M bit RI_IOCMR3,5RI_CH53M bit RI_IOCMR3,4RI_CH12M bit RI_IOCMR3,3RI_CH9M bit RI_IOCMR3,2RI_CH6M bit RI_IOCMR3,1RI_CH3M bit RI_IOCMR3,0RI_IOSR1 label $5439 ; RI I/O switch register 1RI_CH22E bit RI_IOSR1,7 ; I/O switch controlRI_CH19E bit RI_IOSR1,6RI_CH16E bit RI_IOSR1,5RI_CH13E bit RI_IOSR1,4RI_CH10E bit RI_IOSR1,3RI_CH7E bit RI_IOSR1,2RI_CH4E bit RI_IOSR1,1RI_CH1E bit RI_IOSR1,0RI_IOSR2 label $543a ; RI I/O switch register 2RI_CH23E bit RI_IOSR2,7 ; I/O switch controlRI_CH20E bit RI_IOSR2,6RI_CH17E bit RI_IOSR2,5RI_CH14E bit RI_IOSR2,4RI_CH11E bit RI_IOSR2,3RI_CH8E bit RI_IOSR2,2RI_CH5E bit RI_IOSR2,1RI_CH2E bit RI_IOSR2,0RI_IOSR3 label $543b ; RI I/O switch register 3RI_CH24E bit RI_IOSR3,7 ; I/O switch controlRI_CH21E bit RI_IOSR3,6RI_CH18E bit RI_IOSR3,5RI_CH15E bit RI_IOSR3,4RI_CH12E bit RI_IOSR3,3RI_CH9E bit RI_IOSR3,2RI_CH6E bit RI_IOSR3,1RI_CH3E bit RI_IOSR3,0RI_IOGCR label $543c ; RI I/O group control registerRI_IOM4 bfield RI_IOGCR,6,2 ; I/O mode 4RI_IOM3 bfield RI_IOGCR,4,2 ; I/O mode 3RI_IOM2 bfield RI_IOGCR,2,2 ; I/O mode 2RI_IOM1 bfield RI_IOGCR,0,2 ; I/O mode 1RI_ASCR1 label $543d ; Analog switch register 1RI_AS7 bit RI_ASCR1,7 ; Analog switch controlRI_AS6 bit RI_ASCR1,6RI_AS5 bit RI_ASCR1,5RI_AS4 bit RI_ASCR1,4RI_AS3 bit RI_ASCR1,3RI_AS2 bit RI_ASCR1,2RI_AS1 bit RI_ASCR1,1RI_AS0 bit RI_ASCR1,0RI_ASCR2 label $543e ; Analog switch register 2RI_AS14 bit RI_ASCR2,6 ; Analog switch controlRI_AS11 bit RI_ASCR2,3RI_AS10 bit RI_ASCR2,2RI_AS9 bit RI_ASCR2,1RI_AS8 bit RI_ASCR2,0RI_RCR label $543f ; Resistor control registerRI_400KPD bit RI_RCR,3 ; 400 kOhm pull-down resistorRI_10KPD bit RI_RCR,2 ; 10 kOhm pull-down resistorRI_400KPU bit RI_RCR,1 ; 400 kOhm pull-up resistorRI_10KPU bit RI_RCR,0 ; 10 kOhm pull-up resistor;----------------------------------------------------------------------------; A/D Converter 1include "adc1.inc"__defadc1 "ADC",,$5340;----------------------------------------------------------------------------; Comparatorsinclude "comp.inc"__defcomp $5440;----------------------------------------------------------------------------; D/A Converterinclude "dac.inc"__defdac $5380,2,1;----------------------------------------------------------------------------; CPUinclude "stm8/cpuregs.inc"__defcpuregs $7f00;----------------------------------------------------------------------------; Single Wire Interface Moduleinclude "stm8/swim.inc"__defswim $7f80;----------------------------------------------------------------------------; Debug Moduleinclude "stm8/dm.inc"__defdm $7f90restore ; allow againendif ; __stm8l151x8inc