- •Введение
- •1 Описание архитектуры микроконтроллеров avr
- •2 Описание элементов устройства системы
- •2.1 Датчики
- •2.2 Аналогово-цифровой преобразователь микроконтроллеровAvr
- •2.3ПротоколUsart. Исполнительный механизм.
- •3 Разработка принципиальной схемы устройства
- •3.1 Схема подключения внешних устройств
- •4 Разработка алгоритма и написание программного кода
- •4.1 Пример программирования ацп
- •4.2 Пример программированияUsart
- •Список литературы
- •Приложение а задание
- •Приложение б цоколевка некоторых моделейavr
2.3ПротоколUsart. Исполнительный механизм.
Некоторые микроконтроллеры серии AVR имеют:
встроенный универсальный последовательный асинхронный приемопередатчик (UART);
универсальный последовательный синхронно/асинхронный приемопередатчик (USART).
Каналы UART (USART) предназначены для обмена информацией между микроконтроллером и любым внешним устройством.
Протокол UART (USART) — это довольно распространенный протокол последовательной передачи информации. Такой протокол, в частности, использует последовательный порт компьютера (СОМ-порт). При помощи UART (USART) можно организовывать линию связи не только между двумя микроконтроллерами, но и между микроконтроллером и компьютером.
Для обмена информацией UART (USART) использует две линии: RxD и TxD. Одна линия используется для приема информации, другая — для передачи. В модулях UART посылка может быть восьми- или девятиразрядной. В модуле USART ее длина может составлять от 5 до 9 разрядов. Кроме того, модули могут вырабатывать и контролировать разряд четности.
Скорость передачи определяется специальным внутренним программируемым делителем и частотой тактового генератора микроконтроллера. Коэффициент деления делителя может изменяться от 2 до 65536. Для того, чтобы последовательный канал мог нормально обмениваться информацией с внешними устройствами, необходимо так подобрать коэффициент деления и частоту тактового генератора, чтобы получить одну из стандартных скоростей передачи информации. Например, 2400,4800,9600,14400, 19200, 28800 бит в секунду.
В качестве исполнительного механизма для систем автоматического регулирования применяется электродвигатель постоянного тока, который можно подключить к контроллеру через драйвер-микросхему L293, принципиальная схема и цоколевка которой приведены на рис 2.8, рис. 2.9. При подачи на входIN1 иENABLE1(а на входIN2 0В) логической единицы двигатель, подключенный к выводамOUT1 иOUT2 вращается по часовой стрелке. Если наIN2 иENABLE1(а на входIN1 0В) единица то против часовой стрелки.
Рис 2.9 Принципиальная схема драйвера двигателя
Рис 2.10 Цоколевка микросхемы драйвера двигателя
3 Разработка принципиальной схемы устройства
3.1 Схема подключения внешних устройств
Подключение внешних устройств рассмотренных выше к микроконтроллеру показано на рисунке 2.11. Каждый учащийся выбирает необходимые ему элементы и рисует принципиальную схему в соответствии со своим заданием.
Рис. 2.11 Подключение элементов системы к микроконтроллеру
4 Разработка алгоритма и написание программного кода
В данном разделе приводятся примеры реализации функций для работы АЦП, USART. Примеры работы с остальными устройствами приведены в конспекте лекций и методических указаниях по ОПСА.
4.1 Пример программирования ацп
Для работы с АЦП необходимо установить необходимый режим работы АЦП с помощью регистров ADMUXиADCSRA, создать обработчик прерывания и разрешить прерывания.
Пример работы с АЦП приведен в листинге 1.
Листинг 1
#include <avr/io.h>
#include <avr/interrupt.h>
ISR( ADC_vect ){
// какие-то действие после окончания преобразования
PORTD = 1;
}
void main(){
DDRC = 0;
PORTC = 0;
DDRD = 0xff;
PORTD = 0;
// AREF, внутренний источник опорного напряжения отключен
// Вход - ADC0
ADMUX = 0;
// ADEN, ADSC, ADFR, ADIE, ADPS = 111 (/128)
ADCSRA = 0b11101111;
sei();// разрешаем прерывания
for(;;){
}
}