📄 m48def.inc
字号:
;***************************************************************************
;* A P P L I C A T I O N N O T E F O R T H E A V R F A M I L Y
;*
;* NUMBER : AVR000
;* FILE NAME : "M88DEF.INC"
;* TITLE : REGISTER/BIT DEFINITIONS FOR THE ATMEGA88
;* DATE : 14.01.2004
;* VERSION :
;* SUPPORT E-MAIL : AVR@ATMEL.COM
;* TARGET MCU : ATMEGA88
;*
;* DESCRIPTION
;* WHEN INCLUDING THIS FILE IN THE ASSEMBLY PROGRAM FILE, ALL I/O REGISTER
;* NAMES AND I/O REGISTER BIT NAMES APPEARING IN THE DATA BOOK CAN BE USED.
;* IN ADDITION, THE SIX REGISTERS FORMING THE THREE DATA POINTERS X, Y AND
;* Z HAVE BEEN ASSIGNED NAMES XL - ZH. HIGHEST RAM ADDRESS FOR INTERNAL
;* SRAM IS ALSO DEFINED
;*
;* THE REGISTER NAMES ARE REPRESENTED BY THEIR HEXADECIMAL ADDRESS.
;*
;* THE REGISTER BIT NAMES ARE REPRESENTED BY THEIR BIT NUMBER (0-7).
;*
;* PLEASE OBSERVE THE DIFFERENCE IN USING THE BIT NAMES WITH INSTRUCTIONS
;* SUCH AS "SBR"/"CBR" (SET/CLEAR BIT IN REGISTER) AND "SBRS"/"SBRC"
;* (SKIP IF BIT IN REGISTER SET/CLEARED). THE FOLLOWING EXAMPLE ILLUSTRATES
;* THIS:
;*
;* IN R16,PORTB ;READ PORTB LATCH
;* SBR R16,(1<<PB6)+(1<<PB5) ;SET PB6 AND PB5 (USE MASKS, NOT BIT#)
;* OUT PORTB,R16 ;OUTPUT TO PORTB
;*
;* IN R16,TIFR ;READ THE TIMER INTERRUPT FLAG REGISTER
;* SBRC R16,TOV0 ;TEST THE OVERFLOW FLAG (USE BIT#)
;* RJMP TOV0_IS_SET ;JUMP IF SET
;* ... ;OTHERWISE DO SOMETHING ELSE
;***************************************************************************
;***** SPECIFY DEVICE ******************************************************
.DEVICE ATMEGA48
;***** MEMORY MAPPED I/O REGISTER DEFINITIONS (&FF-$60) ********************
.EQU UDR0 =$C6
.EQU UBRR0H =$C5
.EQU UBRR0L =$C4
.EQU UCSR0C =$C2
.EQU UCSR0B =$C1
.EQU UCSR0A =$C0
.EQU TWAMR =$BD
.EQU TWCR =$BC
.EQU TWDR =$BB
.EQU TWAR =$BA
.EQU TWSR =$B9
.EQU TWBR =$B8
.EQU ASSR =$B6
.EQU OCR2B =$B4
.EQU OCR2A =$B3
.EQU TCNT2 =$B2
.EQU TCCR2B =$B1
.EQU TCCR2A =$B0
.EQU OCR1BH =$8B
.EQU OCR1BL =$8A
.EQU OCR1AH =$89
.EQU OCR1AL =$88
.EQU ICR1H =$87
.EQU ICR1L =$86
.EQU TCNT1H =$85
.EQU TCNT1L =$84
.EQU TCCR1C =$82
.EQU TCCR1B =$81
.EQU TCCR1A =$80
.EQU DIDR1 =$7F
.EQU DIDR0 =$7E
.EQU ADMUX =$7C
.EQU ADCSRB =$7B
.EQU ADCSRA =$7A
.EQU ADCH =$79
.EQU ADCL =$78
.EQU TIMSK2 =$70
.EQU TIMSK1 =$6F
.EQU TIMSK0 =$6E
.EQU PCMSK2 =$6D
.EQU PCMSK1 =$6C
.EQU PCMSK0 =$6B
.EQU EICRA =$69
.EQU PCICR =$68
.EQU OSCCAL =$66
.EQU PRR =$64
.EQU CLKPR =$61
.EQU WDTCSR =$60
;***** I/O REGISTER DEFINITIONS ($3F-$00) **********************************
.EQU SREG =$3F
.EQU SPH =$3E
.EQU SPL =$3D
.EQU SPMCSR =$37
.EQU MCUCR =$35
.EQU MCUSR =$34
.EQU SMCR =$33
.EQU MONDR =$31
.EQU ACSR =$30
.EQU SPDR =$2E
.EQU SPSR =$2D
.EQU SPCR =$2C
.EQU GPIOR2 =$2B
.EQU GPIOR1 =$2A
.EQU OCR0B =$28
.EQU OCR0A =$27
.EQU TCNT0 =$26
.EQU TCCR0B =$25
.EQU TCCR0A =$24
.EQU GTCCR =$23
.EQU EEARH =$22
.EQU EEARL =$21
.EQU EEDR =$20
.EQU EECR =$1F
.EQU GPIOR0 =$1E
.EQU EIMSK =$1D
.EQU EIFR =$1C
.EQU PCIFR =$1B
.EQU TIFR2 =$17
.EQU TIFR1 =$16
.EQU TIFR0 =$15
.EQU PORTD =$0B
.EQU DDRD =$0A
.EQU PIND =$09
.EQU PORTC =$08
.EQU DDRC =$07
.EQU PINC =$06
.EQU PORTB =$05
.EQU DDRB =$04
.EQU PINB =$03
;***** BIT DEFINITIONS *****************************************************
;**********USART0*********************
;UDR0:
;UCSR0A:
.EQU RXC0 =7
.EQU TXC0 =6
.EQU UDRE0 =5
.EQU FE0 =4
.EQU DOR0 =3
.EQU UPE0 =2
.EQU U2X0 =1
.EQU MPCM0 =0
;UCSR0B:
.EQU RXCIE0 =7
.EQU TXCIE0 =6
.EQU UDRIE0 =5
.EQU RXEN0 =4
.EQU TXEN0 =3
.EQU UCSZ02 =2
.EQU RXB80 =1
.EQU TXB80 =0
;UCSR0C:
.EQU UMSEL01 =7
.EQU UMSEL00 =6
.EQU UPM01 =5
.EQU UPM00 =4
.EQU USBS0 =3
.EQU UCSZ01 =2
.EQU UCSZ00 =1
.EQU UCPOL0 =0
;**********TWI************************
;TWCR:
.EQU TWINT =7
.EQU TWEA =6
.EQU TWSTA =5
.EQU TWSTO =4
.EQU TWWC =3
.EQU TWEN =2
.EQU TWIE =0
;TWSR:
.EQU TWS7 =7
.EQU TWS6 =6
.EQU TWS5 =5
.EQU TWS4 =4
.EQU TWS3 =3
.EQU TWPS1 =1
.EQU TWPS0 =0
;TWAR:
.EQU TWA6 =7
.EQU TWA5 =6
.EQU TWA4 =5
.EQU TWA3 =4
.EQU TWA2 =3
.EQU TWA1 =2
.EQU TWA0 =1
.EQU TWGCE =0
;**********TIMER_COUNTER_1************
;TIMSK1:
.EQU ICIE1 =5
.EQU OCIE1B =2
.EQU OCIE1A =1
.EQU TOIE1 =0
;TIFR1:
.EQU ICF1 =5
.EQU OCF1B =2
.EQU OCF1A =1
.EQU TOV1 =0
;TCCR1A:
.EQU COM1A1 =7
.EQU COM1A0 =6
.EQU COM1B1 =5
.EQU COM1B0 =4
.EQU WGM11 =1
.EQU WGM10 =0
;TCCR1B:
.EQU ICNC1 =7
.EQU ICES1 =6
.EQU WGM13 =4
.EQU WGM12 =3
.EQU CS12 =2
.EQU CS11 =1
.EQU CS10 =0
;TCCR1C:
.EQU FOC1A =7
.EQU FOC1B =6
;
;**********TIMER_COUNTER_2************
;TIMSK2:
.EQU OCIE2B =2
.EQU OCIE2A =1
.EQU TOIE2A =0
;TIFR2:
.EQU OCF2B =2
.EQU OCF2A =1
.EQU TOV2 =0
;TCCR2A:
.EQU COM2A1 =7
.EQU COM2A0 =6
.EQU COM2B1 =5
.EQU COM2B0 =4
.EQU WGM21 =1
.EQU WGM20 =0
;TCCR2B:
.EQU FOC2A =7
.EQU FOC2B =6
.EQU WGM22 =3
.EQU CS22 =2
.EQU CS21 =1
.EQU CS20 =0
;ASSR:
.EQU EXCLK =6
.EQU AS2 =5
.EQU TCN2UB =4
.EQU OCR2AUB =3
.EQU OCR2BUB =2
.EQU TCR2AUB =1
.EQU TCR2BUB =0
;GTCCR:
.EQU PSRASY =1
;**********AD_CONVERTER***************
;ADMUX:
.EQU REFS1 =7
.EQU REFS0 =6
.EQU ADLAR =5
.EQU MUX3 =3
.EQU MUX2 =2
.EQU MUX1 =1
.EQU MUX0 =0
;ADCH:
.EQU ADCH7 =7
.EQU ADCH6 =6
.EQU ADCH5 =5
.EQU ADCH4 =4
.EQU ADCH3 =3
.EQU ADCH2 =2
.EQU ADCH1 =1
.EQU ADCH0 =0
;ADCL:
.EQU ADCL7 =7
.EQU ADCL6 =6
.EQU ADCL5 =5
.EQU ADCL4 =4
.EQU ADCL3 =3
.EQU ADCL2 =2
.EQU ADCL1 =1
.EQU ADCL0 =0
;ADCSRA:
.EQU ADEN =7
.EQU ADSC =6
.EQU ADATE =5
.EQU ADIF =4
.EQU ADIE =3
.EQU ADPS2 =2
.EQU ADPS1 =1
.EQU ADPS0 =0
;ADCSRB:
.EQU ACME =6
.EQU ATDS2 =2
.EQU ADTS1 =1
.EQU ADTS0 =0
;DIDR0:
.EQU ADC5D =5
.EQU ADC4D =4
.EQU ADC3D =3
.EQU ADC2D =2
.EQU ADC1D =1
.EQU ADC0D =0
;**********ANALOG_COMPARATOR**********
;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
;DIDR1:
.EQU AIN1D =1
.EQU AIN0D =0
;**********PORTB**********************
;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 DDRB7 =7
.EQU DDRB6 =6
.EQU DDRB5 =5
.EQU DDRB4 =4
.EQU DDRB3 =3
.EQU DDRB2 =2
.EQU DDRB1 =1
.EQU DDRB0 =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
;**********PORTC**********************
;PORTC:
.EQU PORTC6 =6
.EQU PORTC5 =5
.EQU PORTC4 =4
.EQU PORTC3 =3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -