📄 m169def.inc
字号:
.equ Z = 1
.equ C = 0
; *** SPH ***
.equ SP15 = 7
.equ SP14 = 6
.equ SP13 = 5
.equ SP12 = 4
.equ SP11 = 3
.equ SP10 = 2
.equ SP9 = 1
.equ SP8 = 0
; *** SPL ***
.equ SP7 = 7
.equ SP6 = 6
.equ SP5 = 5
.equ SP4 = 4
.equ SP3 = 3
.equ SP2 = 2
.equ SP1 = 1
.equ SP0 = 0
; *** SPMCSR ***
.equ SPMIE = 7
.equ RWWSB = 6
.equ RWWSRE = 4
.equ BLBSET = 3
.equ PGWRT = 2
.equ PGERS = 1
.equ SPMEN = 0
; *** MCUCR ***
.equ JTD = 7
.equ PUD = 4
.equ IVSEL = 1
.equ IVCE = 0
; *** MCUSR ***
.equ JTRF = 4
.equ WDRF = 3
.equ BORF = 2
.equ EXTRF = 1
.equ PORF = 0
; *** SMCR ***
.equ SM2 = 3
.equ SM1 = 2
.equ SM0 = 1
.equ SE = 0
; *** OCDR ***
.equ IDRD = 7
.equ OCD = 7
.equ OCDR6 = 6
.equ OCDR5 = 5
.equ OCDR4 = 4
.equ OCDR3 = 3
.equ OCDR2 = 2
.equ OCDR1 = 1
.equ OCDR0 = 0
; *** ACSR ***
.equ ACD = 7
.equ ACBG = 6
.equ ACO = 5
.equ ACI = 4
.equ ACIE = 3
.equ ACIC = 2
.equ ACIS1 = 1
.equ ACIS0 = 0
; *** SPSR ***
.equ SPIF = 7
.equ WCOL = 6
.equ SPI2X = 0
; *** SPCR ***
.equ SPIE = 7
.equ SPE = 6
.equ DORD = 5
.equ MSTR = 4
.equ CPOL = 3
.equ CPHA = 2
.equ SPR1 = 1
.equ SPR0 = 0
; *** TCCR0A ***
.equ FOC0A = 7
.equ WGM00 = 6
.equ COM0A1 = 5
.equ COM0A0 = 4
.equ WGM01 = 3
.equ CS02 = 2
.equ CS01 = 1
.equ CS00 = 0
; *** GTCCR ***
.equ TSM = 7
.equ PSR2 = 1
.equ PSR10 = 0
; To make tim8pwm_def.inc file
; part independent.
.equ PSR0 = PSR10
.equ PSR1 = PSR10
; *** EECR ***
.equ EERIE = 3
.equ EEMWE = 2
.equ EEWE = 1
.equ EERE = 0
; *** EIMSK ***
.equ PCIE1 = 7
.equ PCIE0 = 6
.equ INT0 = 0
; *** EIFR ***
.equ PCIF1 = 7
.equ PCIF0 = 6
.equ INTF0 = 0
; *** TIFR2 ***
.equ OCF2A = 1
.equ TOV2 = 0
; *** TIFR1 ***
.equ ICF1 = 5
.equ OCF1B = 2
.equ OCF1A = 1
.equ TOV1 = 0
; *** TIFR0 ***
.equ OCF0A = 1
.equ TOV0 = 0
; *** PORTG ***
.equ PORTG5 = 5
.equ PORTG4 = 4
.equ PORTG3 = 3
.equ PORTG2 = 2
.equ PORTG1 = 1
.equ PORTG0 = 0
; *** DDRG ***
.equ DDG4 = 4
.equ DDG3 = 3
.equ DDG2 = 2
.equ DDG1 = 1
.equ DDG0 = 0
; *** PING ***
.equ PING5 = 5
.equ PING4 = 4
.equ PING3 = 3
.equ PING2 = 2
.equ PING1 = 1
.equ PING0 = 0
; *** PORTF ***
.equ PORTF7 = 7
.equ PORTF6 = 6
.equ PORTF5 = 5
.equ PORTF4 = 4
.equ PORTF3 = 3
.equ PORTF2 = 2
.equ PORTF1 = 1
.equ PORTF0 = 0
; *** DDRF ***
.equ DDF7 = 7
.equ DDF6 = 6
.equ DDF5 = 5
.equ DDF4 = 4
.equ DDF3 = 3
.equ DDF2 = 2
.equ DDF1 = 1
.equ DDF0 = 0
; *** PINF ***
.equ PINF7 = 7
.equ PINF6 = 6
.equ PINF5 = 5
.equ PINF4 = 4
.equ PINF3 = 3
.equ PINF2 = 2
.equ PINF1 = 1
.equ PINF0 = 0
; *** PORTE ***
.equ PORTE7 = 7
.equ PORTE6 = 6
.equ PORTE5 = 5
.equ PORTE4 = 4
.equ PORTE3 = 3
.equ PORTE2 = 2
.equ PORTE1 = 1
.equ PORTE0 = 0
; *** DDRE ***
.equ DDE7 = 7
.equ DDE6 = 6
.equ DDE5 = 5
.equ DDE4 = 4
.equ DDE3 = 3
.equ DDE2 = 2
.equ DDE1 = 1
.equ DDE0 = 0
; *** PINE ***
.equ PINE7 = 7
.equ PINE6 = 6
.equ PINE5 = 5
.equ PINE4 = 4
.equ PINE3 = 3
.equ PINE2 = 2
.equ PINE1 = 1
.equ PINE0 = 0
; *** PORTD ***
.equ PORTD7 = 7
.equ PORTD6 = 6
.equ PORTD5 = 5
.equ PORTD4 = 4
.equ PORTD3 = 3
.equ PORTD2 = 2
.equ PORTD1 = 1
.equ PORTD0 = 0
; *** DDRD ***
.equ DDD7 = 7
.equ DDD6 = 6
.equ DDD5 = 5
.equ DDD4 = 4
.equ DDD3 = 3
.equ DDD2 = 2
.equ DDD1 = 1
.equ DDD0 = 0
; *** PIND ***
.equ PIND7 = 7
.equ PIND6 = 6
.equ PIND5 = 5
.equ PIND4 = 4
.equ PIND3 = 3
.equ PIND2 = 2
.equ PIND1 = 1
.equ PIND0 = 0
; *** PORTC ***
.equ PORTC7 = 7
.equ PORTC6 = 6
.equ PORTC5 = 5
.equ PORTC4 = 4
.equ PORTC3 = 3
.equ PORTC2 = 2
.equ PORTC1 = 1
.equ PORTC0 = 0
; *** DDRC ***
.equ DDC7 = 7
.equ DDC6 = 6
.equ DDC5 = 5
.equ DDC4 = 4
.equ DDC3 = 3
.equ DDC2 = 2
.equ DDC1 = 1
.equ DDC0 = 0
; *** PINC ***
.equ PINC7 = 7
.equ PINC6 = 6
.equ PINC5 = 5
.equ PINC4 = 4
.equ PINC3 = 3
.equ PINC2 = 2
.equ PINC1 = 1
.equ PINC0 = 0
; *** PORTB ***
.equ PORTB7 = 7
.equ PORTB6 = 6
.equ PORTB5 = 5
.equ PORTB4 = 4
.equ PORTB3 = 3
.equ PORTB2 = 2
.equ PORTB1 = 1
.equ PORTB0 = 0
; *** DDRB ***
.equ DDB7 = 7
.equ DDB6 = 6
.equ DDB5 = 5
.equ DDB4 = 4
.equ DDB3 = 3
.equ DDB2 = 2
.equ DDB1 = 1
.equ DDB0 = 0
; *** PINB ***
.equ PINB7 = 7
.equ PINB6 = 6
.equ PINB5 = 5
.equ PINB4 = 4
.equ PINB3 = 3
.equ PINB2 = 2
.equ PINB1 = 1
.equ PINB0 = 0
; *** PORTA ***
.equ PORTA7 = 7
.equ PORTA6 = 6
.equ PORTA5 = 5
.equ PORTA4 = 4
.equ PORTA3 = 3
.equ PORTA2 = 2
.equ PORTA1 = 1
.equ PORTA0 = 0
; *** DDRA ***
.equ DDA7 = 7
.equ DDA6 = 6
.equ DDA5 = 5
.equ DDA4 = 4
.equ DDA3 = 3
.equ DDA2 = 2
.equ DDA1 = 1
.equ DDA0 = 0
; *** PINA ***
.equ PINA7 = 7
.equ PINA6 = 6
.equ PINA5 = 5
.equ PINA4 = 4
.equ PINA3 = 3
.equ PINA2 = 2
.equ PINA1 = 1
.equ PINA0 = 0
;*****************************************************************************
; CPU Register Declarations
;*****************************************************************************
.def XL = r26 ; X pointer low
.def XH = r27 ; X pointer high
.def YL = r28 ; Y pointer low
.def YH = r29 ; Y pointer high
.def ZL = r30 ; Z pointer low
.def ZH = r31 ; Z pointer high
;*****************************************************************************
; Data Memory Declarations
;*****************************************************************************
.equ RAMEND = $4ff ; Highest internal data memory (SRAM) address.
;(1k RAM + IO + REG)
.equ EEPROMEND = $01ff ; Highest EEPROM address.
;(512 byte)
;*****************************************************************************
; Program Memory Declarations
;*****************************************************************************
.equ FLASHEND = $1FFF ; Highest program memory (flash) address
; (When addressed as 16 bit words)
; ( 8k words , 16k byte )
;**** Boot Vectors ****
; byte groups
; /--\/--\/--\
.equ SMALLBOOTSTART =0b1111110000000 ;($1F80) smallest boot block is 256B
.equ SECONDBOOTSTART =0b1111100000000 ;($1F00) second boot block size is 512B
.equ THIRDBOOTSTART =0b1111000000000 ;($1E00) third boot block size is 1KB
.equ LARGEBOOTSTART =0b1110000000000 ;($1C00) largest boot block is 2KB
.equ BOOTSTART =THIRDBOOTSTART ;OBSOLETE!!! kept for compatibility
;**** Page Size ****
.equ PAGESIZE =64 ;number of WORDS in a page
;**** Interrupt Vectors ****
.equ INT0addr =$002 ;External Interrupt0 Interrupt Address
.equ PCINT0addr =$004 ;Pin Change Interrupt0 Interrupt Address
.equ PCINT1addr =$006 ;Pin Change Interrupt1 Interrupt Address
.equ CMP2addr =$008
.equ OC2addr =$008 ;Timer/Counter2 Compare Match Interrupt Address
.equ OVF2addr =$00a ;Overflow1 Interrupt Address
.equ ICP1addr =$00c ;Input Capture1 Interrupt Address
.equ OC1Aaddr =$00e ;Output Compare1A Interrupt Address
.equ OC1Baddr =$010 ;Output Compare1B Interrupt Address
.equ OVF1addr =$012 ;Overflow1 Interrupt Address
.equ CMP0addr =$014
.equ OC0addr =$014 ;Timer/Counter0 Compare Match Interrupt Address
.equ OVF0addr =$016 ;Overflow0 Interrupt Address
.equ SPIaddr =$018 ;SPI Interrupt Address
.equ URXC0addr =$01a ;UART Receive Complete Interrupt Address
.equ UDRE0addr =$01c ;UART Data Register Empty Interrupt Address
.equ UTXC0addr =$01e ;UART Transmit Complete Interrupt Address
.equ USI_STARTaddr=$020 ;Universal Serial Bus Start Interrupt Address
.equ USI_OVFaddr =$022 ;Universal Serial Bus Overflow Interrupt Address
.equ ACIaddr =$024 ;Analog Comparator Interrupt Address
.equ ADCCaddr =$026 ;ADC Conversion Complete Interrupt Address
.equ ERDYaddr =$028 ;EEPROM write complete Interrupt Address
.equ SPMRaddr =$02a ;Store Program Memory Ready Interrupt Address
.equ LCDSFaddr =$02c ;LCD Start of Frame Interrupt Address
;for compatibility with s8515
.equ URXCaddr=$01a ;UART Receive Complete Interrupt
.equ UDREaddr=$01e ;UART Data Register Empty Interrupt
.equ UTXCaddr=$022 ;UART Transmit Complete Interrupt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -