Проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel
Особенности микроконтроллера ATTINY семейства AVR. Описание ресурсов микроконтроллера ATTINY12: описание процессора, порты ввода/вывода, периферийные устройства, архитектура ядра. Разработка устройства со световыми эффектами на базе микроконтроллера.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.06.2013 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
КУРСОВОЙ ПРОЕКТ
Проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel
Введение
Популярность микроконтроллеров ATtiny постоянно увеличивается. Не последнюю роль в этом играет соотношение показателей «цена/ быстродействие/ энергопотребление», являющееся одним из лучших на рынке 8-разрядных микроконтроллеров. Кроме того, постоянно растет число выпускаемых сторонними производителями разнообразных программных и аппаратных средств поддержки разработок устройств на их основе. Все это позволяет говорить о микроконтроллерах ATtiny как о новом индустриальном стандарте среди 8-разрядных микроконтроллеров общего применения.
Объектом исследования является устройство управления световых эффектов.
Предметом исследования является Система управления объектом исследования.
Цель курсовой работы - разработка и программирование микропроцессорной системы устройства световых эффектов на базе микроконтороллера, основываясь на знаниях, полученных при изучении дисциплины «Микроконтроллеры и микропроцессорные системы».
1. Особенности микроконтроллера ATTINY семейства AVR
Микроконтроллеры ATtiny семейства AVR являются 8-разрядными микроконтроллерами с RISC архитектурой. Они имеют электрически стираемую FLASH память программ (ряд моделей имеет также энергонезависимую EEPROM память данных), а также разнообразные периферийные устройства. Состав этих устройств меняется от модели к модели, более того, одно и то же устройство в разных моделях использует различные ресурсы микроконтроллера (в частности, различные выводы).
Они изготавливаются по мало-потребляющей КМОП технологии, которая в сочетании с усовершенствованной RISC архитектурой позволяет достичь наилучшего соотношения быстродействие /энергопотребление. Удельное быстродействие этих микроконтроллеров может достигать значения 1 MIPS/МГц (1 миллион операций в секунду на 1 МГц тактовой частоты). Микроконтроллеры описываемого семейства предназначены в первую очередь для низко-стоимостных («бюджетных») приложений и соответственно являются самыми дешевыми из всех микроконтроллеров семейства AVR. Важной особенностью этих микроконтроллеров является эффективное использование выводов кристалла, например, в 8-выводном корпусе все выводы (кроме, разумеется, выводов питания) могут использоваться в качестве линий ввода / вывода. [2, с. 9]
2. Описание ресурсов микроконтроллера TINY12
2.1 Характеристики процессора
микроконтроллер процессор периферийный ядро
Основными характеристиками центрального процессора микроконтроллеров рассматриваемого семейства являются:
1 полностью статическая архитектура;
2 минимальная тактовая частота равна нулю;
3 АЛУ подключено непосредственно к регистрам общего назначения;
4 большинство команд выполняются за один машинный цикл;
5 многоуровневая система прерываний;
6 поддержка очереди прерываний;
7 5-8 источников прерываний (из них до 2-х внешних);
8 трехуровневый аппаратный стек. [1, с. 13]
2.2 Порты ввода / вывода
Каждый порт Микроконтроллера ATtiny состоит из определенного числа выводов, через которые микроконтроллер может принимать или передавать цифровые сигналы. Задание направления передачи данных через любой контакт ввода / вывода может быть произведено программно в любой момент времени. При этом некоторые модели имеют выводы, способные работать либо только как входы, либо только как выходы. Входные буферы портов построены по схеме триггера Шмитта. Для большинства линий, сконфигурированных как входные, также имеется возможность подключения внутреннего подтягивающего резистора сопротивлением 35-120 кОм между входом и шиной питания-Vcc. Кроме того, если между входом с задействованным внутренним подтягивающим резистором и общей шиной подключить нагрузку, этот вход может служить источником тока. В портах ввода / вывода микроконтроллеров ATtiny семейства AVR реализована истинная функциональность вида «чтение / модификация / запись». Благодаря этому, используя команды SBI и CBI, можно выполнять операции над любым выводом, не воздействуя на другие выводы порта. Это относится к изменению режима работы контакта ввода / вывода, к изменению выходного значения и к изменению состояния внутреннего подтягивающего резистора (для входов).
Отличительной особенностью моделей семейства AVR, выпускающихся в 8-выводном корпусе, является совмещение функций ввода / вывода с функциями управления (выводы для подключения внешнего резонатора и вывод сброса). Соответственно в распоряжении пользователя оказываются до 6 линий ввода / вывода, т.к. эти модели могут быть сконфигурированы для работы без внешнего резонатора и без вывода аппаратного сброса.
Микроконтроллеры из каждой группы моделей семейства AVR имеют различное количество портов и соответственно контактов ввода / вывода:
1 ATtiny11x имеют один 6-разрядный порт ввода / вывода (порт B).
Контактов ввода / вывода - 5, входных контактов -1;
2 ATtiny12x имеют один 6-разрядный порт ввода / вывода (порт B).
Контактов ввода / вывода - 6;
3 ATtiny15L также имеет один 6-разрядный порт ввода / вывода B.
Контактов ввода / вывода - 6;
4 ATtiny28x имеют три порта ввода / вывода: порт A (4-разрядный), порт B (8-разрядный) и порт D (8-разрядный). Общее количество контактов ввода / вывода равно 11, выходных контактов - 1 (линия порта A), входных контактов - 8 (порт B).
Во всех микроконтроллерах ATtiny семейства AVR подавляющее большинство контактов ввода / вывода имеют дополнительные функции и используются периферийными устройствами микроконтроллеров. [1, c. 77]
2.3 Характеристики подсистемы ввода / вывода
Основными характеристиками подсистемы ввода / вывода являются:
1 программное конфигурирование и выбор портов ввода / вывода;
2 выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;
3 входные буферы с триггером Шмитта на всех выводах;
4 возможность подключения к входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 35 - 120 кОм).
Расположение выводов моделей ATtiny12/12L/12V показано на рис. 1.
Рисунок 1 - Расположение выводов моделей ATtiny12/12L/12V
Описание выводов модели ATtiny12/12L/12V показано в таблице 1. [3, c. 15]
Таблица 1 - Описание выводов модели ATtiny12/12L/12V
Обозначение |
Номер вывода |
Вывода описание |
Тип |
|
PB0 (MOSI/AIN0) |
5 |
I/O |
0-й разряд порта B (вход данных при программировании, положительный вход компаратора) |
|
PB1 (MISO/INT0/ AIN1) |
6 |
I/O |
1-й разряд порта B (выход данных при программировании, вход внешнего прерывания, отрицательный вход компаратора) |
|
PB2 (SCK/T0) |
7 |
I/O |
2-й разряд порта B (вход тактового сигнала при программировании, вход внешнего тактового сигнала таймера / счетчика T0) |
|
PB3 (XTAL1) |
2 |
I/O |
3-й разряд порта В (Вход тактового генератора) |
|
PB4 (XTAL2) |
3 |
I/O |
4-й разряд порта В (Выход тактового генератора) |
|
PB5 (RESET) |
1 |
I/O |
5-й разряд порта В, тип выхода - открытый коллектор (Вход сброса) |
|
GND |
4 |
P |
Общий вывод |
|
VCC 8 |
8 |
P |
Вывод источника питания |
2.4 Периферийные устройства
Набор периферийных устройств, имеющихся в составе того или иного микроконтроллера, зависит от конкретной модели. В общем, в составе микроконтроллеров ATtiny12 семейства AVR встречаются следующие периферийные устройства:
1 8-разрядный таймер / счетчик с предделителем (таймер - T0);
2 второй 8-разрядный таймер / счетчик с предделителем (таймер - T1);
3 сторожевой таймер WDT;
4 одноканальный генератор сигнала с ШИМ разрядностью 8 бит;
5 (один из режимов работы таймера T1);
6 аналоговый компаратор;
7 10-разрядный АЦП (4 канала);
8 аппаратный модулятор. [1, с. 14]
2.5 Архитектура ядра RISC
Ядро микроконтроллеров ATtiny семейства AVR выполнено по усовершенствованной RISC (enhanced RISC) архитектуре, в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров.
Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32-рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один машинный цикл. Кроме того, в микроконтроллерах ATtiny семейства AVR каждая из команд занимает только одну ячейку памяти программ.
Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение шин доступа позволяет использовать для каждого типа памяти шины различной разрядности, а также реализовать конвейеризацию. Конвейеризация заключается в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды.
В отличие от RISC-микроконтроллеров других фирм, в микроконтроллерах AVR используется 2-уровневый конвейер, а длительность машинного цикла составляет всего один период кварцевого резонатора. В результате, при более низкой тактовой частоте они могут обеспечивать ту же производительность, что и RISC-микроконтроллеры других фирм. [4, с. 30]
Архитектура ядра микроконтроллеров ATtiny семейства AVR показана на рис. 2.
Рисунок 2 - Архитектура ядра микроконтроллеров ATtiny семейства AVR
2.6 Устройство управления микроконтроллеров ATtiny семейства AVR
Микроконтроллеры ATtiny предоставляют пользователю широкие возможности по выбору источника тактового сигнала и его частоты. Здесь может быть использован встроенный генератор с внутренним или внешним кварцевым резонатором, внешний сигнал синхронизации, встроенный RC-генератор с внутренней или внешней времязадающей RC-цепочкой. Исключение составляет лишь микроконтроллер ATtiny15L. В этой модели тактовый сигнал может вырабатываться только встроенным генератором с внутренней RC-цепочкой.
Все микроконтроллеры ATtiny имеют два режима пониженного энергопотребления: Idle (режим ожидания) и Power Down. А микроконтроллер ATtiny15L имеет еще и дополнительный режим - ADC Noise Reduction (режим снижения шумов АЦП). Эти режимы часто называют одним словом «спящий» режим. Каждый из этих режимов позволяет значительно сократить энергопотребление в периоды бездействия микроконтроллера. Вход в этот режим выполняется по команде SLEEP. При выходе микроконтроллера из «спящего» режима производится его реинициализация (сброс в исходное состояние и просто сброс).
Разумеется, сброс микроконтроллера может произойти не только при его «пробуждении». Другими событиями, при которых осуществляется сброс микроконтроллера, являются подача напряжения питания, снижение напряжения питания ниже минимально допустимого уровня, срабатывание сторожевого таймера, появление на выводе RESET - сигнала низкого уровня. [4, c. 22]
В качестве источников прерывания в микроконтроллерах семейства AVR могут выступать периферийные устройства, а также сигналы на некоторых выводах (входы внешних прерываний). Так как состав периферийных устройств зависит от модели, то и число источников прерываний в каждой модели различно.
3. Разработка устройства со световыми эффектами на базе микроконтроллера ATTINY12
3.1 Структурная блок-схема микроконтроллеров ATtiny12/12L/12V
Структурная блок-схема микроконтроллеров ATtiny12/12L/12V показана на рис. 3. [1, c. 21]
Рисунок 3 - Структурная блок-схема микроконтроллеров ATtiny12/12L/12V
3.2 Структурная схема световых эффектов
Схема состоит из микроконтроллера ATtiny12 семейства AVR, дешифратора двоично-десятичного кода в десятичный, десяти светодиодов и резисторов ограничителей тока.
Структурная схема световых эффектов приведена на рис. 4.
Рисунок 4 - Структурная схема световых эффектов
Отличительной особенностью микроконтроллера tiny12 является встроенный АЦП с четырьмя коммутируемыми входами. Макет позволяет наглядно изучить свойства АЦП, работу портов ввода-вывода, вместить в небольшую память МК различные подпрограммы, поэкспериментировать с динамическим режимом работы светодиодов. [7]
3.3 Монтажная плата
Новшеством является использование резисторов R12, R13 и конденсатора СЗ. С помощью резистора R12 на входе АЦП 3 (альтернативная функция вывода РВ4) можно установить напряжение от 0 до 5 В. (для несимметричных входов диапазон входных напряжений составляет шину питания - Vcc). Конденсатор СЗ позволяет сгладить всплески напряжения при изменении регулятора R12. Тем самым АЦП преобразует интегрированное значение напряжения на входе. Для ограничения тока на вход АЦП установлен резистор R13. Для более эффективного сброса микроконтроллера в схеме установлена цепочка Rll, С2. Дешифратор VI управляет непосредственно светодиодами. [6]
3.4 Алгоритм работы системы
Алгоритм работы системы световых эффектов представлен на рис. 6.
Рисунок 6 - Алгоритм работы системы
3.5 Описание алгоритма работы системы
При включении питания все параметры обнуляются. В начале программы опрашиваются выводы порта В микроконтроллера, после чего АЦП считывает введенную константу для задержки включения. Последовательно выполняются подпрограммы задержки включения и выбора светового эффекта и светодиода, а затем происходит возврат в начало программы с обнулением параметров.
Работа АЦП микроконтроллера ATtiny12 отличается от правил, установленных более развитых моделей семейства AVR. На первом этапе необходимо выполнить коммутацию аналогового входа АЦП с помощью встроенного аналогового мультиплексора. Для этого в разрядах 0-2 регистра ADMUX устанавливается соответствующая комбинация нулей и единиц. Кроме того, необходимо установить источник опорного напряжения с помощью разрядов 6и 7 регистра ADMUX.
На втором этапе с помощью разрядов 0-2 регистра ADCSR задается тактовая частота АЦП путем деления тактовой частоты микроконтроллера. Затем разрешается работа АЦП, выбирается режим его работы.
(в данном случае - одиночное преобразование), и активизируется преобразование.
По завершении преобразования, которое длится 25 тактов АЦП, данные записываются в регистры ADCL и ADCH. Чтение этих регистров выполняют в строгой последовательности: вначале ADCL, затем ADCH.
В таком виде считывания данных АЦП программа работает нестабильно из-за наводок и шумов от питающей сети (переключение светодиодов происходит хаотически, с разной скоростью). Во время чтения АЦП автор не использовал «спящего» режима, поскольку эксперименты показали, что это необязательно.
Подпрограмма задержки выполнена в виде трех вложенных циклов (их количество определяется числом, считанным из АЦП). На данном этапе можно изменить программу и использовать встроенный в микроконтроллер таймер
При этом работа АЦП будет более наглядно проявляться паузами между моментами включения светодиодов (в представленной программе не реализовано).
Подпрограмма опроса реализована с применением команды загрузки данных из памяти программ LPM. При этом данные сохраняются в регистре R0. Считанные данные поступают в порт В на выводы PB0-PB3. Двоичный код с порта В микроконтроллера поступает на двоично-десятичный дешифратор VI. Он преобразует двоичный код в единичный сигнал (активный уровень - нулевой) на одном из выводов.
Первый световой эффект - бегущая единица, второй - поочередное мигание светодиодов по кругу, третий - чередующееся последовательное мерцание с реверсом по одному (таблица 2). [8]
В памяти программ микроконтроллера осталось еще много свободного места, поэтому можно придумать дополнительные световые эффекты.
Таблица 2 - Порядок размещения светодиодов по часовой стрелке
Светодиоды |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Порт В, двоичный код |
Шестна-дцатерич-ные коды прошивки порта В |
||
Программа |
Шаг |
|||||||||||||
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0010 |
02 |
|
1 |
2 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1000 |
08 |
|
1 |
3 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0111 |
07 |
|
1 |
4 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0110 |
06 |
|
1 |
5 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0011 |
03 |
|
1 |
6 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0001 |
01 |
|
1 |
7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0000 |
00 |
|
1 |
8 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0101 |
05 |
|
1 |
9 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0100 |
04 |
|
1 |
10 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1001 |
09 |
|
2 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1000 |
08 |
|
2 |
2 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0100 |
04 |
|
2 |
3 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0111 |
07 |
|
2 |
4 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0101 |
05 |
|
2 |
5 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0110 |
06 |
|
2 |
6 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0000 |
00 |
|
2 |
7 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0011 |
03 |
|
2 |
8 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0001 |
01 |
|
2 |
9 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0110 |
06 |
|
2 |
10 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0000 |
00 |
|
2 |
11 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0111 |
07 |
|
2 |
12 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0101 |
05 |
|
2 |
13 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1000 |
08 |
|
2 |
14 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0100 |
04 |
|
2 |
15 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0010 |
02 |
|
2 |
16 |
1 |
0 |
о |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1001 |
09 |
|
3 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0010 |
02 |
|
3 |
2 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0100 |
04 |
|
3 |
3 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1001 |
09 |
|
3 |
4 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0101 |
05 |
|
3 |
5 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0100 |
04 |
|
3 |
6 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0000 |
00 |
|
3 |
7 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0101 |
05 |
|
3 |
8 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0001 |
01 |
|
3 |
9 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0000 |
00 |
|
3 |
10 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0011 |
03 |
|
3 |
11 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0001 |
01 |
|
3 |
12 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0110 |
06 |
|
3 |
13 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0011 |
03 |
|
3 |
14 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0111 |
07 |
|
3 |
15 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0110 |
06 |
|
3 |
16 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1000 |
08 |
|
3 |
17 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0111 |
07 |
|
3 |
18 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0010 |
02 |
3.6 Разработка принципиальной схемы устройства и ее описание
Напряжение, полученное на регуляторе переменного резистора, преобразуется АЦП в цифровой код. Управление светодиодами реализовано с помощью программы со скоростью, пропорциональной преобразованному АЦП напряжению. Цифровой код устанавливается как временные промежутки между моментами включениями светодиодов. Для расширения количества выводов микроконтроллера используется дешифратор.
Принципиальная схема устройства показана на рис. 7.
Рисунок 7 - Принципиальная схема устройства
Микроконтроллер выбран с тактовой внутренней частотой 1,6 МГц. При использовании микроконтроллера с другой тактовой частотой частота световых эффектов изменится. При использовании частоты выше 25 МГц световые эффекты становятся динамическими, с включением всех светодиодов. Если в динамическом режиме чаще включать одни и те же светодиоды, то они будут светиться постоянного, в то время как остальные будут мигать. При достижении определенной динамической частоты все световые эффекты сольются в постоянное свечение (это происходит на уровне примерно 1,5 В на выводе 2 микроконтроллера). [5]
3.7 Пример устройства со световыми эффектами
Новогодняя полупрозрачная игрушка в виде шара разрезается пополам (надрезается алмазным стеклорезом и аккуратно смещается), после чего в соответствии с площадью разрезанной полусферы изготавливается плата. На плате размещаются светодиоды рис. 8, регулируется скорость световых эффектов, и через хвостовое отверстие продевается провод для подачи питания 5 В. [2, c. 63]
Рисунок 8 - Плата управления световыми эффектами
Наиболее впечатляющего эффекта можно достичь, применив яркие светодиоды (особенно разместив их в горизонтальной плоскости). Полусферы игрушки склеиваются по краям (эпоксидным клеем или силиконовым герметиком), и готовая игрушка крепиться на елку. Провод аккуратно протягивается к источнику питания.
Если хорошо пофантазировать, то детские игрушки можно превратить в промышленные изделия. Достаточно вместо светодиодов установить полупроводниковые реле, которые будут коммутировать исполнительные устройства: электро - пневмоклапаны, двигатели, нагреватели, соленоидные защелки и т.д. В результате программу управления светодиодами можно превратить в программу управления роботизированным комплексом, автоматизированной линией.
Программу можно ввести программатором STK200. Вместо микросхемы 74НС42 можно использовать К155ИД6, К155ИД10. Переменный резистор R12 желательно выбирать с возможностью точной регулировки от 0,19 до 0,9 В. Один из вариантов точной настройки - подобрать резистор номиналом 150..360 кОм, и впаять его между верхним выводом R12 и питанием +5 В.
Равномерное, нормальное, видимое переключение светодиодов происходит примерно на уровне 0,3 В на выводе 2 микроконтроллера. Если светодиоды светятся с разной яркостью, то к выводам 8 и 16 микросхемы дешифратора (выводы питания) необходимо припаять конденсатор на 22 мкФ, 16 В с учетом полярности конденсатора и выводов микросхемы. [2, c. 64]
Себестоимость устройства составляет около $10 при покупке исправных радиодеталей. Схема включается сразу же при подаче питания.
Пример использования устройства показан на рис. 9.
Рисунок 9 - Пример использования устройства
Заключение
В данном курсовом проекте был разработан проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel.
В ходе проектирования были разработаны: описание объекта, структурная и принципиальная схема, алгоритм работы системы, пример устройства со световыми эффектами и текст программы на языке ассемблера для микроконтроллерной системы.
Список использованных источников
1 Евстифеев, А.В. Микроконтроллеры AVR семейств ATtiny и Mega фирмы ATMEL, 5-е изд., стер.-М.: Издательский дом «Додэка-XXI», 2008. - 560 с.
2 Кравченко, А.В. 10 практических устройств на AVR микроконтроллерах. Книга 1. - М.: Издательский дом «Додэка - XXI, К. «МК - Пресс», 2008. - 224 с., ил.
3 Кузин, А.В. Микропроцессорная техника. М.: ИЦ Академия, 2008. - 304 с.
4 Микроконтроллеры AVR семейства Classic фирмы ATMEL - 2-е изд., стер. - М.: Издательский дом «Додэка - XXI», 2004. - 288 с., с ил.
5 Микроконтроллеры - http://smps.h18.ru.
6 Примеры устройств - http://remolom2.narod.ru.
7 Радиосхемы - http://chip.webservis.ru.
8 Устройства на микроконтроллерах - http://www.pic16f84.narod.ru.
Приложение
Программа управления световыми эффектами
list
def tmp = r16 - используем регистр, начиная с 16
def tmp2 = r17 - переменная общего пользования
def tmp3 = r18 - переменная общего пользования
def tempo = r19 - определение рабочих регистров
def pir= r22
def pur= r23
def par= r20
def Y= r29 - r29 называется регистром Y
def X= r21 - r21 называется регистром X
def M= r26 - r26 называется регистром M
def adr= r0
def prg1= r24
def prg2= r25
cseg
org 0
rjmp RESET
nop ; rjmp EXT-INT0 прерывание не используется
nop ; rjmp EXT-PIN прерывание не используется
nop ; rjmp TIME-OVF0 прерывание от таймера
nop ; rjmp EE-RDY прерывание от таймера
nop ; rjmp ANA-COMP прерывание не используется
org 20; настройка порта В
RESET: nop
clr tmp
out DDRB, tmp
out PORTB, tmp; обнулить порт В
clr tmp
ldi tmp, $0F; PB0, PB1, РВ2, РВ3-выходы
out DDRB, tmp; выход из DDRB
Начало программы
сlr pir
clr pur
clr prg1
clr prg2
clr adr
nStart: nop;
Cброс всех значений
rcall adcn
nop
rcall zader
nop
rcall opros
nop
rjmp nStart;
Настройка АЦП, начало программы
adcn: nop
nop
clr tmp
awe: nop
cpi tmp, $04
brsh ass
clr tmp3
ldi tmp3, $83; внутренний источник, вход ADC3
out ADMUX, tmp3; коммутация входов АЦП
clr tmp2
clr tmp3
ldi tmp2, $C4; одиночное, запуск, 1/16
out ADCSR, tmp2; запуск АЦП на преобразование;
Сохранение данных АЦП
in tmp2, ADCL
in tmp3, ADCH
mov r2, tmp2
mov r3, tmp3
mov r4, r2
mov r5, r3
mov r6, r4
mov r7, r5
inc tmp
rjmp awe
ass: nop
clr r8
clc
add tmp2, r2
adc r9, r8
add tmp2, r4
adc r9, r8
add tmp2, r6
adc r9, r8
clc
lsr r9
ror tmp2
lsr r9
ror tmp2
clr r9
clc
add tmp3, r3
adc r9, r8
add tmp3, r5
adc r9, r8
add tmp3, r7
adc r9, r8
clc
lsr r9
ror tmp3
lsr r9
ror tmp3
nop
ret;
Подпрограмма задержки включения светодиодов
Zader: nop
wdr
clr M
clr Y
ldi Y, $AF
cpi tmp3, $00
brne goo
ldi M, $01
add M, tmp3
nop
goo: nop
mov M, tmp3
dm: nop
cpi tmp2, $00
brne goq
ldi X, $01
add X, tmp2
nop
goq: nop
mov X, tmp2
dv: nop
wdr
nop
dx: dec Y
brpl dx
cln
dec X
brpl dv
cln
dec M
brne dm
ret;
Подпрограмма опроса светодиодов
opros: nop
cpi pir, $0B
breq prn2
ldi ZH, high (2*prog1)
ldi ZL, Low (2*prog1)
Add ZL, pir
LPM
mov prg1, adr
out PORTB, prg1
inc pir
rjmp got
prn2: nop
cpi pur, $11
breq prn3
ldi ZH, high (2*prog2)
ldi ZL, Low (2*prog2)
Add ZL, pur
LPM
mov prg2, adr
out PORTB, prg2
inc pur
rjmp got
prn3: nop
cpi par, $13
breq nasv
ldi ZH, high (2*prog3)
ldi ZL, Low (2*prog3)
Add ZL, par
LPM
mov prg2, adr
out PORTB, prg2
inc par
rjmp got
nasv: nop
clr pir
clr pur
clr par
clr adr
clr prg1
clr prg2
got: nop
ret
Ресурсы
org $100
prog1:
DB $02, $08, $07, $06, $03, $01, $00, $05
DB $04, $09
prog2:
DB $08, $04, $07, $05, $06, $00, $03, $01
DB $06, $00, $07, $05, $08, $04, $02, $09
prog3:
DB $02, $04, $09, $05, $04, $00, $05, $01
DB $00, $03, $01, $06, $03, $07, $06, $08
DB $07, $02
EXIT.
Размещено на Allbest.ru
Подобные документы
Структурная схема устройства управления. Алгоритм работы микроконтроллера в его составе. Строение центрального процессорного элемента – микроконтроллера AVR семейства Classic. Принципиальная схема устройства, расчет временных параметров ее работы.
курсовая работа [636,5 K], добавлен 03.12.2013Микроконтроллер ATtiny2313/V фирмы Atmel: структура, основные характеристики, возможности. Центральное ядро процессора. Системная перепрограммируемая Flash-память программ. Порты ввода-вывода микроконтроллера. Блок-схема восьмиразрядного таймера/счётчика.
курсовая работа [2,2 M], добавлен 11.01.2011Функциональная спецификация, описание объекта, структура системы и ресурсов микроконтроллера. Ассемблирование, программирование микроконтроллера и разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы.
курсовая работа [2,2 M], добавлен 02.01.2010Описание объекта и функциональная спецификация. Описание ресурсов МК: расположение выводов; исполнение микроконтроллера; особенности микроконтроллеров. Разработка алгоритмов устройства. Описание функциональных узлов МПС и алгоритма их взаимодействия.
курсовая работа [5,2 M], добавлен 27.12.2009Условия эксплуатации микропроцессорного устройства "Светодиодные фонари с электронным управлением" на базе МК ATtiny 15. Техническое описание микроконтроллера. Разработка структурной и электрической принципиальной схем, интерфейса управления и индикации.
курсовая работа [267,5 K], добавлен 01.05.2015Описание интегратора первого порядка. Обзор микроконтроллера AТmega16. Доопределение набора аппаратных средств. Схема включения микроконтроллера. Формирование тактовых импульсов. Организация сброса. Алгоритм работы и проектирование модулей устройства.
курсовая работа [1,1 M], добавлен 19.12.2010Особенности проектирования микропроцессорного устройства "Цифровой осциллограф". Выбор микроконтроллера, описание периферийных устройств. Разработка принципиальной схемы устройства и программы для микроконтроллера, осуществляющей все функции устройства.
курсовая работа [923,5 K], добавлен 24.12.2012Создание аналого-цифрового устройства для проведения лабораторных работ с использованием микроконтроллера. Разработка структурной и принципиальной схем. Выбор и описание элементной базы, используемого микроконтроллера. Программирование микроконтроллера.
дипломная работа [1,7 M], добавлен 19.07.2014Описание Автоматического Определителя Номера (АОНа). Характеристики микроконтроллера Z86E0812PSC, ЖК индикатора PANAPHONE. Ассемблирование и разработка алгоритма работы устройства. Управление АОН и описание функциональных узлов МПС, принципиальная схема.
курсовая работа [913,0 K], добавлен 26.12.2009Проектирование принципиальной схемы устройства индикации на основе 8-битного AVR микроконтроллера типа ATmega16 с питанием от источника питания на 10 V и отображением данных на графическом LCD-дисплее. Разработка программного обеспечения микроконтроллера.
курсовая работа [11,3 M], добавлен 19.12.2010