ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.01.2025
Просмотров: 3672
Скачиваний: 8
СОДЕРЖАНИЕ
1. Структура и функционирование микроконтроллера aTmega128
Регистр управления делением частоты кварцевого генератора – xdiv
2. Интегрированная система программирования avr Studio v4.12
3.Описание лабораторного стенда лс-2.
Работа №1 микроконтроллер aTmega128: методы адресации, команды передачи данных и управления
Работа №2 микроконтроллер aTmega128: команды обработки данных
Работа №3 цифровые системы на базе микроконтроллерa aTmega128:
Регистр управления внешними прерываниями – eicra и eicrb
16-Разрядные таймеры/счетчики t/c1 и t/c3
Регистры сравнения а таймеров/счетчиков - ocRxA
Работа №6 цифровые системы на базе микроконтроллера aTmega128:
Передача данных - Передатчик usart.
Прием данных - Приемник usart.
Работа №7 цифровые системы на базе микроконтроллера aTmega128:
3.Описание лабораторного стенда лс-2.
Лабораторный стенд предназначен для практического изучения микроконтроллеров ATmega128 фирмыAtmel.
Для питания платы требуется нестабилизированный источник напряжения +9..+15В / 300 мА, возможно использование стандартного сетевого адаптера.
На плате установлен микроконтроллер ATmega128, имеющий возможность внутрисхемной загрузкиFlashпамяти программ. Загрузка внутренней памяти программ (Flash) и энергонезависимой памяти данных (EEPROM) производится через разъемXP2. Для загрузки используется кабель программированияAVRProg. Кабель подключается к персональному компьютеру черезCOM-порт
В процессе загрузки линии портов микроконтроллера, используемые для этой цели, отключаются от разъемов. В качестве коммутатора использована микросхема CD4066.
Аппаратные ресурсы платы:
микроконтроллер ATmega128 (DD1) с кварцевым резонатором 6 МГц и резонатором 32768 Гц для реализации часов реального времени;
стабилизатор напряжения питания (DA1);
разъем для подключения кабеля программирования (XP2);
разъем для подключения интерфейса RS232 (XP12), схема драйвера – преобразователя уровней сигналов (DD3);
разъем для подключения интерфейса SPI(XP8);
коммутатор (DD2), отключающий сигнальные линии микроконтроллераTxD,RxD,TCK, используемые для загрузкиFlash, от внешних устройств в процессе программирования;
разъем для подключения входного аналогового сигнала (XP9), поступающего на вход АЦП микроконтроллера;
разъем для подключения выходного аналогового сигнала (XP10), поступающего с входа ШИМ микроконтроллера;
потенциометр для формирования статического аналогового сигнала на входе АЦП и неинвертирующем входе аналогового компаратора;
цепь формирования опорного напряжения, с возможностью установки интегрального источника опорного напряжения (DA2);
клавиатура 3х4 (KВ0-KВ6), столбцы подключены к линии +5В через резисторы;
светодиод (VD4), управляемый сигналом от микроконтроллера; подключен к линии +5В через резистор, для зажигания нужно подать сигнал логического нуля;
трехразрядный семисегментный дисплей с общим анодом;
звуковой пьезодинамик (ZQ3).
Соответствие ресурсов ввода/вывода и портов ATmegaприведено в табл.3.1.
Таблица 3.1. Функции портов микроконтроллера
|
Имя порта |
Номер контакта |
Имя сигнала |
Описание |
|
PB0 |
10 |
SS# |
Slave Select для интерфейса SPI |
|
PB1 |
11 |
TCK |
Тактовый сигнал SPI |
|
PB2 |
12 |
MOSI |
Линия данных интерфейса SPI |
|
PB3 |
13 |
MISO |
Линия данных интерфейса SPI |
|
PB6 |
16 |
OC1B |
Выход таймера 1 при работе в режимах OutputCompareиPWM |
|
PC0 – PC7 |
35 – 42 |
D0 – D7 |
Шина сегментов для индикатора, активный низкий уровень |
|
PD0 – PD3 |
25 – 28 |
KB0 – KB3 |
Шины строк клавиатуры |
|
PD4 – PD6 |
29 – 31 |
KB4 – KB6 |
Шины столбцов клавиатуры |
|
PD7 |
32 |
Beep |
Выход управления пьезодинамиком |
|
PE0 |
2 |
TDI |
Вход RxDинтерфейсаRS232 |
|
PE1 |
3 |
TDO |
Выход TxDинтерфейсаRS232 |
|
PE4 – PE6 |
6 – 8 |
DIG0 – DIG2 |
Сигналы управления разрядами индикатора, активный низкий уровень |
|
PE7 |
9 |
LED |
Сигнал управления светодиодом, активный низкий уровень |
|
PF0 |
61 |
AN_VAR |
Аналоговый статический сигнал, сформированный потенциометром |
|
PF1 |
62 |
AN_EXT |
Аналоговый вход, сигнал поступает от разъема XP3 через буферDA4.A |
Краткое описание управления ресурсами платы.
Интерфейсный обмен стандарта RS232 обеспечивается по линиямRxD,TxDмикроконтроллера. Согласование уровней сигналов обеспечивается драйверомMAX232A(DD3). Соединительный кабель подключается к разъему типаDB-9F.
В процессе загрузки FlashлинииRxD(PE0) иTxD(PE1), используемые для передачи данных, отключаются от внешних цепей.
Для связи по интерфейсу SPIпредусмотрен разъемXP8.
В процессе загрузки FlashлинияSCK(PB1), используемая для стробирования, отключается от разъемаXP8.
На плате используются 2 входа АЦП. На вход PF0 подается напряжение с потенциометраR29, в диапазоне 0..5В. На входPF1 подается внешний аналоговый сигнал от разъемаXP9 через буферный операционный усилительDA4.А.
В качестве источника опорного напряжения используется напряжение 2,56В с интегрального источника опорного напряжения в корпусе TO92 (DA3).
Для формирования выходного аналогового сигнала используется интегрирующая R-Cцепь, подключенная к выходу таймераOC1B. Выходное напряжение изменяется пропорционально скважности импульсов на выходеOC1B. Для формирования импульсов рекомендуется использовать режимыOutput CompareиPWM.
Клавиатура с организацией 3x4 подключена к портуPD. Столбцы (PD4 –PD6) подключены к шине питания через резисторы. Сканирование клавиатуры рекомендуется проводить поочередной подачей сигнала логического нуля на строки (PD0 –PD3), считывая на каждом шаге состояние столбцов.
Светодиодный семисегментный дисплей подключен по схеме с мультиплексированным управлением. В каждый момент времени может быть включен один разряд индикатора. Выбор разряда индикатора производится подачей сигнала логического нуля на выход порта PE4 –PE6 (DIG0 –DIG2), который открывает транзисторный ключ (VT1 –VT3). Управляющий код символа устанавливается на портуC. Включение сегмента на индикаторе соответствует уровню логического нуля на линии портаC. Соответствие сигналов портаCи сегментов индикатора приведено в табл.3.2.
Таблица 3.2. Управление семисегментным дисплеем
|
Вывод порта В |
PB0 |
PB1 |
PB2 |
PB3 |
PB4 |
PB5 |
PB6 |
PB7 |
|
Дисплей |
a |
b |
C |
d |
e |
f |
g |
точка |
Работа №1 микроконтроллер aTmega128: методы адресации, команды передачи данных и управления
Цель работы: знакомство с интегрированной средой программирования; изучение методов адресации, команд передачи данных и управления.
Введение
При создании программы для микроконтроллера на языке Ассемблер разработчик оперирует программно доступными ресурсами микропроцессорной системы. У микроконтроллера ATmega128 эти ресурсы включают: программно доступные регистры микроконтроллера, внутреннюю память данных, внешнюю память данных. Перечисленные ресурсы изображены на рис. В2, В3.
Каждая команда языка Ассемблер сообщает процессору выполняемую операцию и методы доступа к операндам. Командная строка Ассемблера включает метку (символический адрес), мнемонику (символическое имя) команды, поле операндов, комментарий. Имя команды однозначно связано с выполняемой ею операцией.
Методы адресации представляют собой набор механизмов доступа к операндам. Одни из них просты и поэтому приводят к компактному формату команды и быстрому доступу к операнду, но объем доступных с их помощью ресурсов ограничен. Другие методы адресации позволяют оперировать со всеми имеющимися в системе ресурсами, но команда получается длинной, на ее ввод и выполнение тратится много времени. Набор методов адресации в каждой системе команд является компромиссным сочетанием известных механизмов адресации, выбранных проектировщиками архитектуры исходя из набора решаемых задач.
Заметим, что при двух операндах и приемнике результата имеет место трехадресная команда и каждый адрес формируется с использованием собственного метода адресации. Если адрес операнда или приемника результата не указан в команде, а подразумевается, то имеет место неявная адресация.
На рис.1.1 – 1.12 приведены схемы методов адресации микроконтроллера ATmega128.
Регистровый
файл
15
4
0
31
ОР
d
d