Blame | Last modification | View Log | Download | RSS feed
ifndef __regtn43uinc__regtn43uinc equ 1savelisting off ; kein Listing ueber diesen File;****************************************************************************;* *;* AS 1.42 - File REGTN43U.INC *;* *;* Contains Bit & Register Definitions for ATtiny43U *;* *;****************************************************************************;----------------------------------------------------------------------------; Memory LimitsE2END equ 63 ; end address EEPROMRAMSTART equ 0x60,data ; start address SRAMRAMEND equ 0x15f,data ; end address SRAMFLASHEND label 4095 ; end address Flash;----------------------------------------------------------------------------; Chip ConfigurationMCUCR port 0x35 ; MCU General Control RegisterBODSE avrbit MCUCR,2 ; BOD SleepSM0 avrbit MCUCR,3 ; Sleep Mode SelectSM1 avrbit MCUCR,4SE avrbit MCUCR,5 ; Sleep EnableBODS avrbit MCUCR,7 ; BOD Sleep EnableMCUSR port 0x34 ; MCU Status RegisterWDRF avrbit MCUSR,3 ; Watchdog Reset FlagBORF avrbit MCUSR,2 ; Brown-out Reset FlagEXTRF avrbit MCUSR,1 ; External Reset FlagPORF avrbit MCUSR,0 ; Power-On Reset FlagOSCCAL port 0x31 ; Oscillator CalibrationCLKPR port 0x26 ; Clock PrescalerCLKPS0 avrbit CLKPS0,0 ; Prescaler SelectCLKPS1 avrbit CLKPS0,1CLKPS2 avrbit CLKPS0,2CLKPS3 avrbit CLKPS0,3CLKPCE avrbit CLKPS0,7 ; Clock Prescaler Change EnablePRR port 0x00 ; Power Reduction RegisterPRADC avrbit PRR,0 ; Power Reduction AD ConverterPRUSI avrbit PRR,1 ; Power Reduction USIPRTIM0 avrbit PRR,2 ; Power Reduction Timer/Counter 0PRTIM1 avrbit PRR,3 ; Power Reduction Timer/Counter 1PRE0 avrbit PRR,5 ; Prepared Read EnablePRE1 avrbit PRR,6PRE2 avrbit PRR,7;----------------------------------------------------------------------------; EEPROM/Flash AccessEEAR port 0x1e ; EEPROM Address RegisterEEDR port 0x1d ; EEPROM Data RegisterEECR port 0x1c ; EEPROM Control RegisterEEPM1 avrbit EECR,5 ; EEPROM Program ModeEEPM0 avrbit EECR,4EERIE avrbit EECR,3 ; EEPROM Ready Interrupt EnableEEMPE avrbit EECR,2 ; EEPROM Master Write EnableEEPE avrbit EECR,1 ; EEPROM Write EnableEERE avrbit EECR,0 ; EEPROM Read EnableSPMCSR port 0x37 ; Store Program Memory Control/Status RegisterCTPB avrbit SPMCSR,4 ; Clear Temporary Page BufferRFLB avrbit SPMCSR,3 ; Read Fuse and Lock BitsPGWRT avrbit SPMCSR,2 ; Page WritePGERS avrbit SPMCSR,1 ; Page EraseSPMEN avrbit SPMCSR,0 ; Self Programming Enable;----------------------------------------------------------------------------; JTAG etc.DWDR port 0x27 ; debugWire Data Register;----------------------------------------------------------------------------; GPIOPUD avrbit MCUCR,6 ; Pull-Up DisablePINA port 0x19 ; Port A @ 0x19 (IO) ff.PINB port 0x16 ; Port B @ 0x16 (IO) ff.GPIOR0 port 0x13 ; General Purpose I/O Register 0GPIOR1 port 0x14 ; General Purpose I/O Register 1GPIOR2 port 0x15 ; General Purpose I/O Register 2DIDR0 port 0x01 ; Digital Input Disable Register 0ADC0D avrbit DIDR0,0 ; ADC0 Digital Input DisableADC1D avrbit DIDR0,1 ; ADC1 Digital Input DisableADC2D avrbit DIDR0,2 ; ADC2 Digital Input DisableADC3D avrbit DIDR0,3 ; ADC3 Digital Input DisableAIN0D avrbit DIDR0,4 ; Analog Comparator Digital Input 0 DisableAIN1D avrbit DIDR0,5 ; Analog Comparator Digital Input 1 DisablePCMSK0 port 0x12 ; Pin Change Interrupt Mask 0PCMSK1 port 0x20 ; Pin Change Interrupt Mask 1;----------------------------------------------------------------------------; Interrupt Vectorsenumconf 1,codeenum INT0_vect=1 ; External Interrupt Request 0nextenum PCINT0_vect ; Pin Change Interrupt 0nextenum PCINT1_vect ; Pin Change Interrupt 1nextenum WDT_vect ; Watchdog Time-Outnextenum TIMER1_COMPA_vect ; Timer/Counter 1 Compare Match Anextenum TIMER1_COMPB_vect ; Timer/Counter 1 Compare Match Bnextenum 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 ANA_COMP_vect ; Analog Comparatornextenum ADC_vect ; ADC Conversion Completenextenum EE_RDY_vect ; EEPROM Readynextenum USI_START_vect ; USI Startnextenum USI_OVF_vect ; USI Overflow;----------------------------------------------------------------------------; External InterruptsISC00 avrbit MCUCR,0 ; External Interrupt 0 Sense ControlISC01 avrbit MCUCR,1GIMSK port 0x3b ; General Interrupt Mask RegisterINT0 avrbit GIMSK,6 ; Enable External Interrupt 0PCIE1 avrbit GIMSK,5 ; Pin Change Interrupt Enable 1PCIE0 avrbit GIMSK,4 ; Pin Change Interrupt Enable 0GIFR port 0x3a ; General Interrupt Flag RegisterINTF0 avrbit GIFR,6 ; External Interrupt 0 OccuredPCIF1 avrbit GIFR,5 ; Pin Change Interrupt 1 OccuredPCIF0 avrbit GIFR,4 ; Pin Change Interrupt 0 Occured;----------------------------------------------------------------------------; TimersTCCR0A port 0x30 ; Timer/Counter 0 Control Register AWGM00 avrbit TCCR0A,0 ; Timer/Counter 0 Waveform Generation ModeWGM01 avrbit TCCR0A,1COM0B0 avrbit TCCR0A,4 ; Timer/Counter 0 Output Compare Mode BCOM0B1 avrbit TCCR0A,5COM0A0 avrbit TCCR0A,6 ; Timer/Counter 0 Output Compare Mode ACOM0A1 avrbit TCCR0A,7TCCR0B port 0x33 ; Timer/Counter 0 Control Register BCS00 avrbit TCCR0B,0 ; Timer/Counter 0 Clock SelectCS01 avrbit TCCR0B,1CS02 avrbit TCCR0B,2WGM02 avrbit TCCR0B,3FOC0B avrbit TCCR0B,6 ; Timer/Counter 0 Force Output Compare BFOC0A avrbit TCCR0B,7 ; Timer/Counter 0 Force Output Compare ATCNT0 port 0x32 ; Timer/Counter 0 ValueOCR0A port 0x36 ; Timer/Counter 0 Output Compare Value AOCR0B port 0x3c ; Timer/Counter 0 Output Compare Value BTCCR1A port 0x2f ; Timer/Counter 1 Control Register AWGM10 avrbit TCCR1A,0 ; Timer/Counter 1 Waveform Generation ModeWGM11 avrbit TCCR1A,1COM1B0 avrbit TCCR1A,4 ; Timer/Counter 1 Output Compare Mode BCOM1B1 avrbit TCCR1A,5COM1A0 avrbit TCCR1A,6 ; Timer/Counter 1 Output Compare Mode ACOM1A1 avrbit TCCR1A,7TCCR1B port 0x2e ; Timer/Counter 1 Control Register BCS10 avrbit TCCR1B,0 ; Timer/Counter 1 Clock SelectCS11 avrbit TCCR1B,1CS12 avrbit TCCR1B,2WGM12 avrbit TCCR1B,3FOC1B avrbit TCCR1B,6 ; Timer/Counter 1 Force Output Compare BFOC1A avrbit TCCR1B,7 ; Timer/Counter 1 Force Output Compare ATCNT1 port 0x2d ; Timer/Counter 1 ValueOCR1A port 0x2c ; Timer/Counter 1 Output Compare Value AOCR1B port 0x2b ; Timer/Counter 1 Output Compare Value BTIMSK0 port 0x39 ; Timer/Counter Interrupt Mask Register 0TOIE0 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 port 0x0c ; Timer/Counter Interrupt Mask Register 1TOIE1 avrbit TIMSK1,0 ; Timer/Counter 1 Overflow Interrupt EnableOCIE1A avrbit TIMSK1,1 ; Timer/Counter 1 Output Compare Interrupt Enable AOCIE1B avrbit TIMSK1,2 ; Timer/Counter 1 Output Compare Interrupt Enable BTIFR0 port 0x38 ; Timer Interrupt Status Register 0TIFR1 port 0x0b ; Timer Interrupt Status Register 1GTCCR port 0x23 ; General Timer/Counter Control 1 RegisterPSR10 avrbit GTCCR,0 ; Prescaler Reset Timer/Counter 0/1TSM avrbit GTCCR,7 ; Timer/Counter Synchronization Mode;----------------------------------------------------------------------------; Watchdog TimerWDTCSR port 0x21 ; Watchdog Control/Status RegisterWDP0 avrbit WDTCSR,0 ; PrescalerWDP1 avrbit WDTCSR,1WDP2 avrbit WDTCSR,2WDE avrbit WDTCSR,3 ; Enable watchdogWDCE avrbit WDTCSR,4 ; Change EnableWDP3 avrbit WDTCSR,5WDIE avrbit WDTCSR,6 ; Enable Watchdog InterruptWDIF avrbit WDTCSR,7 ; Watchdog Interrupt Occured?;----------------------------------------------------------------------------; Analog Comparatorinclude "acm.inc";----------------------------------------------------------------------------; A/D ConverterADMUX port 0x07 ; Multiplexer SelectionREFS avrbit ADMUX,6 ; Reference SelectionMUX2 avrbit ADMUX,2MUX1 avrbit ADMUX,1MUX0 avrbit ADMUX,0ADCSRA port 0x06 ; Control/Status Register AADEN avrbit ADCSRA,7 ; Enable ADCADSC avrbit ADCSRA,6 ; Start ConversionADATE avrbit ADCSRA,5 ; ADC Auto Trigger EnableADIF avrbit ADCSRA,4 ; Interrupt FlagADIE avrbit ADCSRA,3 ; Interrupt EnableADPS2 avrbit ADCSRA,2 ; Prescaler SelectADPS1 avrbit ADCSRA,1ADPS0 avrbit ADCSRA,0ADCSRB port 0x03 ; Control/Status Register BBS avrbit ADCSRB,7 ; Boost StatusACME avrbit ADCSRB,6 ; Analog Comparator Multiplexer EnableADLAR avrbit ADCSRB,4 ; Left Adjust RightADTS2 avrbit ADCSRB,2 ; Auto Trigger SourceADTS1 avrbit ADCSRB,1ADTS0 avrbit ADCSRB,0ADCH port 0x05 ; Data RegisterADCL port 0x04;----------------------------------------------------------------------------; USIUSIDR port 0x0f ; USI Data RegisterUSISR port 0x0e ; USI Status RegisterUSICNT0 avrbit USISR,0 ; Counter ValueUSICNT1 avrbit USISR,1USICNT2 avrbit USISR,2USICNT3 avrbit USISR,3USIDC avrbit USISR,4 ; Data Output CollisionUSIPF avrbit USISR,5 ; Stop Condition FlagUSIOIF avrbit USISR,6 ; Counter Overflow Interrupt FlagUSISIF avrbit USISR,7 ; Start Condition Interrupt FlagUSICR port 0x0d ; USI Control RegisterUSITC avrbit USICR,0 ; Toggle Clock Port PinUSICLK avrbit USICR,1 ; Clock StrobeUSICS0 avrbit USICR,2 ; Clock Source SelectUSICS1 avrbit USICR,3USIWM0 avrbit USICR,4 ; Wire ModeUSIWM1 avrbit USICR,5USIOIE avrbit USICR,6 ; Counter Overflow Interrupt EnableUSISIE avrbit USICR,7 ; Start Condition Interrupt EnableUSIBR port 0x10 ; USI Buffer Registerrestoreendif ; __regtn43uinc