Blame | Last modification | View Log | Download | RSS feed
ifndef __regf6482inc__regf6482inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File F6482.INC *;* *;* Contains Bit & Register Definitions for Z8encore! XP F6482 *;* Source: Z8 Encore! XP F6482 Series Product Specification, PS029412-0618*;* *;****************************************************************************include "ez8com.inc";----------------------------------------------------------------------------; System ControlPWRCTL0 sfr 0f80h ; Power Control 0OpAmpB __z8bit PWRCTL0,7 ; Op Amp B EnableOpAmpA __z8bit PWRCTL0,6 ; Op Amp A EnableLCD __z8bit PWRCTL0,5 ; LCD EnableLVDE __z8bit PWRCTL0,4 ; Low-Voltage Detection EnableTEMP __z8bit PWRCTL0,3 ; Temperature Sensor EnableFRECOV __z8bit PWRCTL0,2 ; Fast RecoveryCOMP0 __z8bit PWRCTL0,1 ; Comparator 0 DisableCOMP1 __z8bit PWRCTL0,0 ; Comparator 1 DisablePWRCTL1 sfr 0f81h ; Power Control 1ADC __z8bfield PWRCTL1,2,2 ; ADC and ADC Internal Voltage Reference Buffer Continous EnableDAC __z8bit PWRCTL1,1 ; DAC EnableCLKCTL0 sfr 0f82h ; Clock Control 0CSTAT __z8bit CLKCTL0,7 ; Clock System Register Lock StatusSCKFEN __z8bit CLKCTL0,6 ; System Clock Failure Detection EnableSCKDIV __z8bfield CLKCTL0,3,3 ; System Clock Division RatioSCKSEL __z8bfield CLKCTL0,0,3 ; System Clock Source SelectCLKCTL1 sfr 0f83h ; Clock Control 1IPORDY __z8bit CLKCTL1,7 ; Internal Precision Oscillator (IPO) Ready FlagWTOFEN __z8bit CLKCTL1,5 ; Watchdog Timer Oscillator Failure Detection EnablePCKSEL __z8bfield CLKCTL1,3,2 ; PCLK Source SelectPCKSM __z8bit CLKCTL1,2 ; PCLK Stop Mode OperationLFXOEN __z8bit CLKCTL1,1 ; Low Frequency Crystal Oscillator (LFXO) EnableIPOEN __z8bit CLKCTL1,0 ; Internal Precision Oscillator (IPO) EnableCLKCTL2 sfr 0f84h ; Clock Control 2HFXORDY __z8bit CLKCTL2,7 ; High Frequency Crystal Oscillator (HFXO) Ready FlagHFXOBAND __z8bfield CLKCTL2,2,2 ; High Frequency Crystal Oscillator (HFXO) Frequency BandHFXOEN __z8bit CLKCTL2,0 ; High Frequency Crystal Oscillator (HFXO) EnableCLKCTL3 sfr 0f85h ; Clock Control 3FLLNDIVH __z8bfield CLKCTL3,0,8 ; Frequency Locked Loop (FLL) N-Divider High ByteCLKCTL4 sfr 0f86h ; Clock Control 4FLLNDIVL __z8bfield CLKCTL4,0,2 ; Frequency Locked Loop (FLL) N-Divider Low ByteCLKCTL5 sfr 0f87h ; Clock Control 5FLLIRQE __z8bit CLKCTL5,6 ; FLL Lost Lock Interrupt Request EnableFLLLL __z8bit CLKCTL5,5 ; FLL Lost LockFLLRDY __z8bit CLKCTL5,4 ; FLL ReadyFLADONE __z8bit CLKCTL5,3 ; FLL Fast Locking Algorithm DoneDCOEN __z8bit CLKCTL5,2 ; Digitally Controlled Oscillator (DCO) EnableSEEDSEL __z8bit CLKCTL5,1 ; DCO Seed SelectFLLEN __z8bit CLKCTL5,0 ; Frequency Locked Loop (FLL) EnableCLKCTL6 sfr 0f88h ; Clock Control 6DCOCTLH __z8bfield CLKCTL6,0,8 ; Digitally Controlled Oscillator (DCO) Control Word High ByteCLKCTL7 sfr 0f89h ; Clock Control 7DCOCTLL __z8bfield CLKCTL7,0,8 ; Digitally Controlled Oscillator (DCO) Control Word Low ByteCLKCTL8 sfr 0f8ah ; Clock Control 8DCOCTLCH __z8bfield CLKCTL8,0,8 ; Digitally Controlled Oscillator (DCO) Converged Control Word High ByteCLKCTL9 sfr 0f8bh ; Clock Control 9DCOCTLCL __z8bfield CLKCTL9,0,8 ; Digitally Controlled Oscillator (DCO) converged control word Low ByteCLKCTLA sfr 0f8ch ; Clock Control APLLNDIV __z8bfield CLKCTLA,0,8 ; Phase Locked Loop (PLL) Feedback Division RatioCLKCTLB sfr 0f8dh ; Clock Control BPLLRDIV __z8bfield CLKCTLB,4,4 ; Phase Locked Loop (PLL) Reference Division RatioPLLODIV __z8bfield CLKCTLB,0,3 ; Phase Locked Loop (PLL) Output Division RatioCLKCTLC sfr 0f8eh ; Clock Control CPLLRDY __z8bit CLKCTLC,7 ; Phase Locked Loop (PLL) Ready FlagPLLSEL __z8bit CLKCTLC,1 ; PLL Source SelectPLLEN __z8bit CLKCTLC,0 ; Phased Locked Loop (PLL) EnableTRMADR sfr 0ff6h ; Trim Bit AddressTRMDR sfr 0ff7h ; Trim Data;----------------------------------------------------------------------------; Flash OptionsOPTIONS0 label 0000hWDT_RES __z8cbit OPTIONS0,7 ; Watchdog Timer ResetWDT_AO __z8cbit OPTIONS0,6 ; Watchdog Timer Always OnVBOCTL __z8cbfield OPTIONS0,2,2 ; Voltage Brown-Out Protection ControlFRP __z8cbit OPTIONS0,1 ; Flash Read ProtectFWP __z8cbit OPTIONS0,0 ; Flash Write ProtectOPTIONS1 label 0001h;----------------------------------------------------------------------------; Interrupts VectorsRESET_vect label 0002h ; Reset (not an interrupt)WDT_vect label 0004h ; Watchdog TimerILL_INST_vect label 0006h ; Illegal Instruction Trap (not an interrupt)TIMER2_vect label 0008h ; Timer 2TIMER1_vect label 000ah ; Timer 1TIMER0_vect label 000ch ; Timer 0UART0_RX_vect label 000eh ; UART 0 ReceiverUART0_TX_vect label 0010h ; UART 0 TransmitterUSB_vect label 0012h ; USBUSB_RESUME_vect label 0014h ; USB ResumeI2C_vect label 0016h ; I2CSPI1_vect label 0018h ; SPI1DAC_vect label 001ah ; DACDMA1_vect label 001ch ; DMA1DMA0_vect label 001eh ; DMA0ADC_vect label 0020h ; ADCSPI0_vect label 0022h ; SPI0LCD_vect label 0024h ; LCDRTC_vect label 0026h ; RTCA7_vect label 0028h ; Port A7, selectable rising or falling input edge, or LVDA6_vect label 002ah ; Port A6, selectable rising or falling input edge or Comparator 0 OutputA5_vect label 002ch ; Port A5, selectable rising or falling input edge or Comparator 1 OutputA4_vect label 002eh ; Port A4 or Port D4, selectable rising or falling input edgeA3_vect label 0030h ; Port A3 or Port D3, selectable rising or falling input edgeA2_vect label 0032h ; Port A2 or Port D2, selectable rising or falling input edgeA1_vect label 0034h ; Port A1 or Port D1, selectable rising or falling input edgeA0_vect label 0036h ; Port A0, selectable rising or falling input edgeAES_vect label 0038h ; AESMCT_vect label 003ah ; Multi-Channel TimerUART1_RX_vect label 003ch ; UART 1 ReceiverUART1_TX_vect label 003eh ; UART 1 TransmitterC3_vect label 0040h ; Port C3, both input edgesDMA3_vect label 0040h ; DMA3C2_vect label 0042h ; Port C2, both input edgesDMA2_vect label 0042h ; DMA2C1_vect label 0044h ; Port C1, both input edgesC0_vect label 0046h ; Port C0, both input edgesSYSCLK_vect label 0048h ; System Clock Fail (not an interrupt)WDGOSC_vect label 004ah ; Watchdog Timer Oscillator Fail (not an interrupt);----------------------------------------------------------------------------; Interrupts__defirq macro NUM,BaseIRQ{NUM} sfr Base+0 ; Interrupt Request nIRQ{NUM}ENH sfr Base+1 ; IRQn Enable High BitIRQ{NUM}ENL sfr Base+2 ; IRQn Enable Low Bitendm__defirq "0",0fc0h__defirq "1",0fc3h__defirq "2",0fc6h__defirq "3",0fc9hT2I __z8bit IRQ0,7 ; Timer 2 Interrupt RequestT1I __z8bit IRQ0,6 ; Timer 1 Interrupt RequestT0I __z8bit IRQ0,5 ; Timer 0 Interrupt RequestU0RXI __z8bit IRQ0,4 ; UART 0 Receiver Interrupt RequestU0TXI __z8bit IRQ0,3 ; UART 0 Transmitter Interrupt RequestUSBI __z8bit IRQ0,2 ; USB Interrupt RequestUSBRI __z8bit IRQ0,1 ; USB Resume Interrupt RequestI2CI __z8bit IRQ0,0 ; I2C Interrupt RequestT2ENH __z8bit IRQ0ENH,7 ; Timer 2 Interrupt Enable & PriorityT2ENL __z8bit IRQ0ENL,7T1ENH __z8bit IRQ0ENH,6 ; Timer 1 Interrupt Enable & PriorityT1ENL __z8bit IRQ0ENL,6T0ENH __z8bit IRQ0ENH,5 ; Timer 0 Interrupt Enable & PriorityT0ENL __z8bit IRQ0ENL,5U0RENH __z8bit IRQ0ENH,4 ; UART 0 Receive Interrupt Enable & PriorityU0RENL __z8bit IRQ0ENL,4U0TENH __z8bit IRQ0ENH,3 ; UART 0 Transmit Interrupt Enable & PriorityU0TENL __z8bit IRQ0ENL,3USBENH __z8bit IRQ0ENH,2 ; USB Interrupt Enable & PriorityUSBENL __z8bit IRQ0ENL,2USBRENH __z8bit IRQ0ENH,1 ; USB Resume Interrupt Enable & PriorityUSBRENL __z8bit IRQ0ENL,1I2CENH __z8bit IRQ0ENH,0 ; I2C Interrupt Enable & PriorityI2CENL __z8bit IRQ0ENL,0SPI1I __z8bit IRQ1,7 ; SPI1 Interrupt RequestDACI __z8bit IRQ1,6 ; DAC Interrupt RequestDMA1I __z8bit IRQ1,5 ; DMA1 Interrupt RequestDMA0I __z8bit IRQ1,4 ; DMA0 Interrupt RequestADCI __z8bit IRQ1,3 ; ADC Interrupt RequestSPI0I __z8bit IRQ1,2 ; SPI0 Interrupt RequestLCDI __z8bit IRQ1,1 ; LCD Interrupt RequestRTCI __z8bit IRQ1,0 ; RTC Interrupt RequestSPI1ENH __z8bit IRQ1ENH,7 ; SPI1 Interrupt Enable & PrioritySPI1ENL __z8bit IRQ1ENL,7DACENH __z8bit IRQ1ENH,6 ; DAC Interrupt Enable & PriorityDACENL __z8bit IRQ1ENL,6DMA1ENH __z8bit IRQ1ENH,5 ; DMA1 Interrupt Enable & PriorityDMA1ENL __z8bit IRQ1ENL,5DMA0ENH __z8bit IRQ1ENH,4 ; DMA0 Interrupt Enable & PriorityDMA0ENL __z8bit IRQ1ENL,4ADCENH __z8bit IRQ1ENH,3 ; ADC Interrupt Enable & PriorityADCENL __z8bit IRQ1ENL,3SPI0ENH __z8bit IRQ1ENH,2 ; SPI0 Interrupt Enable & PrioritySPI0ENL __z8bit IRQ1ENL,2LCDENH __z8bit IRQ1ENH,1 ; LCD Interrupt Enable & PriorityLCDENL __z8bit IRQ1ENL,1RTCENH __z8bit IRQ1ENH,0 ; RTC Interrupt Enable & PriorityRTCENL __z8bit IRQ1ENL,0PA7VI __z8bit IRQ2,7 ; Port A7 or LVD Interrupt RequestPA6CI __z8bit IRQ2,6 ; Port A6 or Comparator 0 Interrupt RequestPA5CI __z8bit IRQ2,5 ; Port A5 or Comparator 1 Interrupt RequestPA4DI __z8bit IRQ2,4 ; Port A4 or Port D4 Interrupt RequestPA3DI __z8bit IRQ2,3 ; Port A3 or Port D3 Interrupt RequestPA2DI __z8bit IRQ2,2 ; Port A2 or Port D2 Interrupt RequestPA1DI __z8bit IRQ2,1 ; Port A1 or Port D1 Interrupt RequestPA0I __z8bit IRQ2,0 ; Port A0 Interrupt RequestPA7VENH __z8bit IRQ2ENH,7 ; Port A7 or LVD Interrupt Enable & PriorityPA7VENL __z8bit IRQ2ENL,7PA6C0ENH __z8bit IRQ2ENH,6 ; Port A6 or Comparator 0 Interrupt Enable & PriorityPA6C0ENL __z8bit IRQ2ENL,6PA5C1ENH __z8bit IRQ2ENH,5 ; Port A5 or Comparator 1 Interrupt Enable & PriorityPA5C1ENL __z8bit IRQ2ENL,5PAD4ENH __z8bit IRQ2ENH,4 ; Port A4 or Port D4 Interrupt Enable & PriorityPAD4ENL __z8bit IRQ2ENL,4PAD3ENH __z8bit IRQ2ENH,3 ; Port A3 or Port D3 Interrupt Enable & PriorityPAD3ENL __z8bit IRQ2ENL,3PAD2ENH __z8bit IRQ2ENH,2 ; Port A2 or Port D2 Interrupt Enable & PriorityPAD2ENL __z8bit IRQ2ENL,2PAD1ENH __z8bit IRQ2ENH,1 ; Port A1 or Port D1 Interrupt Enable & PriorityPAD1ENL __z8bit IRQ2ENL,1PAD0ENH __z8bit IRQ2ENH,0 ; Port A0 Interrupt Enable & PriorityPAD0ENL __z8bit IRQ2ENL,0AESI __z8bit IRQ3,7 ; AES Interrupt RequestMCTI __z8bit IRQ3,6 ; Multi-Channel Timer Interrupt RequestU1RXI __z8bit IRQ3,5 ; UART 1 Receiver Interrupt RequestU1TXI __z8bit IRQ3,4 ; UART 1 Transmitter Interrupt RequesPC3I __z8bit IRQ3,3 ; Port C3 or...DMA3I __z8bit IRQ3,3 ; DMA 3 Interrupt RequestPC2I __z8bit IRQ3,2 ; Port C2 or...DMA2I __z8bit IRQ3,2 ; DMA 2 Interrupt RequestPC1I __z8bit IRQ3,1 ; Port C1 Interrupt RequestPC0I __z8bit IRQ3,0 ; Port C0 Interrupt RequestAESENH __z8bit IRQ3ENH,7 ; AES Interrupt Enable & PriorityAESENL __z8bit IRQ3ENL,7MCTENH __z8bit IRQ3ENH,6 ; Multi-Channel Timer Interrupt Enable & PriorityMCTENL __z8bit IRQ3ENL,6U1RENH __z8bit IRQ3ENH,5 ; UART1 Receive Interrupt Enable & PriorityU1RENL __z8bit IRQ3ENL,5U1TENH __z8bit IRQ3ENH,4 ; UART1 Transmit Interrupt Enable & PriorityU1TENL __z8bit IRQ3ENL,4C3ENH __z8bit IRQ3ENH,3 ; Port C3 or...C3ENL __z8bit IRQ3ENL,3DMA3ENH __z8bit IRQ3ENH,3 ; DMA3 Interrupt Enable & PriorityDMA3ENL __z8bit IRQ3ENL,3C2ENH __z8bit IRQ3ENH,2 ; Port C2 or...C2ENL __z8bit IRQ3ENL,2DMA2ENH __z8bit IRQ3ENH,2 ; DMA2 Interrupt Enable & PriorityDMA2ENL __z8bit IRQ3ENL,2C1ENH __z8bit IRQ3ENH,1 ; Port C1 Interrupt Enable & PriorityC1ENL __z8bit IRQ3ENL,1C0ENH __z8bit IRQ3ENH,0 ; Port C0 Interrupt Enable & PriorityC0ENL __z8bit IRQ3ENL,0IRQES sfr 0fcch ; Interrupt Edge SelectIRQSS0 sfr 0fcdh ; Shared Interrupt Select Register 0PA7VS __z8bit IRQSS0,7 ; PA7/LVD SelectionPA6CS __z8bit IRQSS0,6 ; PA6/Comparator 0 SelectionPA5CS __z8bit IRQSS0,5 ; PA5/Comparator 1 SelectionPAD4S __z8bit IRQSS0,4 ; PA4/PD4 SelectionPAD3S __z8bit IRQSS0,3 ; PA3/PD3 SelectionPAD2S __z8bit IRQSS0,2 ; PA2/PD2 SelectionPAD1S __z8bit IRQSS0,1 ; PA1/PD1 SelectionIRQSS1 sfr 0fceh ; Shared Interrupt Select Register 1PCDMA3S __z8bit IRQSS1,3 ; PC3/DMA3 SelectionPCDMA2S __z8bit IRQSS1,2 ; PC2/DMA2 SelectionIRQCTL sfr 0fcfh ; Interrupt ControlIRQE __z8bit IRQCTL,7 ; Interrupt Request Enable;----------------------------------------------------------------------------; Event SystemESSSA sfr 0f98h ; Event System Source SubaddressESSSD sfr 0f99h ; Event System Source SubdataCHSRCSEL __z8bfield ESSSD,0,7 ; Event System Channel Source SelectionESDSA sfr 0f9ah ; Event System Destination SubaddressESDSD sfr 0f9bh ; Event System Destination SubdataDSTCON __z8bit ESDSD,3 ; Event System Destination ConnectionDSTCHSEL __z8bfield ESDSD,0,3 ; Event System Destination Channel Selection;----------------------------------------------------------------------------; Flash Memory ControlFCTL sfr 0ff8h ; Flash ControlFCMD __z8bfield FCTL,0,8 ; Flash CommandFSTAT sfr 0ff8h ; Flash StatusFPS sfr 0ff9h ; Flash Page SelectINFO_EN __z8bit FPS,7 ; Information Area EnablePAGE __z8bfield FPS,0,7 ; Page SelectFPROT sfr 0ff9h ; Flash Sector ProtectFPCONFIG sfr 0ffah ; Flash Programming ConfigurationPMODE __z8bit FPCONFIG,0 ; Programming Mode;----------------------------------------------------------------------------; GPIO__defgpio "A",0fd0h__defgpio "B",0fd4h__defgpio "C",0fd8h__defgpio "D",0fdch__defgpio "E",0fe0h__defgpio "F",0fe4h__defgpio "G",0fe8h__defgpio "H",0fech__defgpio "J",0fbch;----------------------------------------------------------------------------; LED ControllerLEDEN sfr 0f82h ; LED Drive EnableLEDLVLH sfr 0f83h ; LED Drive Level HighLEDLVLL sfr 0f84h ; LED Drive Level Low;----------------------------------------------------------------------------; Timer__defmytimer macro NUM,Base,Base2,Base3__deftimer NUM,Base,1,0T{NUM}MODE3 equ T{NUM}MODEHIT{NUM}PWM1H sfr Base2+0 ; Timer PWM1 High ByteT{NUM}PWM1L sfr Base2+1 ; Timer PWM1 Low ByteT{NUM}PWM1 sfr T{NUM}PWM1HT{NUM}CTL2 sfr Base2+2 ; Timer Control 2T{NUM}PWM0UE __z8bit T{NUM}CTL2,5 ; PWM0 Update EnableT{NUM}TPOLHI __z8bit T{NUM}CTL2,4 ; Timer Input/Output Polarity High BitT{NUM}OUTCTL __z8bit T{NUM}CTL2,2 ; Timer Output ControlT{NUM}TCLKS __z8bfield T{NUM}CTL2,0,2 ; Timer Clock SourceT{NUM}STAT sfr Base2+3 ; Timer StatusT{NUM}NEF __z8bit T{NUM}STAT,7 ; Noise Event FlagT{NUM}PWM1EO __z8bit T{NUM}STAT,5 ; PWM 1 Event OverrunT{NUM}PWM0EO __z8bit T{NUM}STAT,4 ; PWM 0 Event OverrunT{NUM}RTOEF __z8bit T{NUM}STAT,3 ; Reload Time-Out Event FlagT{NUM}PWM1EF __z8bit T{NUM}STAT,1 ; PWM 1 Event FlagT{NUM}PWM0EF __z8bit T{NUM}STAT,0 ; PWM 0 Event FlagT{NUM}NFC sfr Base3+0 ; Timer Noise Filter ControlT{NUM}NFCTL __z8bfield T{NUM}NFC,4,4 ; Noise Filter ControlT{NUM}NFCON __z8bit T{NUM}NFC,7 ; Noise Filter Connectionendm__defmytimer "0",0f00h,0f20h,0f2ch__defmytimer "1",0f08h,0f24h,0f2dh__defmytimer "2",0f10h,0f28h,0f2eh;----------------------------------------------------------------------------; RTCRTC_SEC sfr 0f30h ; Real-Time Clock SecondsTEN_SEC __z8bfield RTC_SEC,4,3 ; Current Seconds TensSEC __z8bfield RTC_SEC,0,4 ; Current Seconds OnesRTC_MIN sfr 0f31h ; Real-Time Clock MinutesTEN_MIN __z8bfield RTC_MIN,4,3 ; Current Minutes TensMIN __z8bfield RTC_MIN,0,4 ; Current Minutes OnesRTC_HRS sfr 0f32h ; Real-Time Clock HoursTEN_HRS __z8bfield RTC_HRS,4,2 ; Current Hours TensHRS __z8bfield RTC_HRS,0,4 ; Current Hours OnesRTC_DOM sfr 0f33h ; Real-Time Clock Day-of-the-MonthTENS_DOM __z8bfield RTC_DOM,4,2 ; Current Day Of The Month TensDOM __z8bfield RTC_DOM,0,4 ; Current Day Of The Month OnesRTC_DOW sfr 0f34h ; Real-Time Clock Day-of-the-WeekDOW __z8bfield RTC_DOW,0,3 ; Current Day Of The WeekRTC_MON sfr 0f35h ; Real-Time Clock MonthTENS_MON __z8bfield RTC_MON,4,1 ; Current Month TensMON __z8bfield RTC_MON,0,3 ; Current Month OnesRTC_YR sfr 0f36h ; Real-Time Clock YearTENS_YR __z8bfield RTC_YR,4,4 ; Current Year TensYR __z8bfield RTC_YR,0,4 ; Current Year OnesRTC_ASEC sfr 0f37h ; Real-Time Clock Alarm SecondsATEN_SEC __z8bfield RTC_ASEC,4,3 ; Alarm Seconds TensASEC __z8bfield RTC_ASEC,0,4 ; Alarm Seconds OnesRTC_AMIN sfr 0f38h ; Real-Time Clock Alarm MinutesATEN_MIN __z8bfield RTC_AMIN,4,3 ; Alarm Minutes TensAMIN __z8bfield RTC_AMIN,0,4 ; Alarm Minutes OnesRTC_AHRS sfr 0f39h ; Real-Time Clock Alarm HoursATEN_HRS __z8bfield RTC_AHRS,4,2 ; Alarm Hours TensAHRS __z8bfield RTC_AHRS,0,4 ; Alarm Hours OnesRTC_ADOM sfr 0f3ah ; Real-Time Clock Alarm Day-of-the-MonthATEN_DOM __z8bfield RTC_ADOM,4,2 ; Alarm Day Of The Month TensADOM __z8bfield RTC_ADOM,0,4 ; Alarm Day Of The Month OnesRTC_ADOW sfr 0f3bh ; Real-Time Clock Alarm Day-of-the-WeekADOW __z8bfield RTC_ADOW,0,3 ; Alarm Day Of The WeekRTC_ACTRL sfr 0f3ch ; Real-Time Clock Alarm ControlADOM_EN __z8bit RTC_ACTRL,4 ; Alarm Day Of The Month EnableADOW_EN __z8bit RTC_ACTRL,3 ; Alarm Day Of The Week EnableAHRS_EN __z8bit RTC_ACTRL,2 ; Alarm Hours EnableAMIN_EN __z8bit RTC_ACTRL,1 ; Alarm Minutes EnableASEC_EN __z8bit RTC_ACTRL,0 ; Alarm Seconds EnableRTC_TIM sfr 0f3eh ; Real-Time Clock TimingRTC_PRESCALE __z8bfield RTC_TIM,4,3 ; RTC PrescaleFREQ_SEL __z8bfield RTC_TIM,2,2 ; RTC Frequency SelectCLK_SEL __z8bfield RTC_TIM,0,2 ; RTC Source SelectRTC_CTRL sfr 0f3fh ; Real-Time Clock ControlSYNC __z8bit RTC_CTRL,7 ; RTC SynchronizeALARM __z8bit RTC_CTRL,6 ; RTC AlarmBCD_EN __z8bit RTC_CTRL,4 ; Binary Coded Decimal EnableRTC_MODE __z8bit RTC_CTRL,3 ; RTC ModeDAY_SAV __z8bit RTC_CTRL,1 ; Daylight Savings TimeRTC_LOCK __z8bit RTC_CTRL,0 ; RTC Count Lock;----------------------------------------------------------------------------; Multi-Channel Timer__defmct;----------------------------------------------------------------------------; DMA__defdma macro NUM,BaseDMA{NUM}SA sfr Base+0 ; DMA Subaddress/StatusIRQS{NUM} __z8bit DMA{NUM}SA,7 ; Interrupt Request StatusLLACT{NUM} __z8bit DMA{NUM}SA,5 ; Linked List ActiveACT{NUM} __z8bit DMA{NUM}SA,4 ; DMA ActiveDMA{NUM}SD sfr Base+1 ; DMA SubdataDMA{NUM}SRCH equ 0 ; DMA Source Address HighTXLIST{NUM} __z8bit DMA{NUM}SD,7 ; Transfer In ListDMA{NUM}SRCL equ 1 ; DMA Source Address LowDMA{NUM}DSTH equ 2 ; DMA Destination Address HighDMA{NUM}DSTL equ 3 ; DMA Destination Address LowDMA{NUM}CNTH equ 4 ; DMA Count HighWMCNT{NUM} __z8bfield DMA{NUM}SD,4,4 ; Watermark CountDMA{NUM}CNTL equ 5 ; DMA Count LowDMA{NUM}CTL0 equ 6 ; DMA Control 0LLCTL{NUM} __z8bfield DMA{NUM}SD,6,2 ; Linked List ControlEOCIRQE{NUM} __z8bit DMA{NUM}SD,5 ; End-of-Count Interrupt Request EnableHALT{NUM} __z8bit DMA{NUM}SD,4 ; Halt Upon Descriptor CompletionDSTCTL{NUM} __z8bfield DMA{NUM}SD,2,2 ; Destination Address ControlSRCCTL{NUM} __z8bfield DMA{NUM}SD,0,2 ; Source Address ControlDMA{NUM}CTL1 equ 7 ; DMA Control 1ENABLE{NUM} __z8bit DMA{NUM}SD,7 ; DMA Channel EnableREQSEL{NUM} __z8bfield DMA{NUM}SD,0,5 ; DMA Requestor SelectionDMA{NUM}LAH equ 8 ; DMA Linked List Descriptor Address HighDMA{NUM}LAL equ 9 ; DMA Linked List Descriptor Address Lowendm__defdma "0",0fa8h__defdma "1",0faah__defdma "2",0fach__defdma "3",0faehDMACTL sfr 0fb0h ; DMA ControlGDISABLE __z8bit DMACTL,7 ; DMA Global DisablePRIORITY __z8bit DMACTL,6 ; DMA Priority SelectBURST __z8bfield DMACTL,4,2 ; Burst TransfersAUTOINC __z8bit DMACTL,2 ; Autoincrement EnableCHAIN32 __z8bit DMACTL,1 ; Chain DMA3 and DMA2CHAIN10 __z8bit DMACTL,0 ; Chain DMA1 and DMA0;----------------------------------------------------------------------------; LCDLCDSA sfr 0fb1h ; LCD SubaddressLCDSD sfr 0fb2h ; LCD SubdataLCDCLK sfr 0fb3h ; LCD ClockCLKSEL __z8bit LCDCLK,7 ; LCD Clock SelectionLCD_PRESCALE __z8bfield LCDCLK,4,3 ; LCD Clock Prescale DividerFDIV __z8bfield LCDCLK,0,4 ; Frame DividerLCDCTL0 sfr 0fb4h ; LCD Control 0BDIV __z8bfield LCDCTL0,3,5 ; Blinking Divider RatioBMODE __z8bfield LCDCTL0,1,2 ; Blinking ModeLCDCTL1 sfr 0fb5h ; LCD Control 1HBDDUR __z8bfield LCDCTL1,5,3 ; Higher Bias Drive DurationCPEN __z8bit LCDCTL1,4 ; Charge Pump EnableBIASGSEL __z8bit LCDCTL1,3 ; Bias Generator SelectionCONTRAST __z8bfield LCDCTL1,0,3 ; Contrast ControlLCDCTL2 sfr 0fb6h ; LCD Control 2MSTAT __z8bit LCDCTL2,7 ; LCD Memory StatusIRQS __z8bit LCDCTL2,6 ; Interrupt Request SelectLCDMODE __z8bfield LCDCTL2,2,4 ; LCD Operating ModeDMMODE __z8bfield LCDCTL2,0,2 ; Display Memory ModeLCDCTL3 sfr 0fb7h ; LCD Control 3CPTSEL __z8bit LCDCTL3,6 ; Charge Pump Type SelectVLCDDIR __z8bit LCDCTL3,5 ; VLCD DirectionWGENEN __z8bit LCDCTL3,4 ; Waveform Generator Enable;----------------------------------------------------------------------------; AES UnitAESDATA sfr 0fb8h ; AES DataAESIV sfr 0fb8h ; AES Initialization VectorAESKEY sfr 0fb9h ; AES KeyAESCTL sfr 0fbah ; AES ControlAUTODIS __z8bit AESCTL,1 ; Auto-Start Mode DisableIRQ __z8bit AESCTL,5 ; Interrupt ControlAESMODE __z8bfield AESCTL,3,2 ; Confidentiality Mode SelectIVEN __z8bit AESCTL,2 ; Initialization Vector EnableDECRYPT __z8bit AESCTL,1 ; Decryption/Encryption SelectAESEN __z8bit AESCTL,0 ; AES EnableAESSTAT sfr 0fbbh ; AES StatusSTART_BUSY __z8bit AESSTAT,7 ; AES Start/Busy StatusERROR __z8bit AESSTAT,3 ; ERROR StatusIVLD __z8bit AESSTAT,2 ; Initialization Vector Load StatusKEYLD __z8bit AESSTAT,1 ; Key Load StatusDATALD __z8bit AESSTAT,0 ; Data Load Status;----------------------------------------------------------------------------; LDD UART__defldduart macro NUM,BaseU{NUM}TXD sfr Base+0 ; LIN UART Transmit DataU{NUM}RXD sfr Base+0 ; LIN UART Receive DataU{NUM}STAT0 sfr Base+1 ; LIN UART Status 0U{NUM}RDA __z8bit U{NUM}STAT0,7 ; Receive Data Available (LIN+UART+DALI+DMX)U{NUM}PE __z8bit U{NUM}STAT0,6 ; Parity Error (UART)U{NUM}PLE __z8bit U{NUM}STAT0,6 ; Physical Layer Error (LIN)U{NUM}BPE __z8bit U{NUM}STAT0,6 ; Biphase Error (DALI)U{NUM}OE __z8bit U{NUM}STAT0,5 ; Overrun Error (LIN+UART+DALI+DMX)U{NUM}FE __z8bit U{NUM}STAT0,4 ; Framing Error (LIN+UART+DALI)U{NUM}BRKD __z8bit U{NUM}STAT0,3 ; Break Detect (LIN+UART+DMX)U{NUM}CLSN __z8bit U{NUM}STAT0,3 ; Collision Detect Error (DALI)U{NUM}TDRE __z8bit U{NUM}STAT0,2 ; Transmitter Data Register Empty (LIN+UART+DALI+DMX)U{NUM}TXE __z8bit U{NUM}STAT0,1 ; Transmitter Empty (LIN+UART+DALI+DMX)U{NUM}CTS __z8bit U{NUM}STAT0,0 ; Clear to Send Signal (UART+DALI+DMX)U{NUM}ATB __z8bit U{NUM}STAT0,0 ; LIN Slave Autobaud Complete (LIN)U{NUM}CTL0 sfr Base+2 ; LIN UART Control 0U{NUM}TEN __z8bit U{NUM}CTL0,7 ; Transmit EnableU{NUM}REN __z8bit U{NUM}CTL0,6 ; Receive EnableU{NUM}CTSE __z8bit U{NUM}CTL0,5 ; Clear To Send EnableU{NUM}PEN __z8bit U{NUM}CTL0,4 ; Parity EnableU{NUM}PSEL __z8bit U{NUM}CTL0,3 ; Parity SelectU{NUM}SBRK __z8bit U{NUM}CTL0,2 ; Send BreakU{NUM}STOP __z8bit U{NUM}CTL0,1 ; Stop Bit SelectU{NUM}LBEN __z8bit U{NUM}CTL0,0 ; Loop Back EnableU{NUM}CTL1 sfr Base+3 ; LIN UART Control 1U{NUM}MPMD1 __z8bit U{NUM}CTL1,7 ; Multiprocessor Mode (MSEL=000)U{NUM}MPEN __z8bit U{NUM}CTL1,6 ; Multiprocessor Enable (MSEL=000)U{NUM}MPMD0 __z8bit U{NUM}CTL1,5 ; Multiprocessor Mode (MSEL=000)U{NUM}MPBT __z8bit U{NUM}CTL1,4 ; Multiprocessor Bit Transmit (MSEL=000)U{NUM}DEPOL __z8bit U{NUM}CTL1,3 ; Driver Enable Polarity (MSEL=000)U{NUM}BRGCTL __z8bit U{NUM}CTL1,2 ; Baud Rate Generator Control (MSEL=000)U{NUM}RDAIRQ __z8bit U{NUM}CTL1,1 ; Receive Data Interrupt (MSEL=000)U{NUM}NFEN __z8bit U{NUM}CTL1,7 ; Noise Filter Enable (MSEL=001)U{NUM}NFCTL __z8bfield U{NUM}CTL1,4,3 ; Noise Filter Control (MSEL=001)U{NUM}LMST __z8bit U{NUM}CTL1,7 ; LIN MASTER Mode (MSEL=010)U{NUM}LSLV __z8bit U{NUM}CTL1,6 ; LIN SLAVE Mode (MSEL=010)U{NUM}ABEN __z8bit U{NUM}CTL1,5 ; Autobaud Enable (MSEL=010)U{NUM}ABIEN __z8bit U{NUM}CTL1,4 ; Autobaud Interrupt Enable (MSEL=010)U{NUM}LinState __z8bfield U{NUM}CTL1,2,2 ; LIN State Machine (MSEL=010)U{NUM}TxBreakLength __z8bfield U{NUM}CTL1,0,2 ; TxBreakLength (MSEL=010)U{NUM}MULTTXE __z8bit U{NUM}CTL1,7 ; Multiple-Byte Transmit Enable (MSEL=100)U{NUM}MULTRXE __z8bit U{NUM}CTL1,6 ; Multiple-Byte Receive Enable (MSEL=100)U{NUM}BPEN __z8bit U{NUM}CTL1,5 ; Biphase Encoding Enable (MSEL=100)U{NUM}BPENC __z8bit U{NUM}CTL1,4 ; Biphase Encoding (MSEL=100)U{NUM}STRTPOL __z8bit U{NUM}CTL1,3 ; Start Bit Polarity (MSEL=100)U{NUM}BITORD __z8bit U{NUM}CTL1,2 ; Bit Order (MSEL=100)U{NUM}CLSNE __z8bit U{NUM}CTL1,1 ; Collision Detection Enable (MSEL=100)U{NUM}PARTRXE __z8bit U{NUM}CTL1,0 ; Partial Byte Reception Enable (MSEL=100)U{NUM}DMXMST __z8bit U{NUM}CTL1,7 ; DMX Master Mode (MSEL=101)U{NUM}DMXSLV __z8bit U{NUM}CTL1,6 ; DMX Slave Mode (MSEL=101)U{NUM}DMXSIRQ __z8bfield U{NUM}CTL1,4,2 ; DMX Slave Interrupt Control (MSEL=101)U{NUM}AUTOBRK __z8bit U{NUM}CTL1,2 ; Automatic Break (MSEL=101)U{NUM}WFBRK __z8bit U{NUM}CTL1,1 ; Wait for Break (MSEL=101)U{NUM}COMP_ADDR8 __z8bit U{NUM}CTL1,0 ; Comparison Address bit 8 (MSEL=101)U{NUM}MDSTAT sfr Base+4 ; LIN UART Mode Select and StatusU{NUM}MSEL __z8bfield U{NUM}MDSTAT,5,3 ; Mode SelectU{NUM}MODESTAT __z8bfield U{NUM}MDSTAT,0,5 ; Mode StatusU{NUM}ADDR sfr Base+5 ; UART Address CompareU{NUM}BRH sfr Base+6 ; UART Baud Rate High ByteU{NUM}BRL sfr Base+7 ; UART Baud Rate Low ByteU{NUM}BR sfr U{NUM}BRHendm__defldduart "0",0f40h__defldduart "1",0f48h;----------------------------------------------------------------------------; I2CI2CDATA sfr 0f50h ; I2C DataI2CSTAT sfr 0f51h ; I2C StatusI2C_TDRE __z8bit I2CSTAT,7 ; Transmit Data Register EmptyRDRF __z8bit I2CSTAT,6 ; Receive Data Register FullSAM __z8bit I2CSTAT,5 ; Slave Address MatchGCA __z8bit I2CSTAT,4 ; General Call AddressRD __z8bit I2CSTAT,3 ; ReadARBLST __z8bit I2CSTAT,2 ; Arbitration LostSPRS __z8bit I2CSTAT,1 ; Stop/Restart Condition InterruptNCKI __z8bit I2CSTAT,0 ; NACK InterruptI2CCTL sfr 0f52h ; I2C ControlIEN __z8bit I2CCTL,7 ; I2C EnableSSTART __z8bit I2CCTL,6 ; Send Start ConditionSSTOP __z8bit I2CCTL,5 ; Send Stop ConditionBIRQS __z8bit I2CCTL,4 ; Baud Rate Generator Interrupt RequestTXI __z8bit I2CCTL,3 ; Enable TDRE interruptsNAK __z8bit I2CCTL,2 ; Send NAKFLUSH __z8bit I2CCTL,1 ; Flush DataFILTEN __z8bit I2CCTL,0 ; I2C Signal Filter EnableI2CBRH sfr 0f53h ; I2C Baud Rate High ByteI2CBRL sfr 0f54h ; I2C Baud Rate Low ByteI2CBR sfr I2CBRHI2CSTATE sfr 0f55h ; I2C StateI2CSTATE_H __z8bfield I2CSTATE,4,4 ; I2C State (DIAG=1)I2CSTATE_L __z8bfield I2CSTATE,0,4 ; Least Significant Nibble of the I2C State Machine (DIAG=1)ACKV __z8bit I2CSTATE,7 ; ACK Valid (DIAG=0)ACK __z8bit I2CSTATE,6 ; Acknowledge (DIAG=0)AS __z8bit I2CSTATE,5 ; Address State (DIAG=0)DS __z8bit I2CSTATE,4 ; Data State (DIAG=0)I10B __z8bit I2CSTATE,3 ; 10B (DIAG=0)RSTR __z8bit I2CSTATE,2 ; RESTART (DIAG=0)SCLOUT __z8bit I2CSTATE,1 ; Serial Clock Output (DIAG=0)BUSY __z8bit I2CSTATE,0 ; I2C Bus Busy (DIAG=0)I2CMODE sfr 0f56h ; I2C ModeDMAIF __z8bit I2CMODE,7 ; DMA Interface ModeI2COPMODE __z8bfield I2CMODE,5,2 ; Selects the I2C Controller Operational ModeIRM __z8bit I2CMODE,4 ; Interactive Receive ModeGCE __z8bit I2CMODE,3 ; General Call Address EnableSLA __z8bfield I2CMODE,1,2 ; Slave Address Bits 9 and 8DIAG __z8bit I2CMODE,0 ; Diagnostic ModeI2CSLVAD sfr 0f57h ; I2C Slave Address Register;----------------------------------------------------------------------------; USBUSBSA sfr 0f59h ; USB SubaddressADDRSEL __z8bit USBSA,7 ; Addressing SelectUSBSD sfr 0f5ah ; USB SubdataUSBCTL sfr 0f5bh ; USB ControlAI __z8bit USBCTL,6 ; Addressing SelectEPSEL __z8bfield USBCTL,3,3 ; Endpoint SelectUSBDMA0CTL sfr 0f5ch ; USB DMA 0 ControlEPSEL0 __z8bfield USBDMA0CTL,3,3 ; End Point Buffer SelectSTARTDMA0 __z8bit USBDMA0CTL,0 ; Start DMAUSBDMA1CTL sfr 0f5dh ; USB DMA 1 ControlEPSEL1 __z8bfield USBDMA0CTL,3,3 ; End Point Buffer SelectSTARTDMA1 __z8bit USBDMA0CTL,0 ; Start DMAUSBDMADATA sfr 0f5eh ; USB DMA DataUSBIRQCTL sfr 0f5fh ; USB Interrupt ControlRIRQE __z8bit USBIRQCTL,1 ; Resume Interrupt Request EnableWAKEUP __z8bit USBIRQCTL,0 ; Wake-Up (Device-Initiated Resume)USBO1ADDR equ 01h ; USB OUT Endpoint 1 Start Address SubregisterUSBO2ADDR equ 02h ; USB OUT Endpoint 2 Start Address SubregisterUSBO3ADDR equ 03h ; USB OUT Endpoint 3 Start Address SubregisterUSBISTADDR equ 08h ; USB IN Endpoints Start Address SubregisterINSTADDR __z8bfield USBSD,0,7 ; IN Start AddressUSBI1ADDR equ 09h ; USB IN Endpoint 1 Start Address SubregisterUSBI2ADDR equ 0ah ; USB IN Endpoint 2 Start Address SubregisterUSBI3ADDR equ 0bh ; USB IN Endpoint 3 Start Address SubregisterUSBCLKGATE equ 10h ; USB Clock Gate SubregisterUSBIID equ 28h ; USB Interrupt Identification SubregisterIID __z8bfield USBSD,2,5 ; Interrupt Identification (Source)USBINIRQ equ 29h ; USB IN Interrupt Request SubregisterIN3IRQ __z8bit USBSD,3 ; IN Endpoint 3 Interrupt RequestIN2IRQ __z8bit USBSD,2 ; IN Endpoint 2 Interrupt RequestIN1IRQ __z8bit USBSD,1 ; IN Endpoint 1 Interrupt RequestIN0IRQ __z8bit USBSD,0 ; IN Endpoint 0 Interrupt RequestUSBOUTIRQ equ 2ah ; USB OUT Interrupt Request SubregisterOUT3IRQ __z8bit USBSD,3 ; OUT Endpoint 3 Interrupt RequestOUT2IRQ __z8bit USBSD,2 ; OUT Endpoint 2 Interrupt RequestOUT1IRQ __z8bit USBSD,1 ; OUT Endpoint 1 Interrupt RequestOUT0IRQ __z8bit USBSD,0 ; OUT Endpoint 0 Interrupt RequestUSBIRQ equ 2bh ; USB Protocol Interrupt Request SubregisterURESIRQ __z8bit USBSD,4 ; USB Reset Bus State Interrupt RequestSUSPIRQ __z8bit USBSD,3 ; USB Suspend Interrupt RequestSUTOKIRQ __z8bit USBSD,2 ; USB Setup Token Interrupt RequestSOFIRQ __z8bit USBSD,1 ; USB Start-of-Frame Interrupt RequestSUDAVIRQ __z8bit USBSD,0 ; USB Setup Stage Data Valid Interrupt RequestUSBINIEN equ 2ch ; USB IN Interrupt Enable SubregisterIN3IEN __z8bit USBSD,3 ; IN Endpoint 3 Interrupt EnableIN2IEN __z8bit USBSD,2 ; IN Endpoint 2 Interrupt EnableIN1IEN __z8bit USBSD,1 ; IN Endpoint 1 Interrupt EnableIN0IEN __z8bit USBSD,0 ; IN Endpoint 0 Interrupt EnableUSBOUTIEN equ 2dh ; USB OUT Interrupt Enable SubregisterOUT3IEN __z8bit USBSD,3 ; OUT Endpoint 3 Interrupt EnableOUT2IEN __z8bit USBSD,2 ; OUT Endpoint 2 Interrupt EnableOUT1IEN __z8bit USBSD,1 ; OUT Endpoint 1 Interrupt EnableOUT0IEN __z8bit USBSD,0 ; OUT Endpoint 0 Interrupt EnableUSBIEN equ 2eh ; USB Protocol Interrupt Enable SubregisterURESIEN __z8bit USBSD,4 ; USB Reset Bus State Interrupt EnableSUSPIEN __z8bit USBSD,3 ; USB Suspend Interrupt EnableSUTOKIEN __z8bit USBSD,2 ; USB Setup Token Interrupt EnableSOFIEN __z8bit USBSD,1 ; USB Start-of-Frame Interrupt EnableSUDAVIEN __z8bit USBSD,0 ; USB Setup Stage Data Valid Interrupt EnableUSBEP0CS equ 34h ; USB Endpoint 0 Control and Status SubregisterCHGSET __z8bit USBSD,5 ; Setup Buffer Contents ChangedDSTALL __z8bit USBSD,4 ; EP0 Data StallOUTBUSY0 __z8bit USBSD,3 ; EP0 OUT Busy StatusINBUSY0 __z8bit USBSD,2 ; EP0 IN Busy StatusHSNAK __z8bit USBSD,1 ; EP0 Handshake NASTALL0 __z8bit USBSD,0 ; EP0 StallUSBI0BC equ 35h ; USB IN 0 Byte Count SubregisterUSBI1BC equ 37h ; USB IN 1 Byte Count SubregisterUSBI2BC equ 39h ; USB IN 2 Byte Count SubregisterUSBI3BC equ 3bh ; USB IN 3 Byte Count SubregisterUSBI1CS equ 36h ; USB IN 1 Control and Status SubregisterUSBI2CS equ 38h ; USB IN 2 Control and Status SubregisterUSBI3CS equ 3ah ; USB IN 3 Control and Status SubregisterINBUSYn __z8bit USBSD,1 ; IN Busy StatusSTALLn __z8bit USBSD,0 ; IN StallUSBO0BC equ 45h ; USB OUT 0 Byte Count SubregisterUSBO1BC equ 47h ; USB OUT 1 Byte Count SubregisterUSBO2BC equ 49h ; USB OUT 2 Byte Count SubregisterUSBO3BC equ 4bh ; USB OUT 3 Byte Count SubregisterUSBO1CS equ 46h ; USB OUT 1 Control and Status SubregisterUSBO2CS equ 48h ; USB OUT 2 Control and Status SubregisterUSBO3CS equ 4ah ; USB OUT 3 Control and Status SubregisterOUTBUSYn __z8bit USBSD,1 ; OUT Busy StatusOUTSTALL __z8bit USBSD,0 ; Out StallUSBCS equ 56h ; USB Control and Status SubregisterDEVRSUME __z8bit USBSD,7 ; Wake-Up SourceSOFWDOG __z8bit USBSD,5 ; Start of Frame (SOF) WatchdogDISCON __z8bit USBSD,3 ; Disconnect the Internal Pull-Up ResistorFORCEJ __z8bit USBSD,1 ; Force the Data J Bus StateSIGRSUME __z8bit USBSD,0 ; Signal Remote Device ResumeUSBTOGCTL equ 57h ; USB Toggle Control SubregisterDATA __z8bit USBSD,7 ; Data Toggle ValueTDATA1 __z8bit USBSD,6 ; Set Data Toggle to Data1TDATA0 __z8bit USBSD,5 ; Clear Data Toggle to Data0INOUT __z8bit USBSD,4 ; IN/OUT Endpoint SelectEP __z8bfield USBSD,0,2 ; Endpoint SelectUSBFCL equ 58h ; USB Frame Count Low SubregisterUSBFCH equ 59h ; USB Frame Count High SubregisterUSBFNADDR equ 5bh ; USB Function Address SubregisterUSBPAIR equ 5dh ; USB Endpoint Pairing SubregisterPROUT23 __z8bit USBSD,3 ; OUT 2 and OUT 3 PairingPRIN23 __z8bit USBSD,0 ; IN 2 and IN 3 PairingUSBINVAL equ 5eh ; USB IN Endpoint Valid SubregisterIN3VAL __z8bit USBSD,3 ; IN 3 Endpoint ValidIN2VAL __z8bit USBSD,2 ; IN 2 Endpoint ValidIN1VAL __z8bit USBSD,1 ; IN 1 Endpoint ValidIN0VAL __z8bit USBSD,0 ; IN 0 Endpoint ValidUSBOUTVAL equ 5fh ; USB OUT Endpoint Valid SubregisterOUT3VAL __z8bit USBSD,3 ; OUT 3 Endpoint ValidOUT2VAL __z8bit USBSD,2 ; OUT 2 Endpoint ValidOUT1VAL __z8bit USBSD,1 ; OUT 1 Endpoint ValidOUT0VAL __z8bit USBSD,0 ; OUT 0 Endpoint ValidUSBISPADDR equ 62h ; USB IN Endpoints Stop Address SubregisterUSBSU0 equ 68h ; USB Setup Buffer Byte 0 SubregisterUSBSU1 equ 69h ; USB Setup Buffer Byte 1 SubregisterUSBSU2 equ 6ah ; USB Setup Buffer Byte 2 SubregisterUSBSU3 equ 6bh ; USB Setup Buffer Byte 3 SubregisterUSBSU4 equ 6ch ; USB Setup Buffer Byte 4 SubregisterUSBSU5 equ 6dh ; USB Setup Buffer Byte 5 SubregisterUSBSU6 equ 6eh ; USB Setup Buffer Byte 6 SubregisterUSBSU7 equ 6fh ; USB Setup Buffer Byte 7 Subregister;----------------------------------------------------------------------------; ESPI__defespi macro NUM,BaseESPI{NUM}DATA sfr 0f60h ; ESPI DataESPI{NUM}TDCR sfr 0f61h ; ESPI Transmit Data CommandCRDR{NUM} __z8bit ESPI{NUM}TDCR,7 ; Clear Receive Data RegisterTEOF{NUM} __z8bit ESPI{NUM}TDCR,1 ; Transmit End of FrameSSV{NUM} __z8bit ESPI{NUM}TDCR,0 ; Slave Select ValueESPI{NUM}CTL sfr 0f62h ; ESPI ControlDIRQS{NUM} __z8bit ESPI{NUM}CTL,7 ; Data Interrupt Request SelectESPIEN1{NUM} __z8bit ESPI{NUM}CTL,6 ; ESPI Enable and Direction ControlBRGCTL{NUM} __z8bit ESPI{NUM}CTL,5 ; Baud Rate Generator ControlPHASE{NUM} __z8bit ESPI{NUM}CTL,4 ; Phase SelectCLKPOL{NUM} __z8bit ESPI{NUM}CTL,3 ; Clock PolarityWOR{NUM} __z8bit ESPI{NUM}CTL,2 ; Wire-OR (Open-Drain) Mode EnabledMMEN{NUM} __z8bit ESPI{NUM}CTL,1 ; ESPI MASTER Mode EnableESPIEN0{NUM} __z8bit ESPI{NUM}CTL,0 ; ESPI Enable and Direction ControlESPI{NUM}MODE sfr 0f63h ; ESPI ModeSSMD{NUM} __z8bfield ESPI{NUM}MODE,5,3 ; Slave Select ModeNUMBITS{NUM} __z8bfield ESPI{NUM}MODE,2,3 ; Number of Data Bits Per Character to TransferSSIO{NUM} __z8bit ESPI{NUM}MODE,1 ; Slave Select I/OSSPO{NUM} __z8bit ESPI{NUM}MODE,0 ; Slave Select PolarityESPI{NUM}STAT sfr 0f64h ; ESPI StatusTDRE{NUM} __z8bit ESPI{NUM}STAT,7 ; Transmit Data Register EmptyTUND{NUM} __z8bit ESPI{NUM}STAT,6 ; Transmit UnderrunCOL{NUM} __z8bit ESPI{NUM}STAT,5 ; CollisionABT{NUM} __z8bit ESPI{NUM}STAT,4 ; SLAVE Mode Transaction AbortROVR{NUM} __z8bit ESPI{NUM}STAT,3 ; Receive OverrunRDRNE{NUM} __z8bit ESPI{NUM}STAT,2 ; Receive Data Register Not EmptyTFST{NUM} __z8bit ESPI{NUM}STAT,1 ; Transfer StatusSLAS{NUM} __z8bit ESPI{NUM}STAT,0 ; Slave SelectESPI{NUM}STATE sfr 0f65h ; ESPI StateSCKI{NUM} __z8bit ESPI{NUM}STATE,7 ; Serial Clock InputSDI{NUM} __z8bit ESPI{NUM}STATE,6 ; Serial Data InputESPI{NUM}BRH sfr 0f66h ; ESPI Baud Rate High ByteESPI{NUM}BRL sfr 0f67h ; ESPI Baud Rate Low ByteESP{NUM}IBR sfr ESPI{NUM}BRHendm__defespi "0",0f60h__defespi "1",0f68h;----------------------------------------------------------------------------; Analog ComparatorsCMPCTL sfr 0f8fh ; Comparator Control RegisterVBIASEN __z8bit CMPCTL,7 ; VBIAS EnableWINEN __z8bit CMPCTL,2 ; Window Mode EnableCSTATUS __z8bfield CMPCTL,0,2 ; Comparator StatusCMP0CTL0 sfr 0f90h ; Comparator 0 Control 0CPOWER0 __z8bfield CMP0CTL0,6,2 ; Comparator Power/Speed SelectHYST0 __z8bfield CMP0CTL0,4,2 ; Hysteresis Level SelectINNSEL0 __z8bfield CMP0CTL0,2,2 ; Negative Input Signal SelectINPSEL0 __z8bfield CMP0CTL0,0,2 ; Positive Input Signal SelectCMP0CTL1 sfr 0f91h ; Comparator 0 Control 1POLSEL0 __z8bit CMP0CTL1,7 ; Polarity SelectPREFEN0 __z8bit CMP0CTL1,6 ; Programmable Reference EnablePREFSRC0 __z8bit CMP0CTL1,5 ; Programmable Reference Source SelectionPREFLVL0 __z8bfield CMP0CTL1,0,5 ; Programmable Reference Level SelectionCMP1CTL0 sfr 0f92h ; Comparator 1 Control 0CPOWER1 __z8bfield CMP1CTL0,6,2 ; Comparator Power/Speed SelectHYST1 __z8bfield CMP1CTL0,4,2 ; Hysteresis Level SelectINNSEL1 __z8bfield CMP1CTL0,2,2 ; Negative Input Signal SelectINPSEL1 __z8bfield CMP1CTL0,0,2 ; Positive Input Signal SelectCMP1CTL1 sfr 0f93h ; Comparator 1 Control 1POLSEL1 __z8bit CMP1CTL1,7 ; Polarity SelectPREFEN1 __z8bit CMP1CTL1,6 ; Programmable Reference EnablePREFSRC1 __z8bit CMP1CTL1,5 ; Programmable Reference Source SelectionPREFLVL1 __z8bfield CMP1CTL1,0,5 ; Programmable Reference Level Selection;----------------------------------------------------------------------------; OpAmpsAMPACTL0 sfr 0f94h ; Op Amp_A Control 0OUTCTLA __z8bit AMPACTL0,7 ; Output ControlINPSELA __z8bfield AMPACTL0,0,2 ; Positive Input Signal SelectAMPACTL1 sfr 0f95h ; Op Amp_A Control 1GAINA __z8bfield AMPACTL1,4,4 ; Internal Voltage Gain SettingOPOWERA __z8bit AMPACTL1,3 ; Op Amp Power/Speed SelectINNSELA __z8bfield AMPACTL1,0,2 ; Negative Input Signal SelectAMPBCTL0 sfr 0f96h ; Op Amp_B Control 0OUTCTLB __z8bit AMPBCTL0,7 ; Output ControlINPSELB __z8bfield AMPBCTL0,0,2 ; Positive Input Signal SelectAMPBCTL1 sfr 0f97h ; Op Amp_B Control 1IRESSELB __z8bfield AMPBCTL1,4,2 ; Current Source Resistor SelectOPOWERB __z8bit AMPBCTL1,3 ; Op Amp Power/Speed SelectINNSELB __z8bit AMPBCTL1,1 ; Negative Input Signal SelectMODEB __z8bit AMPBCTL1,0 ; Mode;----------------------------------------------------------------------------; Analog/Digital ConverterADCCTL0 sfr 0f70h ; ADC Control 0START __z8bfield ADCCTL0,6,2 ; ADC Start/BusyADC_DMACTL __z8bit ADCCTL0,5 ; DMA Request ControlADC_IRQ __z8bit ADCCTL0,4 ; Interrupt ControlCONTCONV __z8bit ADCCTL0,3 ; Continuous Conversion EnableAVE __z8bit ADCCTL0,2 ; Averaging EnableAVESAMP __z8bfield ADCCTL0,0,2 ; Averaging SamplesADCCTL1 sfr 0f71h ; ADC Control 1ADC_POWER __z8bfield ADCCTL1,6,2 ; Power ControlSCAN __z8bit ADCCTL1,5 ; Channel Scanning EnableINMODE __z8bfield ADCCTL1,3,2 ; Input ModeADC_DFORMAT __z8bit ADCCTL1,2 ; Data FormatRESOLUT __z8bit ADCCTL1,1 ; ADC Conversion ResolutionADCCTL2 sfr 0f72h ; ADC Control 2ADC_REFSEL __z8bfield ADCCTL2,6,2 ; ADC Positive Voltage Reference SelectREFLVL __z8bfield ADCCTL2,4,2 ; VBIAS Level SelectADC_PRESCALE __z8bfield ADCCTL2,0,4 ; ADC Clock Prescale DividerADCINSH sfr 0f73h ; ADC Input Select HighANAINH __z8bfield ADCINSH,0,7 ; Analog Input Selection HighADCINSL sfr 0f74h ; ADC Input Select LowANAINL __z8bfield ADCINSL,0,8 ; Analog Input Selection LowADCOFF sfr 0f75h ; ADC Offset CalibrationADCD_H sfr 0f76h ; ADC Data High ByteADCD_L sfr 0f77h ; ADC Data Low BitsOVF __z8bit ADCD_L,0 ; Overflow StatusADCD sfr ADCD_HADCST sfr 0f78h ; ADC Sample TimeST __z8bfield ADCST,4,4 ; Sample TimeSST __z8bfield ADCST,0,4 ; Sample Settling TimeADCUWINH sfr 0f79h ; ADC Upper Window Threshold HighADCUWINL sfr 0f7ah ; ADC Upper Window Threshold LowADCUWIN sfr ADCUWINHADCLWINH sfr 0f7bh ; ADC Lower Window Threshold HighADCLWINL sfr 0f7ch ; ADC Lower Window Threshold LowADCLWIN sfr ADCLWINH;----------------------------------------------------------------------------; Digital/Analog ConverterDACCTL sfr 0f7dh ; DAC ControlDAC_POWER __z8bfield DACCTL,6,2 ; Power ControlDAC_REFSEL __z8bfield DACCTL,3,3 ; DAC Positive Voltage Reference SelectDAC_DFORMAT __z8bit DACCTL,2 ; Data FormatDACTRIG __z8bit DACCTL,1 ; DAC TriggeringJUSTIFY __z8bit DACCTL,0 ; Data Register JustificationDACD_H sfr 0f7eh ; DAC Data HighDACD_L sfr 0f7fh ; DAC Data LowDACD sfr DACD_H;----------------------------------------------------------------------------; Watchdog TimerRSTSTAT sfr 0ff0h ; Reset StatusPOR_VBO __z8bit RSTSTAT,7 ; Power-On Initiated VBO Reset or General VBO Reset IndicatorSTOP __z8bit RSTSTAT,6 ; Stop Mode Recovery IndicatorWDT __z8bit RSTSTAT,5 ; Watchdog Timer Time-Out IndicatorEXT __z8bit RSTSTAT,4 ; External Reset IndicatorLVD __z8bit RSTSTAT,0 ; Low-Voltage Detection IndicatorWDTH sfr 0ff2h ; Watchdog Timer Reload High ByteWDTL sfr 0ff3h ; Watchdog Timer Reload Low Byte;----------------------------------------------------------------------------restoreendif ; __regf6482inc