- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 3
- •220301– Автоматизация технологических процессов и производств
- •Содержание
- •Предисловие
- •Лабораторная работа №1 «Освоение среды разработки vmlab 3.12»
- •1.2 Теоретическое введение
- •1.2.1 Общие сведения
- •1.2.2 Среда разработки vmlab
- •1.2.3 Описание пользовательского интерфейса
- •1.2.4 Команды меню
- •Save All − сохранить все файлы Save As − сохранить файл текущего окна под новым именем
- •1.2.5 Доступные окна
- •1.2.6 Аппаратные компоненты
- •1.2.7 Формат программы на ассемблере
- •1.3 Порядок выполнения лабораторной работы
- •1.3.1 Создание нового проекта
- •1.3.2 Редактирование файла ассемблера
- •1.3.3 Ассемблирование и выполнение программы
- •1.4 Задание на лабораторную работу
- •1.5 Контрольные вопросы
- •1.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №2 «Изучение микроконтроллера aTmega128 и основы программирования»
- •2.2.1 Общие сведения о микроконтроллере aTmega128
- •Регистры ввода/вывода (рвв)
- •Организация памяти
- •Внешние прерывания
- •2.2.9 Директивы транслятора ассемблера
- •2.2.10 Выражения
- •2.2.11 Операнды
- •2.2.12 Функции
- •2.2.13 Операции
- •2.3 Порядок выполнения лабораторной работы
- •2.4 Задание на лабораторную работу
- •Задание для индивидуальной работы
- •2.5 Контрольные вопросы
- •2.6 Содержание отчета по лабораторной работе
- •3.2.2 Адресация в микроконтроллере
- •3.2.3 Команды пересылки данных
- •Mov Rd,Rr(пересылка между рон) – копирует содержимое регистра Rrв регистр Rd. Регистр-источник Rrне изменяется.
- •3.2.4 Команды передачи управления
- •3.3 Порядок выполнения лабораторной работы
- •3.4 Задание на лабораторную работу
- •3.5 Контрольные вопросы
- •3.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №4 «Выполнение арифметических операций»
- •4.2 Теоретическое введение
- •4.3 Порядок выполнения лабораторной работы
- •4.4 Задание на лабораторную работу
- •4.5 Контрольные вопросы
- •4.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №5 «Изучение логических операций»
- •5.2 Теоретическое введение
- •Управление энергопотреблением и режимы сна.
- •5.3 Порядок выполнения лабораторной работы
- •5.4 Задания на лабораторную работу
- •5.5 Контрольные вопросы
- •5.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №6 «Изучение портов ввода/вывода и их программирование»
- •6.2 Теоретическое введение
- •6.2.1 Общие сведения
- •6.2.2 Порты в качестве универсального цифрового ввода-вывода
- •6.2.3 Настройка выводов
- •6.2.4 Неподключенные выводы
- •6.2.5 Альтернативные функции порта
- •6.2.5.1 Альтернативные функции порта a
- •6.2.5.2 Альтернативные функции порта в
- •6.2.5.3 Альтернативные функции порта c
- •6.2.5.4 Альтернативные функции порта d.
- •6.2.5.5 Альтернативные функции порта e
- •6.2.5.6 Альтернативные функции порта f
- •6.2.5.1 Альтернативные функции порта g
- •6.2.6 Описание регистров портов ввода-вывода
- •6.2.7 Обращение к портам ввода/вывода
- •6.3 Порядок выполнения лабораторной работы на симуляторе
- •6.4 Задание на лабораторную работу
- •Задания для индивидуальной работы
- •Контрольные вопросы
- •6.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №7.
- •7.2.1 Общие сведения о Память
- •7.2.2 Статическое озу памяти данных
- •7.2.3 Организация памяти
- •7.2.4 Запоминающее устройство sram
- •7.2.5 Временная диаграмма доступа к памяти
- •7.3 Память данных на эсппзу
- •7.3.1 Чтение и запись эсппзу
- •7.3.2 Адресные регистры эсппзу
- •Порядок выполнения
- •7.4 Память ввода-вывода
- •Порядок выполнения
- •Порядок выполнения
- •7.5 Задание на лабораторную работу
- •Задание для индивидуальной работы
- •7.6 Контрольные вопросы
- •7.7 Содержание отчета по лабораторной работе
- •Генерация тактовых импульсов
- •Инициализация усапп
- •8.2.2 Передача данных - Передатчик усапп
- •8.2.3 Прием данных - Приемник усапп
- •Асинхронный прием данных
- •8.2.4 Многопроцессорный режим связи
- •8.2.5 Описание регистров усапп
- •8.2.6 Последовательный периферийный интерфейс - spi
- •8.2.7 Функционирование вывода ss
- •8.2.8 Связь двух мк
- •8.3 Задание на лабораторную работу
- •Задание для индивидуальной работы
- •8.6 Контрольные вопросы
- •Лабораторная работа №9 «Изучение принципа работы таймеров/счетчиков микроконтроллера»
- •9.2 Теоретическое введение
- •9.2.1 Общие сведения о таймерах/счетчиках
- •9.2.2 Назначение выводов таймеров/счетчиков
- •9.2.5 Выбор источника тактового сигнала
- •9.2.6 Режим таймера
- •9.2.7 Функция захвата (Capture)
- •9.2.8 Функция сравнения (Compare)
- •9.2.9 Режим шим
- •9.2.10 Сторожевой таймер
- •9.2.11 Общие сведения о работе клавиатуры
- •9.2.12 Ввод кода нажатой клавиши
- •9.2.13 Сканирование и идентификация
- •Листинг проектного файла №9
- •На эмуляторе
- •9.4 Задание на лабораторную работу
- •Задания для индивидуальной работы
- •9.5 Контрольные вопросы
- •10.2.2 Функционирование модуля ацп
- •10.2.3 Принцип действия
- •10.2.4 Каналы дифференциального усиления
- •10.2.5 Изменение канала или выбор опорного источника
- •10.2.6 Входные каналы ацп
- •10.2.7 Источник опорного напряжения ацп
- •10.2.8 Повышение точности преобразования
- •10.2.9 Методы компенсации смещения
- •10.2.10 Описание получения результата преобразования
- •10.2.5 Параметры ацп
- •10.2 Порядок выполнения работы на симуляторе
- •На эмуляторе
- •10.3 Задание на лабораторную работу
- •Задания для индивидуальной работы
- •10.4 Контрольные вопросы
- •Приложение
- •Список литературы
Регистры ввода/вывода (рвв)
Регистры ввода/вывода располагаются в так называемом пространстве ввода/вывода размером 64 байта. Все РВВ можно разделить на две группы: служебные регистры микроконтроллера и регистры, относящиеся к периферийным устройствам (в т.ч. порты ввода/вывода). Размер каждого регистра – 8 разрядов.
Размещение РВВ в адресном пространстве ввода/вывода приведено в таблице.
Таблица 2.1
Название |
Адрес |
Функция |
XMCRB |
($6С) |
Регистр управления В внешней памятью |
XMCRA |
($6D) |
Регистр управления А внешней памятью |
XDIV |
$ЗС($5С) |
Регистр управления делителем тактовой частоты |
WDTCR |
$21($41) |
Регистр встроенной отладочной системы |
UDR1 |
($9С) |
Регистр данных USART1 |
UDR0 |
$0С ($2С) |
Регистр данных USART0 |
UCSR1C |
($9D) |
Регистр управления и состояния С USART1 |
UCSR1B |
($9А) |
Регистр управления и состояния В USART1 |
UCSR1A |
($9В) |
Регистр управления и состояния A USART1 |
UCSR0C |
($95) |
Регистр управления и состояния USART0 |
UCSR0C |
($95) |
Регистр управления и состояния С USART0 |
UCSR0B |
$0А($2А) |
Регистр управления и состояния В USART0 |
UCSR0A |
$0В($2В) |
Регистр управления и состояния A USART0 |
UBRR1L |
($99) |
Регистр скорости передачи USART1, младший байт |
UBRR1H |
($98) |
Регистр скорости передачи USART1, старший байт |
UBRR0L |
$09 ($29) |
Регистр скорости передачи USART, младший байт |
UBRR0H |
($90) |
Регистр скорости передачи USART0, старший байт |
UBRR0H |
($90) |
Регистр скорости передачи USART0, старший байт |
TWSR |
(S7l) |
Регистр состояния TWI |
TWDR |
($73) |
Регистр данных TWI |
TWCR |
($74) |
Регистр управления TWI |
TWBR |
($70) |
Регистр скорости передачи TWI |
TWAR |
($72) |
Регистр адреса TWI |
TIMSK |
$37 ($57) |
Регистр маски прерываний от таймеров/счетчиков |
TIFR |
$36 ($56) |
Регистр флагов прерываний от таймеров/счетчиков |
TCNT3L |
($88) |
Счетный регистр таймера/счетчика Т3, младший байт |
TCNT3H |
($89) |
Счетный регистр таймера/счетчика Т3, старший байт |
TCNT2 |
$24 ($44) |
Регистр совпадения таймера/счетчика Т2 |
TCNT1L |
$2С($4С) |
Счетный регистр таймера/счетчика Т1, младший байт |
TCNT1H |
$2D($4D) |
Счетный регистр таймера/счетчика Т1, старший байт |
TCNT0 |
$32($52) |
Счетный регистр таймера/счетчика Т0 |
TCCRЗВ |
($8A) |
Регистр управления В таймера/счетчика ТЗ |
TCCR3C |
($8С) |
Регистр управления С таймера/счетчика ТЗ |
TCCR3A |
($8В) |
Регистр управления А таймера/счетчика ТЗ |
TCCR2 |
$25 ($45) |
Счетный регистр таймера/счетчика Т2 |
TCCR1C |
($7A) |
Регистр управления С таймера/счетчика Т1 |
TCCR1B |
$2Е($4Е) |
Регистр управления В таймера/счетчика Т1 |
TCCR1A |
$2F ($4F) |
Регистр управления А таймера/счетчика Т1 |
TCCR0 |
$33($53) |
Регистр управления таймера/счетчика ТО |
SREG |
$3F ($5F) |
Регистр состояния |
SPSR |
$0E ($2Е) |
Регистр состояния SPI |
SPMCSR |
($68) |
Регистр управления памятью программ |
SPL |
$3D($5D) |
Указатель стека, младший байт |
SPH |
$ЗЕ ($5Е) |
Указатель стека, старший байт |
SPDF |
$0F($2F) |
Регистр данных SPI |
SPCR |
$0D($2D) |
Регистр управления SPI |
SFIOR |
$20 ($40) |
Регистр встроенной отладочной системы |
RAMPZ |
$3B($5B) |
Регистр выбора страницы |
PORTG |
($65) |
Регистр данных порта G |
PORTF |
($62) |
Регистр данных порта F |
PORTE |
$03 ($23) |
Регистр данных порта E |
PORTD |
$12 ($32) |
Регистр данных порта D |
PORTC |
$15 ($35) |
Регистр данных порта С |
PORTB |
$18($38) |
Регистр данных порта В |
PORTA |
$1В($ЗВ) |
Регистр данных порта А |
PING |
($63) |
Выводы порта G |
PINF |
$00 ($20) |
Выводы порта F |
PINE |
$01 ($21) |
Выводы порта E |
PIND |
$10 ($30) |
Выводы порта D |
PINC |
$13($33) |
Выводы порта С |
PINB |
$16 ($36) |
Выводы порта В |
PINA |
$19 ($39) |
Выводы порта А |
OSCCAL |
($6F) |
Регистр калибровки тактового генератора |
OCRIAL |
$2А($4А) |
Регистр совпадения А таймера/счетчика Т1, младший байт ~ |
OCR3CL |
($82) |
Регистр совпадения С таймера/счетчика ТЗ, младший байт |
OCR3AH |
($87) |
Регистр совпадения А таймера/счетчика ТЗ, старший байт |
OCR2 |
$23 ($43) |
Регистр совпадения таймера/счетчика Т2 |
OCR1CL |
($78) |
Регистр совпадения С таймера/счетчикаТ1,младший байт |
OCR1CH |
($79) |
Рeгистр совпадения С таймера/счетчика Т1 |
OCR1BL |
$28 ($48) |
Регистр совпадения В таймера/счетчика Т1, младший байт |
OCR1BH |
$29 ($49) |
Регистр совпадения В таймера/счетчика Т1, старший байт |
OCR1AH |
$2В($4В) |
Регистр совпадения А таймера/счетчикаТ1,старшиибайт |
OCR0 |
$31 ($51) |
Регистр совпадения таймера/счетчика ТО |
OCDR |
$22 ($42) |
Регистр таймера-счетчика |
MCUCSR |
$34 ($54) |
Регистр управления и состояния микроконтроллера |
MCUCR |
$35 ($55) |
Регистр управления микроконтроллером |
ICR3L |
($80) |
Регистр захвата таймера/счетчика ТЗ, младший байт |
ICR3H |
($81) |
Регистр захвата таймера/счетчика ТЗ, старший байт |
ICR1L |
$26 ($46) |
Регистр захвата таймера/счетчика Т1, младший байт |
ICR1H |
$27 ($47) |
Регистр захвата таймера/счетчика Т1, старший байт |
ETIMSK |
($7D) |
Расширенный регистр маски прерываний таймера-счетчика |
ETIFR |
($7C) |
Расширенный регистр флагов прерываний таймеров-счетчиков – ETIFR |
EIMSK |
$39 ($59) |
Регистр маски внешних прерываний |
EIFR |
$38 ($58) |
Регистр флагов внешних прерываний |
EICRB |
$ЗА ($5А) |
Регистр управления В внешними прерываниями |
EICRA |
($6А) |
Регистр управления А внешними прерываниями |
EEDR |
$1D($3D) |
Регистр данных EEPROM |
EECR |
$1С($ЗС) |
Регистр управления EEPROM |
EEARL |
$1Е ($ЗЕ) |
Регистр адреса EEPROM, младший байт |
EEARH |
$1F($3F) |
Регистр адреса EEPROM, старший байт |
DDRG |
($64) |
Регистр направления данных порта G |
DDRF |
($61) |
Регистр направления данных порта F |
DDRE |
$02 ($22) |
Регистр направления данных порта E |
DDRD |
$11($31) |
Регистр направления данных порта D |
DDRC |
$14 ($34) |
Регистр направления данных порта С |
DDRB |
$17 ($37) |
Регистр направления данных порта В |
DDRA |
$1А($ЗА) |
Регистр направления данных порта А |
ASSR |
$30 ($50) |
Регистр состояния асинхронного режима |
ADMUX |
$07 ($27) |
Регистр управления мультиплексором АЦП |
ADCSRА |
$06 ($26) |
Регистр управления и состояния АЦП |
ADCL |
$04 ($24) |
Регистр данных АЦП, младший байт |
ADCH |
$05 ($25) |
Регистр данных АЦП, старший байт |
ACSR |
$08 ($28) |
Регистр управления и состояния аналогового компаратора |
0CR3CH |
($83) |
Регистр совпадения С таймера/счетчика ТЗ, старший байт |
0CR3BL |
($84) |
Регистр совпадения В таймера/счетчика ТЗ, младший байт |
0CR3BH |
($85) |
Регистр совпадения В таймера/счетчика ТЗ, старший байт |
0CR3AL |
($86) |
Регистр совпадения А таймера/счетчика ТЗ, младший байт |