Микроконтроллер управления наружным освещением.

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Электроника
  • 8181 страница
  • 33 + 33 источника
  • Добавлена 30.12.2009
3 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ
Перечень условных обозначений и сокращений
Вступление
1. Обзор аналогов. выбор и обоснование направления исследования
1.1. Анализ методов и технологий наружного освещения с использованием светодиодов
1.2. Технические решения процесса управления декоративной светодиодной подсветкой
1.3. Постановка задач исследования
Выводы
2. Разработка структурной схемы
2.1. Принцип динамической индикации
2.2. Общие принципы построения структурной схемы
2.3. Структурная схема разрабатываемой установки
Выводы
3. Разработка принципиальной схемы
3.1. Реализация принципа динамической индикации
3.2. Варианты схемной реализации принципа динамической индикации.
3.3. Выбор и обоснование элементной базы устройства.
3.4. Принципиальная схема микроконтроллерного устройства управления наружным освещением.
Выводы
4. Разработка программного обеспечения.
4.1. Алгоритм работы проектируемого устройства
4.2. Алгоритм работы программы.
4.3. Листинг программы:
Выводы
Заключение
Список использованных источников
Приложения

Фрагмент для ознакомления

Рассмотренные выше варианты реализации составных частей проектируемого устройства обобщаем в принципиальной схеме, изображенной в приложении А.
Устройство содержит микроконтроллер ATmega128 и два параллельно включенных регистра, управляющих секторами светодиодной матрицы. Оба регистра работают по сигналам управления микроконтроллера. Управление выходным регистром, следовательно, и загрузка в него данных, осуществляется по трем сигнальным линиям последовательного интерфейса: "Данные", "Синхронизация" и "Разрешение индикации". Третья линия — вспомогательная, этот сигнал кратковременно отключает выходы ИМС всех регистров на время загрузки текущей комбинации, что исключает эффект мерцания малоинерционных светодиодов. Таким образом, матрица выносных элементов подключается к основной плате устройства (не считая экранирующих (необходимых только при длине линии более 10 м), составляющих пару каждому сигнальному проводнику) всего четырьмя проводами: "Данные", "Синхронизация", "Разрешение индикации" и "Общий".
Благодаря применению последовательного интерфейса, такое построение устройства позволяет наращивать количество световых элементов с минимальными аппаратными затратами без существенного усложнения протокола. Максимальное их число ограничено только помехоустойчивостью линии связи и нагрузочной способность источника питания.
Как сказано выше, в архитектуре устройства заложена потенциальная возможность наращивания числа световых элементов с минимальными аппаратными затратами. К примеру, чтобы удвоить число элементов, необходимо дополнительно в выходной регистр ввести еще две дополнительные микросхемы КР1565ПР6 и включить их аналогично (и последовательно), как показано на схеме электрической (прил. А). Но при этом необходимо таким образом изменить число импульсов синхронизации цикла записи/воспроизведения, чтобы в выходные регистры производилась запись не 16, а 32 бит информации.
Устройство содержит: схему запуска программы (сумеречный переключатель на операционном усилителе DA1), микроконтроллер — DD1. Регистры сдвига состоят из микросхем 155ПР6 (аналог 74184) (DD2, DD3), и выходные усилители ULN2803 (DD4, DD5) для обеспечения равномерности свечения светодиодов Такое схемотехническое решение позволяет располагать платы выходных регистров [DD2, DD3] на значительном расстоянии, как от основной платы контроллера, так и друг от друга. Для трансляции сигналов по длинной несогласованной линии, представляющей собой емкостную нагрузку, на основной плате контроллера могут использоваться мощные буферные элементы на основе триггеров Шмитта, которые для увеличения нагрузочной способности включены параллельно по два. Сборки транзисторных ключей умощняют выходы, и для невысокой яркости от них можно отказаться.
3.3.2 Принцип работы устройства. Устройство может работать в двух режимах: программирования и считывания. При включении питания автоматически устанавливается режим воспроизведения. Происходит это благодаря формированию короткого импульса на выходе сумеречного переключателя. Уровень "нуля" с его инверсного выхода (вывод 6) приводит к включению светодиода HL2. Уровень логической "единицы" с выхода воздействует на вход управления режимами работы микроконтроллера DD1 и переводит микросхему в режим "чтение".
Одновременно, в момент включения питания, отрабатывает схема сброса и устанавливает в нулевое состояние счётчики. Таким образом, на адресных входах мультиплексора устанавливаются: логическая "единица" (на входе "S0") и логический "ноль" (на входе "S1"), соответственно. Это приводит к "прохождению" на выходы мультиплексора сигналов с его соответствующих входов "A1", "B1".
Программа контроллера в главном цикле ожидает появления логической единицы (импульса), который создается при замыкании электронного ключа VT1 путем заряда конденсатора C2, после чего происходит загрузка данных. После её окончания устанавливаются значения количества индицируемых символов и текущей скорости. По спаду первого положительного импульса ВЧ-генератора, воздействующего на вход "C" счетчика, на выходе его первого (младшего) разряда (вывод 3) появится уровень логической "единицы". При этом начнется формирование выборки ОЗУ — "CS" ("Chip Select") (рис 3.16).
Это приведет к появлению на выходе микроконтроллера бита информации, записанного по адресу, задаваемому счетчиками Но поскольку они, как отмечалось выше, установлены в "нулевое" состояние, считывание первого бита данных произойдет именно по "нулевому" адресу ОЗУ DD1. Соответственно, этот бит информации появится на выходе мультиплексора и поступит на информационные входы выходных (DD2, DD 3) регистров.


Рис. 3.16 Временные диаграммы работы СДУ
Строками матрицы управляют выводы порта B и D (через буферные элементы), а сканирование столбцов осуществляется сдвиговым регистром. Управление регистрами осуществляется через порт Е (тактовые импульсы, сброс и последовательный вход D).
Микроконтроллерная СДУ построена полностью на современной элементной базе — КМОП микросхемах, обладающих высокими быстродействием и помехоустойчивостью, а также низкой потребляемой мощностью. В варианте устройства учтены особенности работы контроллера на несогласованные линии большой длины, а применение КМОП микросхем позволяет значительно упростить схемотехнические решения на передающей и приемной сторонах несогласованной длинной линии.
Применение последовательного интерфейса позволяет наращивать число элементов с минимальными аппаратными затратами без увеличения числа проводников, входящих в жгут, и располагать светодиодную матрицу на большом удалении от основной платы контроллера. В такой архитектуре заложена потенциальная возможность наращивания числа световых элементов без существенного изменения протокола последовательного интерфейса. В предлагаемом варианте устройства, реализующем независимое управление каждым световым элементом, разнообразие светодинамических эффектов не ограничено и зависит только от воображения пользователя.
Выводы
Таким образом, в результате проведенного исследования в третьем разделе работы:
Проведен анализ вариантов реализации принципа динамической индикации.
Рассмотрены варианты решения основных узлов проектируемого устройства.
Проведенный расчет основных схемных решений и элементов позволил разработать принципиальную схему проектируемого устройства.
Для организации работы устройства необходимо разработать программу управления СДУ.
4. Разработка программного обеспечения.
4.1. Алгоритм работы проектируемого устройства
При выборе микропроцессорной системы управления существенно уменьшается количество дискретных элементов. Что упрощает систему, и, следовательно, повышает ее надежность. С другой стороны отказ самого микропроцессора (само по себе это явление редкое, чаще сказываются ошибки проектирования) ведет к выходу абсолютно всей системы. В то же время появляется необходимость в управляющей программе. Каждый тип микропроцессора обладает рядом только ему присущих особенностей: архитектурой, набором команд, функциональными возможностями и так далее. Все это было принято к сведению при написании программы для спроектированной системы управления.
Разработанное устройство работает по следующему алгоритму (рис. 4.1):

Рис. 4.1. Алгоритм работы устройства
При снижении уровня освещенности ниже установленного значения срабатывает сумеречный переключатель и осуществляется запуск СДУ. При этом программа контроллера в главном цикле ожидает появления символа "S", после чего происходит загрузка данных. После её окончания считываются значения количества переданных символов и текущей скорости. Далее считываются первые регистры, и им тут же присваиваются данные из кодовой таблицы. Знакоместо организовано из столбцов матрицы, при длине строки 16 вмещается 16 символов. После этого программа считанные из кодовой таблицы данные, последовательно загружает в регистры сдвига, включает ключ первой строки, выдерживает необходимую паузу, выключает ключ, следующая порция данных, следующий ключ и т.д., пока не пройдут все восемь строк. Сдвигается ряд, и вновь заносятся данные в регистры, причём если в первом случае выводились значения столбцов с 1 по 48, то здесь выводятся со 2 по 49. Затем с 3 по 50 и наконец с 9 по 56. В результате изображение сдвигается на одно знакоместо. Теперь необходимо сдвинуть изображение на один символ, и считать символы со второго по восьмой. Далее процедура повторяется по кольцу. Благодаря динамической развёртке, изображение перемещается очень плавно, как бы едет на колёсиках, нет никакого утолщения. Через установленное время, определяемое программированием таймера, происходит замена программы изображения и визуально изображение начинает двигаться в противоположном направлении.
4.2. Алгоритм работы программы.
Используя особенность микропроцессора работать с отдельными битами (булев процессор) данное задание можно выполнить напрямую запрограммировав все состояния и условия переходов.
Для создания эффекта «бегущих огней» удобнее всего воспользоваться операторами сдвига [17], которые имеются в системе команд любого микроконтроллера. Такие операторы сдвигают содержимое одного из регистров микроконтроллера на один разряд влево или вправо. Если сдвигать содержимое регистра и после каждого сдвига выводить новое содержимое в порт РВ, подключенные к нему светодиоды будут загораться поочередно, имитируя бегущий огонь. Алгоритм работы бегущих огней может быть разный. Один из возможных алгоритмов в самых общих чертах будет выглядеть следующим образом:
1. Считать состояние переключателя управления;
2. Если контакты переключателя разомкнуты, перейти к процедуре сдвига вправо;
3. Если контакты замкнуты, перейти к процедуре сдвига влево;
4. После окончания полного цикла сдвига (восемь последовательных сдвигов) перейти к началу алгоритма, то есть к пункту 1.
Таким образом, все время, пока контакты переключателя разомкнуты, программа будет выполнять сдвиг вправо. Если состояние переключателя не изменилось, сдвиг в прежнем направлении продолжается. Если замкнуть контакты переключателя, то все время, пока они замкнуты, будет выполняться сдвиг влево. Как при сдвиге вправо, так и при сдвиге влево после каждого полного цикла сдвига (8 шагов) происходит проверка переключателя. Если его состояние не такое же, как и прежде, то направление сдвига не изменяется. В противном случае программа меняет направление сдвига.
Рассмотрим теперь, как выполняется сам алгоритм сдвига. Сдвиг влево и сдвиг вправо выполняются аналогично. Ниже приводится обобщенный алгоритм для сдвига влево и сдвига вправо, снабженный комментариями.
1. Записать в рабочий регистр начальное значение. В качестве начального значения используется двоичное число, у которого один из разрядов равен единице, а остальные разряды равны нулю. Для сдвига вправо нам нужно число с единицей в самом старшем разряде (0b10000000). Для сдвига влево в единицу устанавливается Младший разряд (0b10000001).
2. Вывести значение рабочего регистра в порт РВ.
3. Вызвать подпрограмму задержки. Задержка нужна для того, чтобы скорость «бега» огней была нормальная для глаз наблюдателя. Если бы не было задержки, то скорость «бега» была бы столь велика, что мы бы и не увидели движения огней. С точки зрения наблюдателя мерцание огней выглядело бы как слабое свечение всех светодиодов.
4. Сдвинуть содержимое рабочего регистра вправо (влево) на один разряд.
5. Проверить, не окончился ли полный цикл сдвига (8 шагов).
6. Если полный цикл сдвига не закончен, перейти к пункту 2 данного алгоритма. Это приведет к тому, что пункты 2,3,4,5 и 6 повторятся 8 раз, и лишь затем завершится полный цикл сдвига.
Для облегчения программирования изображений возможно применение шаблона (приложение Б)
4.3. Листинг программы:
Возможный фрагмент листинга программы [17] приведен ниже (рис. 4.2). Полностью программа приведена в приложении В.
Модуль инициализации программы занимает строки 1—19.
В строке 20 начинается основной цикл программы. И начинается он с чтения содержимого порта PD. Результат помещается в регистр temp. В строке 21 происходит оценка младшего разряда прочитанного числа. Если этот разряд равен единице, то оператор безусловного перехода в строке 22 пропускается, и программа переходит к выполнению процедуры сдвига вправо (начало процедуры — строка 23). Если младший разряд считанного из PD числа равен нулю, то оператор rjmp в строке 22 передает управление по метке mЗ, и программа переходит к процедуре сдвига влево (начало процедуры — строка 31). Процедура «сдвиг вправо» работает следующим образом. В строке 23 рабочему регистру rab присваивается начальное значение. Для наглядности это число записано в двоичном формате. Затем начинается цикл сдвига (строки 24—30). Первой операцией цикла сдвига, в соответствии с алгоритмом, должна быть операция вывода содержимого регистра rab в порт РВ. Однако существует одно небольшое препятствие.

Рис. 4.3 Фрагмент листинга программы реализации бегущей строки
Если просто вывести содержимое rab в порт РВ, то мы получим картину, обратную той, которая нам необходима. Все светодиоды, кроме одного, будут светиться. Это произойдет потому, что ноль на выходе порта зажигает светодиод, а единица тушит. Если мы хотим получить бегущий огонь, а не бегущую тень, нам нужно проинвертировать содержимое регистра rab перед тем, как вывести в порт РВ.
Для инвертирования содержимого регистра rab воспользуемся командой еог («Исключающее ИЛИ»). Операция «Исключающее ИЛИ» обладает способностью инвертирования чисел. Если вы вернетесь назад и посмотрите на таблицу истинности операции «Исключающее ИЛИ» (рис. 1.8), то вы можете заметить эту особенность.
Поэтому, если произвести операцию «Исключающее ИЛИ» между двумя байтами, значение одного из которых будет равно OxFF, то в результате этой операции мы получим инверсное значение второго байта. Для выполнения такой операции используется вспомогательный регистр temp. В строке 24 в регистр temp записывается число OxFF. В строке 25 производится операция «Исключающее ИЛИ» между содержимым регистров temp и rab.
Результат этой операции помещается в temp, так как именно он является первым параметром данной команды. Содержимое регистра rab при этом не изменяется. В строке 26 содержимое регистра temp выводится в порт РВ.
Следующий этап процедуры сдвига — вызов подпрограммы задержки. Вызов этой подпрограммы происходит в строке 27. В строке 28 производится сдвиг содержимого регистра rab на один бит вправо. В строке 29 оператор brcc проверяет состояние признака переноса. Эта проверка позволяет обнаружить момент, когда закончится полный цикл сдвига. Как это происходит, иллюстрирует табл. 4.1.
В таблице показаны значения всех разрядов вспомогательного регистра rab для каждого из восьми шагов, составляющих полный цикл сдвига. Разряды сдвигаемого регистра обозначены как Ь7—ЬО. Последний столбец показывает содержимое признака переноса. Как видно из таблицы, единица, которая в начале находится в самом старшем разряде, при каждом очередном шаге сдвигается в соседнюю позицию.
Таблица 4.1
Сдвиг информации в рабочем регистре
Шаг b7 b6 b5 b4 b3 b2 b1 b0 C 1 1 0 0 0 0 0 0 0 0 2 0 1 0 0 0 0 0 0 0 3 0 0 1 0 0 0 0 0 0 4 0 0 0 1 0 0 0 0 0 5 0 0 0 0 1 0 0 0 0 6 0 0 0 0 0 1 0 0 0 7 0 0 0 0 0 0 1 0 0 8 0 0 0 0 0 0 0 1 0 9 0 0 0 0 0 0 0 0 1
В результате, после восьмого шага она оказывается в ячейке признака переноса. Пока С равно нулю, оператор brcc в строке 29 передает управление по метке т2, и цикл сдвига продолжается. После восьмого шага признак переноса С станет равен единице. Поэтому перехода на начало цикла в строке 29 не произойдет, и управление перейдет к строке 30. В результате очередного девятого цикла сдвига не произойдет. Оператор безусловного перехода в строке 30 передаст управление на начало основного цикла, и программа снова приступит к проверке состояния кнопки.
Выводы
Таким образом, в четвертом разделе работы:
Определен алгоритм работы микроконтроллерного устройства управления установкой динамической индикации.
Рассмотрен алгоритм работы программы микроконтроллера проектируемого устройства.
Разработан вариант программы управления СДУ для обеспечения вывода и перемещения выбранного изображения.
Заключение
В дипломной работе решена задача по разработке микроконтроллерного устройства управления наружным освещением. Основные результаты проведенного исследования возможно сформулировать следующим образом:
Проведен обзор устройств, реализующих аналогичный принцип построения системы управления декоративной светодиодной подсветкой, который показал, что наиболее технически оптимальным есть микроконтроллерный способ управления.
Разработаны и приняты варианты изображений для реализации динамичности работы устройства.
Проведен анализ принципа реализации динамической индикации.
Рассмотрены основные принципы построения структурных схем.
Разработаны структурная, функциональная и принципиальная схемы проектируемого устройства.
Проведен анализ вариантов реализации принципа динамической индикации.
Рассмотрены варианты решения основных узлов проектируемого устройства.
Определен алгоритм работы микроконтроллерного устройства управления установкой динамической индикации.
Разработан вариант программы управления СДУ для обеспечения вывода и перемещения выбранного изображения.



Список использованных источников
302 новые профессиональные схемы: Пер. с нем. – СПб.: БХВ-Петербург, 2009. – 480с.
Алейников А.Ф., Гридчин В.А., Цапенко М.П. Датчики (перспективные направления развития): Учеб.пособие / Под ред. проф. М.П. Цапенко. – Новосибирск: Изд-во НГТУ, 2001. – 176 с.
Балахничев И.Н. и др. Экспериментальная электроника. Вып. 2/ И.Н. Балахичев, А.В. Дрик, А.А. Ровдо. – М.: Солон-Р, 200 – 128 с.
Баранов В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. – М.: Издательский дом Додэка-XXI, 2004. – 288 с. – (Серия «Мировая электроника»)
Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики – М.: издательство ЭКОМ, 2002 – 400 с.
Брякин А. Звездное небо на микроконтроллере PIC18F2525 // Схемотехника – 2007 - №6 – с. 36-38
Вальпа О.Д. Полезные схемы с применением микроконтроллеров и ПЛИС. – М.:, Издательский дом Додэка-XXI, 2006. – 416 с. – (Серия «Программируемые системы»)
Голубцов М.С. Микроконтроллеры AVR: от простого к сложному/ М.С. Голубцов – М.: СОЛОН-Пресс, 2003 – 288 с.
Евстифеев А.В. Микроконтроллеры AVR семейства Classic фирмы ATMEL – 3-е изд., стер. – М.:, Издательский дом Додэка-XXI, 2006. – 288 с.
Зельдин Е.А. Цифровые интегральные микросхемы в информационно-измерительной аппаратуре. – Л.: Энергоатомиздат, 1986 – 288 с.
Коваль А. Автомат световых эффектов на ППЗУ. В помощь радиолюбителю. – М.: Патриот, 1990 вып. 108, с. 3-9
Коффрон Дж. Технические средства микропроцессорных систем: Практический курс. Пер. с англ. – М.: Мир, 1983. – 344 с.
Кравченко А.В. Шар со световым эффектом для елки // Радиоаматор – 2006 - №1 – с. 26
Одинец А.Л. Программируемое светодинамическое устройство с последовательным интерфейсом // Радиоаматор. – 2003. - № 11 – с. 26
Основы микропроцессорной техники. /Новиков Ю.В., Скоробогатов П.К. – М:ИНТУИТ.РУ «Интернет-Университет Информационных технологий», 2003. – 440 с.
Предко М. Справочник по PIC – контроллерам. Пер. с англ. – М.: ДМК Пресс, 2002. – 512 с.
Программирование на языке С для AVR и PIC контроллеров./ Сост. Ю.А. Шпак – К.: МК-Пресс, 2006. – 400 с.
Рубашка В. Световое табло, управляемое компьютером // Радио. – 2005. - № 2 – с. 39-42, №3 – с. 35-38.
Справочная книга по светотехнике / Под ред. Ю.Б. Айзберга. 3-е изд. перераб. и доп. – М.: Знак. – 2006, 972 с.
Сташин В.В. и др. Проектирование цифровых устройств на однокристальных микроконтроллерах/ В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева. - М.: Энергоатомиздат, 1990. - 224 с.
Тавернье К. PIC – микроконтроллеры. Практика применеия: Пер. с фр. – М.: ДМК Пресс, 2003 – 272 с.
Трамперт В. Измерение, управление и регулирование с помощью AVR – микроконтроллеров.: Пер. с нем. – К.: МК-Пресс, 2006. – 208 с.
Ульрих В.А. Микроконтроллеры PIC16C7X.Семейство восьмиразрядных КМОП микроконтроллеров с аналого-цифровым преобразователем.-СПб.: Наука и техника, 2000.- 253 с.
Шашлов А.Б. Основы светотехники / А.Б. Шашлов, Р.М. Уарова, А.В. Чуркин. – М.: изд. МГУП, 2002 – 274 с.
Datasheet ATmega128 8-bit AVR Microcontroller with 128 K Bytes In-System Programmable Flash
MPLAB IDE: Интегрированная среда разработки для микроконтроллеров PICmicro компании Microchip Technology Incorporated. - http://www.microchip.ru, 2001 - 156 c.
MPMASM: Руководство пользователя. http://www.microchip.ru, 2000
PIC16F87x: Однокристальные 8-миразрядные FLASH CMOS микроконтроллеры компании Microchip Technology Incorporated. – http://www.microchip.ru, 2002 – 184 с.
http://www.radioradar.net
http://www.e-neon.ru
http://dynamic-lights.narod.ru
http://www.wplus.net/pp/infor/led_screen.htm
http://www.ledart.ru















Приложения




Приложение В
Листинг программы
'**************************************************************************
'* Filename : Runstring 8x16 led for ATMEGA128 *
'* Revision : 1.0 *
'* Controller : ATMEGA128 *
'* Compiler : BASCOM-AVR 1.11.9.0 *
'**************************************************************************
'------------------------------------------------------------------------------
$regfile = "m8def.dat" ' ATMEGA128
$crystal = 11059200 '
$baud = 9600 '
'------------------------------------------------------------------------------
Dim Simb(7) As Word 'выводимые символы
Dim Y As Word 'рабочая переменная
Dim Index As Word 'Переменная - счётчик загрузки данных
Dim Maxsimb As Word 'Максимальное количество символов в строке
Dim X(56) As Byte 'данные из Asciitable выводимых символов
Dim Rrr As Byte 'рабочая переменная
Dim Aaa As Byte 'рабочая переменная
Dim Zzz As Byte 'рабочая переменная
Dim S(7) As Byte 'рабочая переменная выводимых символов
Dim M1 As Byte '1байта длины выводимых символов
Dim M2 As Byte '2байта длины выводимых символов
Dim Sdvig_ryada As Byte 'Переменная сдвига ряда
Dim Stroka As Byte 'переменная выводимой строки
Dim Speed As Byte 'Скорость вывода строки
Dim Stroka_invert As Byte 'Обратная переменная вывода строки
Dim Pattern As Byte 'переменная для выборки бита из байта данных
Dim Dannye As Byte 'данные в регистр сдвига
Dim Temp As Byte 'рабочая переменная загрузки данных
Dim Base As Byte 'условие приёма данных для загрузки в eeprom
Dim Eepdata As Byte 'полученные данные для загрузки в eeprom
'------------------------------------------------------------------------------
Config Portb = Output 'ключи строки
Config Portd.6 = Output 'ключ строки
Config Portd.7 = Output 'ключ строки
Config Portc = Output 'дата и синхро на регистры сдвига
Portc.5 = 1 'сброс регистра
'****************************************************************************
Gosub Initializaziya
'****************************************************************************
Do 'начало цикла

Base = Inkey()
If Base = "S" Then 'При появлении на RS232 символа "S"
Gosub Download 'переход в режим приёма данных
End If

Gosub Video
Incr Sdvig_ryada 'сдвиг данных каждого ряда строки
If Sdvig_ryada = 8 Then
Sdvig_ryada = 0
Gosub Sdvigsimbol 'сдвиг символа
End If

Loop 'конец цикла
'****************************************************************************
Download: 'загрузка данных через RS232
Portb = 255
Portd = 254
For Index = 0 To 511
Temp = Waitkey()
If Temp > "9" Then
Temp = Temp - 7
End If
Shift Temp , Left , 4
Eepdata = Temp And &HF0
Temp = Waitkey()
If Temp > "9" Then
Temp = Temp - 7
End If
Temp = Temp And &HF
Eepdata = Eepdata Or Temp
Writeeeprom Eepdata , Index
Next Index
Gosub Initializaziya
Return
'------------------------------------------------------------------------------
Initializaziya: 'инициализация системы
Simb(1) = 3
Simb(2) = 4
Simb(3) = 5
Simb(4) = 6
Simb(5) = 7
Simb(6) = 8
Simb(7) = 9
Sdvig_ryada = 0
Readeeprom M1 , 0 'чтение 1байта длины выводимых символов
Readeeprom M2 , 1 'чтение 2байта длины выводимых символов
Maxsimb = M1 + M2 'подсчёт длины выводимых символов
Maxsimb = Maxsimb + 3
Readeeprom Speed , 2 'чтение скорости
Gosub Reedeeprom
Return
'------------------------------------------------------------------------------
Reedeeprom: 'чтение данных из eeprom
Readeeprom S(1) , Simb(1)
Y = S(1) * 8
For Zzz = 1 To 8
X(zzz) = Lookup(y , Asciitable)
Incr Y
Next Zzz

Readeeprom S(2) , Simb(2)
Y = S(2) * 8
For Zzz = 9 To 16
X(zzz) = Lookup(y , Asciitable)
Incr Y
Next Zzz

Readeeprom S(3) , Simb(3)
Y = S(3) * 8
For Zzz = 17 To 24
X(zzz) = Lookup(y , Asciitable)
Incr Y
Next Zzz

Readeeprom S(4) , Simb(4)
Y = S(4) * 8
For Zzz = 25 To 32
X(zzz) = Lookup(y , Asciitable)
Incr Y
Next Zzz

Readeeprom S(5) , Simb(5)
Y = S(5) * 8
For Zzz = 33 To 40
X(zzz) = Lookup(y , Asciitable)
Incr Y
Next Zzz

Readeeprom S(6) , Simb(6)
Y = S(6) * 8
For Zzz = 41 To 48
X(zzz) = Lookup(y , Asciitable)
Incr Y
Next Zzz

Readeeprom S(7) , Simb(7)
Y = S(7) * 8
For Zzz = 49 To 56
X(zzz) = Lookup(y , Asciitable)
Incr Y
Next Zzz

Return
'------------------------------------------------------------------------------
Sdvigsimbol: 'сдвиг символов
For Rrr = 1 To 7
Incr Simb(rrr)
If Simb(rrr) = Maxsimb Then Simb(rrr) = 3
Gosub Reedeeprom
Next Rrr
Return
'------------------------------------------------------------------------------
Video: 'реализация функции сдвига данных каждого ряда строки

For Stroka = 0 To 7
Stroka_invert = 7 - Stroka

If Sdvig_ryada = 0 Then
For Aaa = 1 To 49
Pattern = X(aaa)
Gosub Work
Next
End If

If Sdvig_ryada = 1 Then
For Aaa = 2 To 50
Pattern = X(aaa)
Gosub Work
Next
End If

If Sdvig_ryada = 2 Then
For Aaa = 3 To 51
Pattern = X(aaa)
Gosub Work
Next
End If

If Sdvig_ryada = 3 Then
For Aaa = 4 To 52
Pattern = X(aaa)
Gosub Work
Next
End If

If Sdvig_ryada = 4 Then
For Aaa = 5 To 53
Pattern = X(aaa)
Gosub Work
Next
End If

If Sdvig_ryada = 5 Then
For Aaa = 6 To 54
Pattern = X(aaa)
Gosub Work
Next
End If

If Sdvig_ryada = 6 Then
For Aaa = 7 To 55
Pattern = X(aaa)
Gosub Work
Next
End If

If Sdvig_ryada = 7 Then
For Aaa = 8 To 56
Pattern = X(aaa)
Gosub Work
Next
End If

'включение транзисторного ключа необходимой строки
If Stroka = 0 Then Portb = 254
If Stroka = 1 Then Portb = 253
If Stroka = 2 Then Portb = 251
If Stroka = 3 Then Portb = 247
If Stroka = 4 Then Portb = 239
If Stroka = 5 Then Portb = 223
If Stroka = 6 Then Portd = 190
If Stroka = 7 Then Portd = 126
'выбор длительности задержки в зависимости от загруженной скорости
If Speed = 1 Then Waitus 1491
If Speed = 2 Then Waitus 1715
If Speed = 3 Then Waitus 1972
If Speed = 4 Then Waitus 2268
If Speed = 5 Then Waitus 2608
If Speed = 6 Then Waitus 3000

Portb = 255 'выключаем ключи строк
Portd = 254

Next Stroka
Return
'------------------------------------------------------------------------------
Work: 'вывод данных в регистры сдвига
Dannye = Pattern.stroka_invert
Portc.2 = 0
Portc.3 = Dannye
Portc.2 = 1
Return
'****************************************************************************
Asciitable: 'таблица символов
' 0
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 1
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 2
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 3
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 4
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 5
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 6
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 7
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 8
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 9
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 10
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 11
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
' 12
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000












2








Приложение Б


Рис.А1 Принципиальная схема устройства

Приложение А

Рис.Б1 Шаблон для программирования эскизов изображений

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. новые профессиональные схемы: Пер. с нем. – СПб.: БХВ-Петербург, 2009. – 480с.
2.Алейников А.Ф., Гридчин В.А., Цапенко М.П. Датчики (перспективные направления развития): Учеб.пособие / Под ред. проф. М.П. Цапенко. – Новосибирск: Изд-во НГТУ, 2001. – 176 с.
3.Балахничев И.Н. и др. Экспериментальная электроника. Вып. 2/ И.Н. Балахичев, А.В. Дрик, А.А. Ровдо. – М.: Солон-Р, 200 – 128 с.
4.Баранов В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. – М.: Издательский дом Додэка-XXI, 2004. – 288 с. – (Серия «Мировая электроника»)
5.Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики – М.: издательство ЭКОМ, 2002 – 400 с.
6.Брякин А. Звездное небо на микроконтроллере PIC18F2525 // Схемотехника – 2007 - №6 – с. 36-38
7.Вальпа О.Д. Полезные схемы с применением микроконтроллеров и ПЛИС. – М.:, Издательский дом Додэка-XXI, 2006. – 416 с. – (Серия «Программируемые системы»)
8.Голубцов М.С. Микроконтроллеры AVR: от простого к сложному/ М.С. Голубцов – М.: СОЛОН-Пресс, 2003 – 288 с.
9.Евстифеев А.В. Микроконтроллеры AVR семейства Classic фирмы ATMEL – 3-е изд., стер. – М.:, Издательский дом Додэка-XXI, 2006. – 288 с.
10.Зельдин Е.А. Цифровые интегральные микросхемы в информационно-измерительной аппаратуре. – Л.: Энергоатомиздат, 1986 – 288 с.
11.Коваль А. Автомат световых эффектов на ППЗУ. В помощь радиолюбителю. – М.: Патриот, 1990 вып. 108, с. 3-9
12.Коффрон Дж. Технические средства микропроцессорных систем: Практический курс. Пер. с англ. – М.: Мир, 1983. – 344 с.
13.Кравченко А.В. Шар со световым эффектом для елки // Радиоаматор – 2006 - №1 – с. 26
14.Одинец А.Л. Программируемое светодинамическое устройство с последовательным интерфейсом // Радиоаматор. – 2003. - № 11 – с. 26
15.Основы микропроцессорной техники. /Новиков Ю.В., Скоробогатов П.К. – М:ИНТУИТ.РУ «Интернет-Университет Информационных технологий», 2003. – 440 с.
16.Предко М. Справочник по PIC – контроллерам. Пер. с англ. – М.: ДМК Пресс, 2002. – 512 с.
17.Программирование на языке С для AVR и PIC контроллеров./ Сост. Ю.А. Шпак – К.: МК-Пресс, 2006. – 400 с.
18.Рубашка В. Световое табло, управляемое компьютером // Радио. – 2005. - № 2 – с. 39-42, №3 – с. 35-38.
19.Справочная книга по светотехнике / Под ред. Ю.Б. Айзберга. 3-е изд. перераб. и доп. – М.: Знак. – 2006, 972 с.
20.Сташин В.В. и др. Проектирование цифровых устройств на однокристальных микроконтроллерах/ В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева. - М.: Энергоатомиздат, 1990. - 224 с.
21.Тавернье К. PIC – микроконтроллеры. Практика применеия: Пер. с фр. – М.: ДМК Пресс, 2003 – 272 с.
22.Трамперт В. Измерение, управление и регулирование с помощью AVR – микроконтроллеров.: Пер. с нем. – К.: МК-Пресс, 2006. – 208 с.
23.Ульрих В.А. Микроконтроллеры PIC16C7X.Семейство восьмиразрядных КМОП микроконтроллеров с аналого-цифровым преобразователем.-СПб.: Наука и техника, 2000.- 253 с.
24.Шашлов А.Б. Основы светотехники / А.Б. Шашлов, Р.М. Уарова, А.В. Чуркин. – М.: изд. МГУП, 2002 – 274 с.
25.Datasheet ATmega128 8-bit AVR Microcontroller with 128 K Bytes In-System Programmable Flash
26.MPLAB IDE: Интегрированная среда разработки для микроконтроллеров PICmicro компании Microchip Technology Incorporated. - http://www.microchip.ru, 2001 - 156 c.
27.MPMASM: Руководство пользователя. ¬ http://www.microchip.ru, 2000
28.PIC16F87x: Однокристальные 8-миразрядные FLASH CMOS микроконтроллеры компании Microchip Technology Incorporated. – http://www.microchip.ru, 2002 – 184 с.
29.http://www.radioradar.net
30.http://www.e-neon.ru
31.http://dynamic-lights.narod.ru
32.http://www.wplus.net/pp/infor/led_screen.htm
33.http://www.ledart.ru


Вопрос-ответ:

Зачем нужен микроконтроллер управления наружным освещением?

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

Какие методы и технологии наружного освещения с использованием светодиодов рассматриваются в статье?

В статье анализируются различные методы и технологии наружного освещения с применением светодиодов. Это, например, RGB-освещение, которое позволяет использовать разноцветные светодиоды для создания разнообразных эффектов, и динамическая индикация, при которой яркость и цвет светодиодов постоянно меняются. Рассматриваются также различные технические решения для управления декоративной светодиодной подсветкой.

Какие задачи решаются в процессе исследования?

В процессе исследования решаются следующие задачи: анализ методов и технологий наружного освещения с использованием светодиодов, изучение технических решений процесса управления декоративной светодиодной подсветкой, а также разработка структурной схемы микроконтроллера управления наружным освещением.

Что такое принцип динамической индикации?

Принцип динамической индикации предполагает изменение яркости и цвета светодиодной подсветки с определенной периодичностью. Это создает эффектную динамическую индикацию, которая может использоваться для декоративного освещения зданий, площадей и других объектов.

Какие принципы использовались при построении структурной схемы микроконтроллера?

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

Какие методы и технологии наружного освещения с использованием светодиодов были проанализированы в статье?

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

Какие технические решения процесса управления декоративной светодиодной подсветкой были рассмотрены в статье?

В статье были рассмотрены различные технические решения процесса управления декоративной светодиодной подсветкой.

Какая задача была поставлена в исследовании?

В исследовании была поставлена задача разработки микроконтроллера управления наружным освещением.

Какая структурная схема была разработана в статье?

В статье была разработана структурная схема микроконтроллера управления наружным освещением.

Какие принципы использовались при построении структурной схемы микроконтроллера управления наружным освещением?

При построении структурной схемы микроконтроллера управления наружным освещением использовались общие принципы построения.