⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tn26def.inc

📁 AVR Assembler 2 compiler
💻 INC
📖 第 1 页 / 共 2 页
字号:
.equ	EEAR2	= 2	; EEPROM Read/Write Access bit 2
.equ	EEAR3	= 3	; EEPROM Read/Write Access bit 3
.equ	EEAR4	= 4	; EEPROM Read/Write Access bit 4
.equ	EEAR5	= 5	; EEPROM Read/Write Access bit 5
.equ	EEAR6	= 6	; EEPROM Read/Write Access bit 6

; EEDR - EEPROM Data Register
.equ	EEDR0	= 0	; EEPROM Data Register bit 0
.equ	EEDR1	= 1	; EEPROM Data Register bit 1
.equ	EEDR2	= 2	; EEPROM Data Register bit 2
.equ	EEDR3	= 3	; EEPROM Data Register bit 3
.equ	EEDR4	= 4	; EEPROM Data Register bit 4
.equ	EEDR5	= 5	; EEPROM Data Register bit 5
.equ	EEDR6	= 6	; EEPROM Data Register bit 6
.equ	EEDR7	= 7	; EEPROM Data Register bit 7

; EECR - EEPROM Control Register
.equ	EERE	= 0	; EEPROM Read Enable
.equ	EEWE	= 1	; EEPROM Write Enable
.equ	EEMWE	= 2	; EEPROM Master Write Enable
.equ	EERIE	= 3	; EEProm Ready Interrupt Enable


; ***** WATCHDOG *********************
; WDTCR - Watchdog Timer Control Register
.equ	WDTCSR	= WDTCR	; For compatibility
.equ	WDP0	= 0	; Watch Dog Timer Prescaler bit 0
.equ	WDP1	= 1	; Watch Dog Timer Prescaler bit 1
.equ	WDP2	= 2	; Watch Dog Timer Prescaler bit 2
.equ	WDE	= 3	; Watch Dog Enable
.equ	WDCE	= 4	; Watchdog Change Enable
.equ	WDTOE	= WDCE	; For compatibility


; ***** CPU **************************
; SREG - Status Register
.equ	SREG_C	= 0	; Carry Flag
.equ	SREG_Z	= 1	; Zero Flag
.equ	SREG_N	= 2	; Negative Flag
.equ	SREG_V	= 3	; Two's Complement Overflow Flag
.equ	SREG_S	= 4	; Sign Bit
.equ	SREG_H	= 5	; Half Carry Flag
.equ	SREG_T	= 6	; Bit Copy Storage
.equ	SREG_I	= 7	; Global Interrupt Enable

; SP - Stack Pointer
.equ	SP0	= 0	; Stack Pointer Bit 0
.equ	SP1	= 1	; Stack Pointer Bit 1
.equ	SP2	= 2	; Stack Pointer Bit 2
.equ	SP3	= 3	; Stack Pointer Bit 3
.equ	SP4	= 4	; Stack Pointer Bit 4
.equ	SP5	= 5	; Stack Pointer Bit 5
.equ	SP6	= 6	; Stack Pointer Bit 6
.equ	SP7	= 7	; Stack Pointer Bit 7

; MCUCR - MCU Control Register
.equ	ISC00	= 0	; Interrupt Sense Control 0 bit 0
.equ	ISC01	= 1	; Interrupt Sense Control 0 bit 1
.equ	SM0	= 3	; Sleep Mode Select Bit 0
.equ	SM1	= 4	; Sleep Mode Select Bit 1
.equ	SE	= 5	; Sleep Enable
.equ	PUD	= 6	; Pull-up Disable

; MCUSR - MCU Status register
.equ	PORF	= 0	; Power-On Reset Flag
.equ	EXTRF	= 1	; External Reset Flag
.equ	BORF	= 2	; Brown-out Reset Flag
.equ	WDRF	= 3	; Watchdog Reset Flag

; OSCCAL - Status Register
.equ	CAL0	= 0	; Oscillator Calibration Value Bit 0
.equ	OSCCAL0	= CAL0	; For compatibility
.equ	CAL1	= 1	; Oscillator Calibration Value Bit 1
.equ	OSCCAL1	= CAL1	; For compatibility
.equ	CAL2	= 2	; Oscillator Calibration Value Bit 2
.equ	OSCCAL2	= CAL2	; For compatibility
.equ	CAL3	= 3	; Oscillator Calibration Value Bit 3
.equ	OSCCAL3	= CAL3	; For compatibility
.equ	CAL4	= 4	; Oscillator Calibration Value Bit 4
.equ	OSCCAL4	= CAL4	; For compatibility
.equ	CAL5	= 5	; Oscillator Calibration Value Bit 5
.equ	CAL6	= 6	; Oscillator Calibration Value Bit 6
.equ	CAL7	= 7	; Oscillator Calibration Value Bit 7


; ***** TIMER_COUNTER_0 **************
; TIMSK - Timer/Counter Interrupt Mask Register
.equ	TOIE0	= 1	; Timer/Counter0 Overflow Interrupt Enable

; TIFR - Timer/Counter Interrupt Flag register
.equ	TOV0	= 1	; Timer/Counter0 Overflow Flag

; TCCR0 - Timer/Counter0 Control Register
.equ	CS00	= 0	; Clock Select0 bit 0
.equ	CS01	= 1	; Clock Select0 bit 1
.equ	CS02	= 2	; Clock Select0 bit 2
.equ	PSR0	= 3	; Prescaler Reset Timer/Counter0

; TCNT0 - Timer Counter 0
.equ	TCNT00	= 0	; Timer Counter 0 bit 0
.equ	TCNT01	= 1	; Timer Counter 0 bit 1
.equ	TCNT02	= 2	; Timer Counter 0 bit 2
.equ	TCNT03	= 3	; Timer Counter 0 bit 3
.equ	TCNT04	= 4	; Timer Counter 0 bit 4
.equ	TCNT05	= 5	; Timer Counter 0 bit 5
.equ	TCNT06	= 6	; Timer Counter 0 bit 6
.equ	TCNT07	= 7	; Timer Counter 0 bit 7


; ***** TIMER_COUNTER_1 **************
; TCCR1A - Timer/Counter Control Register A
.equ	PWM1B	= 0	; Pulse Width Modulator B Enable
.equ	PWM1A	= 1	; Pulse Width Modulator A Enable
.equ	FOC1B	= 2	; Force Output Compare Match 1B
.equ	FOC1A	= 3	; Force Output Compare Match 1A
.equ	COM1B0	= 4	; Comparator B Output Mode Bit 0
.equ	COM1B1	= 5	; Comparator B Output Mode Bit 1
.equ	COM1A0	= 6	; Comparator A Output Mode Bit 0
.equ	COM1A1	= 7	; Comparator A Output Mode Bit 1

; TCCR1B - Timer/Counter Control Register B
.equ	CS10	= 0	; Clock Select Bits
.equ	CS11	= 1	; Clock Select Bits
.equ	CS12	= 2	; Clock Select Bits
.equ	CS13	= 3	; Clock Select Bits
.equ	PSR1	= 6	; Prescaler Reset Timer/Counter1
.equ	CTC1	= 7	; Clear Timer/Counter on Compare Match

; TCNT1 - Timer/Counter Register
.equ	TCNT1_0	= 0	; Timer/Counter Register Bit 0
.equ	TCNT1_1	= 1	; Timer/Counter Register Bit 1
.equ	TCNT1_2	= 2	; Timer/Counter Register Bit 2
.equ	TCNT1_3	= 3	; Timer/Counter Register Bit 3
.equ	TCNT1_4	= 4	; Timer/Counter Register Bit 4
.equ	TCNT1_5	= 5	; Timer/Counter Register Bit 5
.equ	TCNT1_6	= 6	; Timer/Counter Register Bit 6
.equ	TCNT1_7	= 7	; Timer/Counter Register Bit 7

; OCR1A - Output Compare Register
.equ	OCR1A0	= 0	; Output Compare Register A Bit 0
.equ	OCR1A1	= 1	; Output Compare Register A Bit 1
.equ	OCR1A2	= 2	; Output Compare Register A Bit 2
.equ	OCR1A3	= 3	; Output Compare Register A Bit 3
.equ	OCR1A4	= 4	; Output Compare Register A Bit 4
.equ	OCR1A5	= 5	; Output Compare Register A Bit 5
.equ	OCR1A6	= 6	; Output Compare Register A Bit 6
.equ	OCR1A7	= 7	; Output Compare Register A Bit 7

; OCR1B - Output Compare Register
.equ	OCR1B0	= 0	; Output Compare Register B Bit 0
.equ	OCR1B1	= 1	; Output Compare Register B Bit 1
.equ	OCR1B2	= 2	; Output Compare Register B Bit 2
.equ	OCR1B3	= 3	; Output Compare Register B Bit 3
.equ	OCR1B4	= 4	; Output Compare Register B Bit 4
.equ	OCR1B5	= 5	; Output Compare Register B Bit 5
.equ	OCR1B6	= 6	; Output Compare Register B Bit 6
.equ	OCR1B7	= 7	; Output Compare Register B Bit 7

; OCR1C - Output Compare Register
.equ	OCR1C0	= 0	; Output Compare Register C Bit 0
.equ	OCR1C1	= 1	; Output Compare Register C Bit 1
.equ	OCR1C2	= 2	; Output Compare Register C Bit 2
.equ	OCR1C3	= 3	; Output Compare Register C Bit 3
.equ	OCR1C4	= 4	; Output Compare Register C Bit 4
.equ	OCR1C5	= 5	; Output Compare Register C Bit 5
.equ	OCR1C6	= 6	; Output Compare Register C Bit 6
.equ	OCR1C7	= 7	; Output Compare Register C Bit 7

; TIMSK - Timer/Counter Interrupt Mask Register
.equ	TOIE1	= 2	; Timer/Counter1 Overflow Interrupt Enable
.equ	OCIE1B	= 5	; Timer/Counter1 Output Compare Interrupt Enable
.equ	OCIE1A	= 6	; Timer/Counter1 Output Compare Interrupt Enable

; TIFR - Timer/Counter Interrupt Flag Register
.equ	TOV1	= 2	; Timer/Counter1 Overflow Flag
.equ	OCF1B	= 5	; Timer/Counter1 Output Compare Flag 1B
.equ	OCF1A	= 6	; Timer/Counter1 Output Compare Flag 1A

; PLLCSR - PLL Control and Status Register
.equ	PLOCK	= 0	; PLL Lock Detector
.equ	PLLE	= 1	; PLL Enable
.equ	PCKE	= 2	; PCK Enable


; ***** EXTERNAL_INTERRUPT ***********
; GIMSK - General Interrupt Mask Register
.equ	PCIE0	= 4	; Pin Change Interrupt Enable 0
.equ	PCIE1	= 5	; Pin Change Interrupt Enable 1
.equ	INT0	= 6	; External Interrupt Request 0 Enable

; GIFR - General Interrupt Flag register
.equ	PCIF	= 5	; Pin Change Interrupt Flag
.equ	INTF0	= 6	; External Interrupt Flag 0



; ***** LOCKSBITS ********************************************************
.equ	LB1	= 0	; Lockbit
.equ	LB2	= 1	; Lockbit


; ***** FUSES ************************************************************
; LOW fuse bits
.equ	CKSEL0	= 0	; Select Clock Source
.equ	CKSEL1	= 1	; Select Clock Source
.equ	CKSEL2	= 2	; Select Clock Source
.equ	CKSEL3	= 3	; Select Clock Source
.equ	SUT0	= 4	; Select start-up time
.equ	SUT1	= 5	; Select start-up time
.equ	CKOPT	= 6	; Oscillator options
.equ	PLLCK	= 7	; Use PLL for internal clock

; HIGH fuse bits
.equ	BODEN	= 0	; Brown out detector enable
.equ	BODLEVEL	= 1	; Brown out detector trigger level
.equ	EESAVE	= 2	; EEPROM memory is preserved through the Chip Erase
.equ	SPIEN	= 3	; Enable Serial Program and Data Downloading
.equ	RSTDISBL	= 4	; Select if PB/ is I/O pin or RESET pin



; ***** CPU REGISTER DEFINITIONS *****************************************
.def	XH	= r27
.def	XL	= r26
.def	YH	= r29
.def	YL	= r28
.def	ZH	= r31
.def	ZL	= r30



; ***** DATA MEMORY DECLARATIONS *****************************************
.equ	FLASHEND	= 0x03ff	; Note: Word address
.equ	IOEND	= 0x003f
.equ	SRAM_START	= 0x0060
.equ	SRAM_SIZE	= 128
.equ	RAMEND	= 0x00df
.equ	XRAMEND	= 0x0000
.equ	E2END	= 0x007f
.equ	EEPROMEND	= 0x007f
.equ	EEADRBITS	= 7
#pragma AVRPART MEMORY PROG_FLASH 2048
#pragma AVRPART MEMORY EEPROM 128
#pragma AVRPART MEMORY INT_SRAM SIZE 128
#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60





; ***** INTERRUPT VECTORS ************************************************
.equ	INT0addr	= 0x0001	; External Interrupt 0
.equ	PCI0addr	= 0x0002	; External Interrupt Request 0
.equ	OC1Aaddr	= 0x0003	; Timer/Counter1 Compare Match 1A
.equ	OC1Baddr	= 0x0004	; Timer/Counter1 Compare Match 1B
.equ	OVF1addr	= 0x0005	; Timer/Counter1 Overflow
.equ	OVF0addr	= 0x0006	; Timer/Counter0 Overflow
.equ	USI_STARTaddr	= 0x0007	; USI Start
.equ	USI_OVFaddr	= 0x0008	; USI Overflow
.equ	ERDYaddr	= 0x0009	; EEPROM Ready
.equ	ACIaddr	= 0x000a	; Analog Comparator
.equ	ADCCaddr	= 0x000b	; ADC Conversion Complete

.equ	INT_VECTORS_SIZE	= 12	; size in words

#pragma AVRPART CORE INSTRUCTIONS_NOT_SUPPORTED break

#endif  /* _TN26DEF_INC_ */

; ***** END OF FILE ******************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -