ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.01.2025

Просмотров: 3654

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Оглавление

Введение

1. Структура и функционирование микроконтроллера aTmega128

Указатель стека – sp.

Регистр управления делением частоты кварцевого генератора – xdiv

2. Интегрированная система программирования avr Studio v4.12

2.1. Создание проекта.

2.2. Компиляция проекта.

3.Описание лабораторного стенда лс-2.

Работа №1 микроконтроллер aTmega128: методы адресации, команды передачи данных и управления

Введение

Команды передачи данных приведены в Табл.1.1. Из таблицы видно, что набор этих команд представляет собой сочетание восьми операций с различными методами адресации.

Из табл.1.1 и табл.1.2 видно, что команды пересылки данных и команды переходов значения флагов регистра sreg не изменяют.

Работа №2 микроконтроллер aTmega128: команды обработки данных

Введение

Задания

Работа №3 цифровые системы на базе микроконтроллерa aTmega128:

Введение

Регистр управления внешними прерываниями – eicra и eicrb

Выполнение основного задания

Задания

Работа №4 цифровые системы на базе микроконтроллера aTmega128: работа с внешними устройствами через параллельные порты ввода вывода – работа с клавиатурой и светодиодным индикатором

Введение

Выполнение основного задания

Задания

Работа №5

16-Разрядные таймеры/счетчики t/c1 и t/c3

Регистры сравнения а таймеров/счетчиков - ocRxA

Выполнение основного задания

Задания

Работа №6 цифровые системы на базе микроконтроллера aTmega128:

Введение

Универсальный синхронный и асинхронный приемопередатчик usart предназначен для организации последовательной связи.

Инициализация usart.

Передача данных - Передатчик usart.

Прием данных - Приемник usart.

Описание регистров usart.

Задания

Работа №7 цифровые системы на базе микроконтроллера aTmega128:

Аналоговый компаратор.

Задания

Задания

Приложение 1.

Приложение 2.

Флаг и прерывание по завершению приема.

Флаг завершения приема RXCх в регистре UCSRxA сигнализирует о наличии несчитанных данных в приемном буфере. Данный флаг равен 1, если имеются несчитанные данные, и равен 0, если буфер приемника свободен (т.е. не содержит каких-либо несчитанных данных). Если приемник отключается (RXEN = 0), то приемный буфер будет сброшен и флаг RXC примет нулевое значение.

Если установлен бит разрешения прерывания по завершению приема RXCIEx в регистре UCSRxB, то при установке флага RXCx программа переходит на вектор обработки данного прерывания (при условии, что активно общее разрешение прерываний).


Описание регистров usart.

Таблица 6.1 - Адреса используемых в приемопередатчиках UART0 и UART1 регистров.

UDRx

UCSRxA

UCSRxB

UCSRxC

UBRRxH

UBRRxL

USART0 (х=0)

$0C ($2C)

$0B ($2B)

$0A ($2A)

($95)

($90)

$09 ($29)

USART1 (х=1)

($9C)

($9B)

($9A)

($9D)

($98)

($99)

Буферные регистры данных передатчика и приемника USART расположены по одному и тому же адресу в области ввода-вывода, обозначенной как регистр данных UDRx. Если выполнять запись по адресу регистра UDRx, то записываемые данные помещаются в буферный регистр данных передатчика. По аналогии, при чтении регистра UDRx извлекается содержимое буферного регистра данных приемника.

Запись в буфер передатчика можно выполнять, если установлен флаг UDREx в регистре UCSRxA. Данные записанные в UDRx при сброшенном флаге UDREx будут игнорированы передатчиком.

Регистр А управления и статуса USART - UCSRxA

Разряд

7

6

5

4

3

2

1

0

RXCx

TXCx

UDREx

FEx

DORx

UPEx

U2Xx

MPCMx

UCSRxA

Чтение/запись

Чт.

Чт./Зп.

Чт.

Чт.

Чт.

Чт.

Чт./Зп.

Чт./Зп.

Исх. значение

0

0

0

0

0

0

0

0


Разряд 7 - RXCx: Флаг завершения приема

Данный флаг устанавливается, если в приемном буфере содержатся несчитанные данные и сбрасывается, когда приемный буфер свободен (т.е., не содержит несчитанных данных).

Разряд 6 - TXCx: Флаг завершения передачи

Данный флаг устанавливается, если вся посылка из сдвигового регистра передатчика полностью передана и в передающем буфере UDRx нет новых данных для передачи.

Разряд 5 - UDREx: Флаг освобождения регистра данных USART

Флаг UDREx индицирует о готовности приемного буфера UDRx к приему новых данных.

Разряд 4 - FEx: Ошибка посылки

Данный бит устанавливается, если при приеме посылки, была определена ошибка в структуре посылки. Под ошибкой структуры в данном случае понимается нулевое значение первого стоп-бита в этой посылке. Флаг FEx принимает нулевое значение, если принятый стоп-бит имел правильное единичное значение.

Разряд 3 - DORx: Флаг переполнения данных

Данный бит устанавливает, если выявлено условие переполнения. Переполнение данных возникает, если заполнен приемный буфер.

Разряд 2 - UPEx: Ошибка паритета

Данный бит устанавливается, если принятые данные характеризуется ошибкой паритета, при условии, что был разрешен контроль паритета (UPMх1 = 1).

Разряд 1 - U2Xx: Удвоение скорости связи

Данный бит оказывает влияние только в асинхронном режиме связи. Запись в данный бит лог. 1 уменьшает в два раза значение коэффициента деления скорости связи с 16 до 8, тем самым, удваивая скорость передачи данных в асинхронном режиме.

Разряд 0 - MPCMx: Режим многопроцессорной связи

Данный бит разрешает режим многопроцессорной связи. Если в бит MPCMx записать лог. 1, то все входящие данные, принимаемые приемником USART, будут игнорироваться, если они не содержат адресной информации. Состояние бита MPCMx не влияет на работу передатчика.

Регистр B управления и статуса - UCSRxB

Разряд

7

6

5

4

3

2

1

0

RXCIEx

TXCIEx

UDRIEx

RXENx

TXENx

UCSZx2

RXB8x

TXB8x

UCSRxB

Чтение/запись

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт.

Чт./Зп.

Исх. значение

0

0

0

0

0

0

0

0


Разряд 7 - RXCIEx: Разрешение прерывания по завершению приема

Запись в данный бит лог. 1 разрешает прерывание по флагу RXCx.

Разряд 6 - TXCIEx: Разрешение прерывания по завершению передачи

Запись в данный бит лог. 1 разрешает прерывание по флагу TXCx.

Разряд 5 - UDRIEx: Разрешение прерывания по освобождению регистра данных USART

Установка данного флага разрешает прерывание по флагу UDREx.

Разряд 4 - RXENx: Разрешение работы приемника

Запись в данный бит лог. 1 приводит к разрешению работы приемника USART.

Разряд 3 - TXENx: Разрешение работы передатчика

Запись в данный бит лог. 1 разрешает работу передатчика USART.

Разряд 2 - UCSZx2: Формат данных

Бит UCSZx2 вместе с битами UCSZx1:0 в регистре UCSRxC задают количество бит данных в посылке, как для приемника, так и для передатчика.

Разряд 1 - RXB8x: Значение 8-ого разряда принятых данных

RXB8x содержит значение 9-го бита принятой посылки с 9-битным форматом. Данный бит необходимо считать прежде, чем будут считаны младшие 8 бит из регистра UDRx.

Разряд 0 - TXB8x: 8-ой разряд передаваемых данных

TXB8x содержит значение 9-ого бита данных для передачи посылки с 9-битным форматом. Данный бит необходимо записать перед тем, как будут записаны младшие разряды данных в UDRx.

Регистр С управления и статуса USART - UCSRxC

Разряд

7

6

5

4

3

2

1

0

-

UMSELx

UPMx1

UPMx0

USBSx

UCSZx1

UCSZx0

UCPOLx

UCSRxC

Чтение/запись

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Исх. значение

0

0

0

0

0

0

0

0


Разряд 7 - Зарезервированные биты

Разряд 6 - UMSELx: Выбор режима USART

Данный бит позволяет переключаться между асинхронным (UMSELx=0) и синхронным (UMSELx=1) режимами последовательной связи.

Разряды 5:4 - UPMx1:0: Режим паритета

Данные бита разрешают и устанавливают тип генерируемого и контролируемого паритета. После разрешения паритета передатчик автоматически генерирует и передает бит паритета в каждой посылке. Приемник генерирует бит паритета для принятых данных и сравнивает его со значением принятого в этой посылке бита паритета, а по результату сравнения устанавливает флаг ошибки паритета UPEx в регистре UCSRxA.

Таблица 6.2. Установки бит UPMx

UPMx1

UPMx0

Режим паритета

0

0

Отключен

0

1

(Резерв)

1

0

Четность

1

1

Нечетность

Разряд 3 - USBSx: Выбор числа стоп-бит

Данный бит определяет, сколько стоповых бит вставляет передатчик при генерации посылки. Приемник игнорирует эту настройку.

Таблица 6.3. Установки бита USBSx

USBSn

Число стоп-бит

0

1 бит

1

2 бита

Разряды 2:1 - UCSZx1:0: Формат данных

Биты UCSZx1:0 вместе с UCSZx2 в регистре UCSRxB задают количество бит данных в посылке, как для приемника, так и для передатчика.

Таблица 6.4. Установки бит UCSZx

UCSZx2

UCSZx1

UCSZx0

Формат данных

0

0

0

5 бит

0

0

1

6 бит

0

1

0

7 бит

0

1

1

8 бит

1

0

0

Резерв

1

0

1

Резерв

1

1

0

Резерв

1

1

1

9 бит