Blame | Last modification | View Log | Download | RSS feed
ifndef __regm406inc__regm406inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REGM406.INC *;* *;* Contains Bit & Register Definitions for ATmega406 *;* *;****************************************************************************;----------------------------------------------------------------------------; Memory LimitsE2END equ 511RAMSTART equ 0x100,dataRAMEND equ 0x8ff,dataFLASHEND label 0x9fff;----------------------------------------------------------------------------; Chip ControlMCUCR port 0x35 ; MCU Control RegisterIVCE avrbit MCUCR,0 ; Interrupt Vector Change EnableIVSEL avrbit MCUCR,1 ; Interrupt Vector SelectMCUSR port 0x34 ; MCU Status RegisterPORF avrbit MCUSR,0 ; Power-On Reset OccuredEXTRF avrbit MCUSR,1 ; External Reset OccuredBORF avrbit MCUSR,2 ; Brown-Out Reset OccuredWDRF avrbit MCUSR,3 ; Watchdog Reset OccuredSMCR port 0x33 ; Sleep Mode Control RegisterSE avrbit SMCR,0 ; Sleep Mode EnableSM0 avrbit SMCR,1 ; Sleep Mode SelectSM1 avrbit SMCR,2SM2 avrbit SMCR,3PRR0 sfr 0x64 ; Power Reduction Register 0PRVADC avrbit PRR0,0 ; Power Reduction Voltage ADCPRTIM0 avrbit PRR0,1 ; Power Reduction Timer/Counter 0PRTIM1 avrbit PRR0,2 ; Power Reduction Timer/Counter 1PRTWI avrbit PRR0,3 ; Power Reduction Two Wire InterfaceFOSCCAL sfr 0x66 ; Fast Oscillator CalibrationCCSR sfr 0xc0 ; Clock Control and Status RegisterXOE avrbit CCSR,1 ; 32 kHz Crystal Oscillator EnableACS avrbit CCSR,0 ; Asynchronous Clock SelectWUTCSR sfr 0x62 ; Wake-up Timer Control and Status RegisterWUTIF avrbit WUTCSR,7 ; Wake-up Timer Interrupt FlagWUTIE avrbit WUTCSR,6 ; Wake-up Timer Interrupt EnableWUTCF avrbit WUTCSR,5 ; Wake-up Timer Calibration FlagWUTR avrbit WUTCSR,4 ; Wake-up Timer ResetWUTE avrbit WUTCSR,3 ; Wake-up Timer EnableWUTP2 avrbit WUTCSR,2 ; Wake-up Timer Prescaler 2, 1, and 0WUTP1 avrbit WUTCSR,1WUTP0 avrbit WUTCSR,0BGCCR sfr 0xd0 ; Bandgap Calibration C RegisterBGEN avrbit BGCCR,7 ; reservedBGCC5 avrbit BGCCR,5 ; BG Calibration of PTAT CurrentBGCC4 avrbit BGCCR,4BGCC3 avrbit BGCCR,3BGCC2 avrbit BGCCR,2BGCC1 avrbit BGCCR,1BGCC0 avrbit BGCCR,0BGCRR sfr 0xd1 ; Bandgap Calibration R RegisterBGCR7 avrbit BGCRR,7 ; BG Calibration of Resistor LadderBGCR6 avrbit BGCRR,6BGCR5 avrbit BGCRR,5BGCR4 avrbit BGCRR,4BGCR3 avrbit BGCRR,3BGCR2 avrbit BGCRR,2BGCR1 avrbit BGCRR,1BGCR0 avrbit BGCRR,0;----------------------------------------------------------------------------; EEPROM/Program Memory Accessinclude "eem2.inc"include "spmcsr37.inc"EEPM0 avrbit EECR,4 ; EEPROM Programming ModeEEPM1 avrbit EECR,5SIGRD avrbit SPMCSR,5 ; Signature Row Read;----------------------------------------------------------------------------; JTAGJTD avrbit MCUCR,7 ; JTAG DisableJTRF avrbit MCUSR,4 ; JTAG Reset OccuredOCDR port 0x31 ; On-Chip Debug Register;----------------------------------------------------------------------------; GPIOPINA port 0x00 ; Port A @ 0x00 (IO) ff.PINB port 0x03 ; Port B @ 0x03 (IO) ff.PORTC port 0x08 ; Port C @ 0x08 (Inp only)PIND port 0x09 ; Port D @ 0x09 (IO) ff.PCMSK0 sfr 0x6b ; Pin Change Mask Register 0PCMSK1 sfr 0x6c ; Pin Change Mask Register 1PCICR sfr 0x68 ; Pin Change Interrupt Control RegisterPCIFR port 0x1b ; Pin Change Interrupt Flag RegisterGPIOR0 port 0x1e ; General Purpose I/O RegistersGPIOR1 port 0x2aGPIOR2 port 0x2b;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 2,codeenum BPINT_vect=2 ; battery protection Interruptnextenum INT0_vect ; External Interrupt Request 0nextenum INT1_vect ; External Interrupt Request 1nextenum INT2_vect ; External Interrupt Request 2nextenum INT3_vect ; External Interrupt Request 3nextenum PCINT0_vect ; Pin Change Interrupt Request 0nextenum PCINT1_vect ; Pin Change Interrupt Request 1nextenum WDT_vect ; Watchdog Time-Out Interruptnextenum WAKE_UP_vect ; Wake-Up Timer Overflownextenum TIMER1_COMP_vect ; Timer/Counter 1 Compare Matchnextenum TIMER1_OVF_vect ; Timer/Counter 1 Overflownextenum TIMER0_COMPA_vect ; Timer/Counter 0 Compare Match Anextenum TIMER0_COMPB_vect ; Timer/Counter 0 Compare Match Bnextenum TIMER0_OVF_vect ; Timer/Counter 0 Overflownextenum TWI_BUS_CD_vect ; Two-Wire Bus Connect/Disconnectnextenum TWI_vect ; 2-Wire Transfer Completenextenum VADC_vect ; Voltage ADC Conversion Completenextenum CCADC_CONV_vect ; CC-ADC Instantaneous Current Conversion Completenextenum CCADC_REG_CUR_vect ; CC-ADC Regular Currentnextenum CCADC_ACC_vect ; CC-ADC Accumulate Current Conversion Completenextenum EE_READY_vect ; EEPROM Readynextenum SPM_READY_vect ; Store Program Memory Ready;----------------------------------------------------------------------------; External InterruptsEICRA sfr 0x69 ; External Interrupt Control Register AISC00 avrbit EICRA,0 ; External Interrupt 0 Sense ControlISC01 avrbit EICRA,1ISC10 avrbit EICRA,2 ; External Interrupt 1 Sense ControlISC11 avrbit EICRA,3ISC20 avrbit EICRA,4 ; External Interrupt 2 Sense ControlISC21 avrbit EICRA,5ISC30 avrbit EICRA,6 ; External Interrupt 3 Sense ControlISC31 avrbit EICRA,7EIMSK port 0x1d ; External Interrupt Mask RegisterINT0 avrbit EIMSK,0 ; Enable External Interrupt 0INT1 avrbit EIMSK,1 ; Enable External Interrupt 1INT2 avrbit EIMSK,2 ; Enable External Interrupt 2INT3 avrbit EIMSK,3 ; Enable External Interrupt 3EIFR port 0x1c ; External Interrupt Flag RegisterINTF0 avrbit EIFR,0 ; External Interrupt 0 OccuredINTF1 avrbit EIFR,1 ; External Interrupt 1 OccuredINTF2 avrbit EIFR,2 ; External Interrupt 2 OccuredINTF3 avrbit EIFR,3 ; External Interrupt 3 Occured;----------------------------------------------------------------------------; TimersGTCCR port 0x23 ; General Timer/Counter Control RegisterPSRSYNC avrbit GTCCR,0 ; Prescaler ResetTSM avrbit GTCCR,7 ; Timer/Counter Synchronization ModeTCCR0A port 0x24 ; Timer/Counter 0 Control Register AWGM00 avrbit TCCR0A,0 ; Timer/Counter 0 Waveform Generation ModeWGM01 avrbit TCCR0A,1COM0B0 avrbit TCCR0A,4 ; Timer/Counter 0 Compare B ModeCOM0B1 avrbit TCCR0A,5COM0A0 avrbit TCCR0A,6 ; Timer/Counter 0 Compare A ModeCOM0A1 avrbit TCCR0A,7TCCR0B port 0x25 ; Timer/Counter 0 Control Register BCS00 avrbit TCCR0B,0 ; Timer/Counter 0 Clock SelectCS01 avrbit TCCR0B,1CS02 avrbit TCCR0B,2WGM02 avrbit TCCR0B,3 ; Timer/Counter 0 Waveform Generation ModeFOC0B avrbit TCCR0B,6 ; Timer/Counter 0 Force Output Compare BFOC0A avrbit TCCR0B,7 ; Timer/Counter 0 Force Output Compare ATCNT0 port 0x26 ; Timer/Counter 0OCR0A port 0x27 ; Timer/Counter 0 Output Compare Value AOCR0B port 0x28 ; Timer/Counter 0 Output Compare Value BTCCR1B sfr 0x81 ; Timer/Counter 1 Control Register BCS10 avrbit TCCR1B,0 ; Timer/Counter 1 Prescaler SettingCS11 avrbit TCCR1B,1CS12 avrbit TCCR1B,2CTC1 avrbit TCCR1B,3 ; Timer/Counter 1 Clear on MatchTCNT1L sfr 0x84 ; Timer/Counter 1 Value LSBTCNT1H sfr 0x85 ; Timer/Counter 1 Value MSBOCR1AL sfr 0x88 ; Timer/Counter 1 Output Compare Value A LSBOCR1AH sfr 0x89 ; Timer/Counter 1 Output Compare Value A MSBTIMSK0 sfr 0x6e ; Timer/Counter 0 Interrupt Mask RegisterTOIE0 avrbit TIMSK0,0 ; Timer/Counter 0 Overflow Interrupt EnableOCIE0A avrbit TIMSK0,1 ; Timer/Counter 0 Output Compare Interrupt Enable AOCIE0B avrbit TIMSK0,2 ; Timer/Counter 0 Output Compare Interrupt Enable BTIMSK1 sfr 0x6f ; Timer/Counter 1 Interrupt Mask RegisterTOIE1 avrbit TIMSK1,0 ; Timer/Counter 1 Overflow Interrupt EnableOCIE1A avrbit TIMSK1,1 ; Timer/Counter 1 Output Compare Interrupt Enable AICIE1 avrbit TIMSK1,5 ; Timer/Counter 1 Input Capture EventTIFR0 port 0x15 ; Timer/Counter 0 Interrupt Status RegisterTIFR1 port 0x16 ; Timer/Counter 1 Interrupt Status Register;----------------------------------------------------------------------------; Watchdog Timerinclude "wdme.inc";----------------------------------------------------------------------------; TWIinclude "twimb8.inc"TWBCSR sfr 0xbe ; TWI Bus Control and Status RegisterTWBCIF avrbit TWBCSR,7 ; TWI Bus Connect/Disconnect Interrupt FlagTWBCIE avrbit TWBCSR,6 ; TWI Bus Connect/Disconnect Interrupt EnableTWBDT1 avrbit TWBCSR,2 ; TWI Bus Disconnect Time-Out PeriodTWBDT0 avrbit TWBCSR,1TWBCIP avrbit TWBCSR,0 ; TWI Bus Connect/Disconnect Interrupt Polarity;----------------------------------------------------------------------------; Coulomb CounterCADCSRA sfr 0xe4 ; CC-ADC Control and Status Register ACADSE avrbit CADCSRA,0 ; CC-ADC Current Sampling EnableCADIS0 avrbit CADCSRA,1 ; CC-ADC Current Sampling IntervalCADIS1 avrbit CADCSRA,2CADAS0 avrbit CADCSRA,3 ; CC-ADC Accumulate Current SelectCADAS1 avrbit CADCSRA,4CADUB avrbit CADCSRA,5 ; CADUB: CC-ADC Update BusyCADEN avrbit CADCSRA,7 ; CC-ADC EnableCADCSRB sfr 0xe5 ; CC-ADC Control and Status Register BCADACIE avrbit CADCSRB,6 ; CC-ADC Accumulate Current Interrupt EnableCADRCIE avrbit CADCSRB,5 ; CC-ADC Regular Current Interrupt EnableCADICIE avrbit CADCSRB,4 ; CC-ADC Instantaneous Current Interrupt EnableCADACIF avrbit CADCSRB,2 ; CC-ADC Accumulate Current Interrupt FlagCADRCIF avrbit CADCSRB,1 ; CC-ADC Regular Current Interrupt FlagCADICIF avrbit CADCSRB,0 ; CC-ADC Instantaneous Current Interrupt FlagCADICL sfr 0xe8 ; CC-ADC Instantaneous CurrentCADICH sfr 0xe9CADAC0 sfr 0xe0 ; CC-ADC Accumulate CurrentCADAC1 sfr 0xe1CADAC2 sfr 0xe2CADAC3 sfr 0xe3CADRCC sfr 0xe6 ; CC-ADC Regular Charge CurrentCADRDC sfr 0xe7 ; CC-ADC Regular Discharge Current;----------------------------------------------------------------------------; Voltage A/D ConverterVADMUX sfr 0x7c ; Multiplexer Selection RegisterVADMUX0 avrbit VADMUX,0 ; Channel Selection BitsVADMUX1 avrbit VADMUX,1VADMUX2 avrbit VADMUX,2VADMUX3 avrbit VADMUX,3VADCSR sfr 0x7a ; Control and Status RegisterVADCCIE avrbit VADCSR,0 ; V-ADC Conversion Complete Interrupt EnableVADCCIF avrbit VADCSR,1 ; V-ADC Conversion Complete Interrupt FlagVADSC avrbit VADCSR,2 ; Voltage ADC Start ConversionVADEN avrbit VADCSR,3 ; V-ADC EnableVADCL sfr 0x78 ; V-ADC Data RegisterVADCH sfr 0x79DIDR0 sfr 0x7e ; Digital Input Disable Register 0VADC0D avrbit DIDR0,0 ; V-ADC0 Digital Input DisableVADC1D avrbit DIDR0,1 ; V-ADC1 Digital Input DisableVADC2D avrbit DIDR0,2 ; V-ADC2 Digital Input DisableVADC3D avrbit DIDR0,3 ; V-ADC3 Digital Input Disable;----------------------------------------------------------------------------; FET ControlFCSR sfr 0xf0 ; FET Control and Status RegisterPWMOC avrbit FCSR,5 ; Pulse Width Modulation of OC OutputPWMOPC avrbit FCSR,4 ; Pulse Width Modulation of OPC OutputCPS avrbit FCSR,3 ; Current Protection StatusDFE avrbit FCSR,2 ; Discharge FET EnableCFE avrbit FCSR,1 ; Charge FET EnablePFD avrbit FCSR,0 ; Precharge FET Disable;----------------------------------------------------------------------------; Cell BalancingCBCR sfr 0xf1 ; Cell Balancing Control RegisterCBE4 avrbit CBCR,3 ; Cell Balancing Enable 4CBE3 avrbit CBCR,2 ; Cell Balancing Enable 3CBE2 avrbit CBCR,1 ; Cell Balancing Enable 2CBE1 avrbit CBCR,0 ; Cell Balancing Enable 1;----------------------------------------------------------------------------; Battery ProtectionBPPLR sfr 0xf8 ; Battery Protection Parameter Lock RegisterBPPLE avrbit BPPLR,1 ; Battery Protection Parameter Lock EnableBPPL avrbit BPPLR,0 ; Battery Protection Parameter LockBPCR sfr 0xf7 ; Battery Protection Control RegisterDUVD avrbit BPCR,3 ; Deep Under-Voltage Protection DisableSCD avrbit BPCR,2 ; Short Circuit Protection DisabledDCD avrbit BPCR,1 ; Discharge Over-Current Protection DisableCCD avrbit BPCR,0 ; Charge Over-Current Protection DisableCBPTR sfr 0xf6 ; Current Battery Protection Timing RegisterSCPT3 avrbit CBPTR,7 ; Short-Circuit Protection TimingSCPT2 avrbit CBPTR,6SCPT1 avrbit CBPTR,5SCPT0 avrbit CBPTR,4OCPT3 avrbit CBPTR,3 ; Over-Current Protection TimingOCPT2 avrbit CBPTR,2OCPT1 avrbit CBPTR,1OCPT0 avrbit CBPTR,0BPOCD sfr 0xf5 ; Battery Protection Over-Current Detection Level RegisterDCDL3 avrbit BPOCD,7 ; Discharge Over-Current Detection LevelDCDL2 avrbit BPOCD,6DCDL1 avrbit BPOCD,5DCDL0 avrbit BPOCD,4CCDL3 avrbit BPOCD,3 ; Charge Over-Current Detection LevelCCDL2 avrbit BPOCD,2CCDL1 avrbit BPOCD,1CCDL0 avrbit BPOCD,0BPSCD sfr 0xf4 ; Battery Protection Short-Circuit Detection Level RegisterSCDL3 avrbit BPSCD,3 ; Short-Circuit Detection LevelSCDL2 avrbit BPSCD,2SCDL1 avrbit BPSCD,1SCDL0 avrbit BPSCD,0BPDUV sfr 0xf3 ; Battery Protection Deep Under Voltage RegisterDUVT1 avrbit BPDUV,5 ; Deep Under-Voltage TimingDUVT0 avrbit BPDUV,4DUDL3 avrbit BPDUV,3 ; Deep Under-Voltage Detection LevelDUDL2 avrbit BPDUV,2DUDL1 avrbit BPDUV,1DUDL0 avrbit BPDUV,0BPIR sfr 0xf2 ; Battery Protection Interrupt RegisterDUVIF avrbit BPIR,7 ; Deep Under-Voltage Early Warning Interrupt FlagCOCIF avrbit BPIR,6 ; Charge Over-Current Protection Activated Interrupt FlagDOCIF avrbit BPIR,5 ; Discharge Over-Current Protection Activated Interrupt FlagSCIF avrbit BPIR,4 ; Short-Circuit Protection Activated Interrupt FlagDUVIE avrbit BPIR,3 ; Deep Under-Voltage Early Warning Interrupt EnableCOCIE avrbit BPIR,2 ; Charge Over-Current Protection Activated Interrupt EnableDOCIE avrbit BPIR,1 ; Discharge Over-Current Protection Activated Interrupt EnableSCIE avrbit BPIR,0 ; Short-Circuit Protection Activated Interrupt Enablerestore ; re-enable listingendif ; __regm406inc