Адресное пространтство МК Atmega128 и AT90CAN128

Вид корпуса и назначение выводов микроконтроллера AT90CAN128

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Вид корпуса и назначение выводов микроконтроллера ATmega128

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru
Структурная схема микроконтроллера ATMega128

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Файл регистров общего назначения

Объявление микроконтроллера
Для ATmega8515 .device ATmega8515 .include "m8515def.inc"
Для ATmega103 .device ATmega103 .include "m103def.inc"
Для ATmega128 .device ATmega128 .include "m128def.inc"
Для AT90CAN128 .device AT90CAN128 .include "can128def.inc"

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru


Загрузка регистра константой ldi r30, $23 ldi r16,0х23 Загрузка регистровой пары константой ldi ZL, $23 ldi ZH, $11
Приращение регистра Z на 4: adiw z, 4 Пример определения номера разряда первого 0 справа. Clr r16 Ldi r17,0x17
Пересылка между регистрами mov r31, r16 Loop: inc r16 lsr r17 brcs loop dec r16 ; при r16 = 8 - регистр r17 не содержит нулей

Работа с портами (поразрядное управление)

Обобщенная структура порта без дополнительных функций

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru Эквивалентная схема входа/выхода

DDRB – регистр направления порта В

PORTB – выходной регистр данных порта В

PINB – входной синхронный регистр защелки порта В

Пример: Настроить порт В – 0-3 – разряды на прием, 4 – не задействован(Z-состояние), 5-7 на выход (причем 7-разряд в 1, остальные в 0).

Ldi r16, 0xe0; b11100000

Out DDRB, r16

Ldi r16, 0xe0; b10001111

Out PORTB, r16

Переустановить разряды 5-6 в состояние логической 1

In r16,PORTB ;read PORTB latch

sbr r16,(1<<PB6)+(1<<PB5) ;set PB6 and PB5 (use masks, not bit#)

Out PORTB,r16

Выполнить опрос входов

sbis PINB, 0 ; sbis работает с портами, номера которых [0..31] (<=$1F)

rjmp put_bit0 ; PINB – адрес $16

Sbis PINB, 1

Rjmp put_bit1

Sbis PINB, 2

Rjmp put_bit2

Sbis PINB, 3

Rjmp put_bit3

Rjmp noput_bits

Вывод данных из порта Ввод данных в порт

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Работа со стеком

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

;***** Инициализация указателя стека **** ldi R20, $FF ; загрузка промежуточного ; регистра R20 младшим байтом адреса начала ; стека out SPL, R20 ; загрузка младшего байта ; указателя стека ldi R20, $10 ; загрузка промежуточного ; регистра R20 старшим байтом адреса начала ; стека out SPH, R20 ; загрузка старшего байта Запись регистра в стек push R30 ; сохранение указателя Z в стеке push R31
Считывание из вершины стека в вершину pop R31 ; извлечение указателя Z из стека pop R30 ;

Таблица 1.1. Регистры ввода-вывода микроконтроллера ATmega128



Название Адрес Функция
UCSR1C ($9D) Регистр управления и состояния С USART1
UDR1 ($9C) Регистр данных USART1
UCSR1A ($9B) Регистр управления и состояния A USART1
UCSR1B ($9A) Регистр управления и состояния В USART1
UBRR1L ($99) Регистр скорости передачи USART1, младший байт
UBRR1H ($98) Регистр скорости передачи USART1, старший байт
UCSR0C ($95) Регистр управления и состояния С USART0
UBRR0H ($90) Регистр скорости передачи USART0, старший байт
TCCR3C ($8C) Регистр управления С таймера/счетчика ТЗ
TCCR3A ($8B) Регистр управления А таймера/счетчика ТЗ
TCCR3B ($8A) Регистр управления В таймера/счетчика ТЗ
TCNT3H ($89) Счетный регистр таймера/счетчика ТЗ, старший байт
TCNT3L ($88) Счетный регистр таймера/счетчика ТЗ, младший байт
OCR3AH ($87) Регистр совпадения А таймера/счетчика ТЗ, старший байт
OCR3AL ($86) Регистр совпадения А таймера/счетчика ТЗ, младший байт
OCR3BH ($85) Регистр совпадения В таймера/счетчика ТЗ, старший байт
OCR3BL ($84) Регистр совпадения В таймера/счетчика ТЗ, младший байт
OCR3CH ($83) Регистр совпадения С таймера/счетчика ТЗ, старший байт
OCR3CL ($82) Регистр совпадения С таймера/счетчика ТЗ, младший байт
ICR3H ($81) Регистр захвата таймера/счетчика ТЗ, старший байт
ICR3L ($80) Регистр захвата таймера/счетчика ТЗ, младший байт
ETIMSK ($7D) Дополнительный регистр маски прерываний от таймеров/счетчиков
ETIFR ($7C) Дополнительный регистр флагов прерываний от таймеров/счетчиков
TCCR1C ($7A) Регистр управления С таймера/счетчика Т1
OCR1CH ($79) Регистр совпадения С таймера/счетчика Т1, старший байт
OCR1CL ($78) Регистр совпадения С таймера/счетчика Т1, младший байт
TWCR ($74) Регистр управления TWI
TWDR ($73) Регистр данных TWI
TWAR ($72) Регистр адреса TWI
TWSR ($71) Регистр состояния TWI
TWBR ($70) Регистр скорости передачи TWI
OSCCAL ($6F) Регистр калибровки тактового генератора
XMCRA ($6D) Регистр управления А внешней памятью
XMCRB ($6C) Регистр управления В внешней памятью
EICRA ($6A) Регистр управления А внешними прерываниями
SPMCR ($68) Регистр управления памятью программ
PORTG ($65) Регистр данных порта G
DDRG ($64) Регистр направления данных порта G
PING ($63) Выводы порта G
PORTF ($62) Регистр данных порта F
DDRF ($61) Регистр направления данных порта F
SREG $3F($5F) Регистр состояния
SPH $3E($5E) Указатель стека, старший байт
SPL $3D($5D) Указатель стека, младший байт
XDIV $3C($5C) Регистр управления делителем тактовой частоты
RAMPZ $3B($5B) Регистр выбора страницы
EICRB $3A($5A) Регистр управления В внешними прерываниями
EIMSK $39($59) Регистр маски внешних прерываний
EIFR $38 ($58) Регистр флагов внешних прерываний
TIMSK $37($57) Регистр маски прерываний от таймеров/счетчиков
TIFR $36($56) Регистр флагов прерываний от таймеров/счетчиков
MCUCR $35($55) Регистр управления микроконтроллером
MCUCSR $34($54) Регистр управления и состояния микроконтроллера
TCCR0 $33($53) Регистр управления таймером/счетчиком Т0
TCNT0 $32($52) Счетный регистр таймера/счетчика Т0
OCR0 $31($51) Регистр совпадения таймера/счетчика Т0
ASSR $30($50) Регистр состояния асинхронного режима
TCCR1A $2F($4F) Регистр управления А таймера/счетчика Т1
TCCR1B $2E($4E) Регистр управления В таймера/счетчика Т1
TCNT1H $2D($4D) Счетный регистр таймера/счетчика Т1, старший байт
TCNT1L $2C($4C) Счетный регистр таймера/счетчика Т1, младший байт
OCR1AH $2B($4B) Регистр совпадения А таймера/счетчика Т1, старший байт
OCR1AL $2A($4A) Регистр совпадения А таймера/счетчика Т1, младший байт
OCR1BH $29($49) Регистр совпадения В таймера/счетчика Т1, старший байт
OCR1BL $28($48) Регистр совпадения В таймера/счетчика Т1, младший байт
ICR1H $27($47) Регистр захвата таймера/счетчика Т1, старший байт
ICR1L $26($46) Регистр захвата таймера/счетчика Т1, младший байт
TCCR2 $25($45) Счетный регистр таймера/счетчика Т2
TCNT2 $24($44) Регистр совпадения таймера/счетчика Т2
OCR2 $23($43) Регистр совпадения таймера/счетчика Т2
OCDR $22($42) Регистр внутрисхемной отладки
WDTCR $21($41) Регистр управления сторожевым таймером
SFIOR $20($40) Регистр специальных функций
EEARH $1F($3F) Регистр адреса EEPROM, старший байт
EEARL $1E($3E) Регистр адреса EEPROM, младший байт
EEDR $1D($3D) Регистр данных EEPROM
EECR $1C($3C) Регистр управления EEPROM
PORTA $1B($3B) Регистр данных порта А
DDRA $1A($3A) Регистр направления данных порта А
PINA $19($39) Выводы порта А
PORTB $18($38) Регистр данных порта В
DDRB $17($37) Регистр направления данных порта В
PINB $16($36) Выводы порта В
PORTC $15($35) Регистр данных порта С
DDRC $14($34) Регистр направления данных порта С
PINC $13($33) Выводы порта С
PORTD $12($32) Регистр данных порта D
DDRD $11($31) Регистр направления данных порта D
PIND $10($30) Выводы порта D
SPDR $0F($2F) Регистр данных SPI
SPSR $0E($2E) Регистр состояния SPI
SPCR $0D($2D) Регистр управления SPI
UDR0 $0C($2C) Регистр данных USART0
UCSR0A $0B($2B) Регистр управления и состояния A USART0
UCSR0B $0A($2A) Регистр управления и состояния В USART0
UBRR0L $09($29) Регистр скорости передачи USART0, младший байт
ACSR $08($28) Регистр управления и состояния аналогового компаратора
ADMUX $07($27) Регистр управления мультиплексором АЦП
ADCSRA $06($26) Регистр управления и состояния АЦП
ADCH $05($25) Регистр данных АЦП, старший байт
ADCL $04($24) Регистр данных АЦП, младший байт
PORTE $03($23) Регистр данных порта Е
DDRE $02($22) Регистр направления данных порта Е
PINE $01($21) Выводы порта Е
PINF $00($20) Выводы порта F

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru
Карта памяти программ Карта памяти данных SRAM

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru
Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

XRAM (0 тактов ожидания) Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

External SRAM (XRAM)

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

XRAM (1 такт ожидания) Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Адресное пространтство МК Atmega128 и AT90CAN128 - student2.ru

Наши рекомендации