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

📄 m48def.inc

📁 著名单片机AVR mega48的头文件 只要加入就能使用
💻 INC
📖 第 1 页 / 共 2 页
字号:
;***************************************************************************
;* 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 + -