ЕЛКА-СУВЕНИР НА МИКРОКОНТРОЛЛЕРЕ… БЕЗ ПРОГРАММЫ

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

Мысль о возможности создания этого устройства пришла во время чтения описания микроконтроллера АТ89С2051. Подав на выводы порта Р3 соответствующую комбинацию логических уровней, можно прочитать на выводах порта Р1 код, содержащийся в ячейке внутренней FLESH-памяти микроконтроллера. Обычно эту возможность используют программаторы для сверки записанного в память значения с заданным. Проведенный эксперимент показал, что воспользоваться ею можно и для поочередного чтения всех ячеек памяти. В этом режиме процессор микроконтроллера и многие другие его узлы заблокированы и в работе не участвуют.

В устройстве, собранном на схеме, показанной на рис. 1, микроконтроллер АТ89С2051 переведен в нужное состояние соединением выводов 1, 9 и 11 с источником питания (через резистор R3), а вывода 7 - с общим проводом. На выводы 5 и 8 поступают тактовые импульсы от генератора на микросхеме DD1. Каждый импульс увеличивает на единицу значение адреса, хранящееся во внутреннем регистре микроконтроллера, после чего состояние выводов 13-19 микроконтроллера соответствует коду, записанному по этому адресу. По достижении старшего адреса (7FFH) просмотр ячеек продолжается с нулевого. Таким образом, полная световая программа состоит из 2048 тактов, повторяемых циклически.

Фирма ATMEL (разработчик микроконтроллера) рекомендует длительность тактовых импульсов не менее 0,2 мкс и разнос во времени импульсов, подаваемых на выводы 5 и 8, не менее 1 мкс. Эксперимент показал, что в выполнении последнего требования, приводящего к заметному усложнению схемы, нет необходимости, указанные выводы можно соединить параллельно. Однако в этом случае порт Р1 выводит только семь старших из восьми разрядов кодов, хранящихся в памяти. Линия Р1.0 (выв.12) бездействует. Можно смириться с этим недостатком или усложнить схему. Автор предпочел первое. Чтобы увеличить число светодиодов до десяти, шесть из них соединены попарно последовательно. Устройство питает блок "Электроника Д2-10М", предназначенный для калькуляторов.

Изображение , показанное на рис. 2, нанесено методом аппликации на пластину размерами 110х120 мм из древесно-волокнистой плиты толщиной 3 мм. Светодиоды HL1-HL10 вставлены в просверленные в пластине отверстия. На тыльной поверхности платины сделаны выемки глубиной 2 мм под все элементы схемы. Выводы микросхем отогнуты параллельно их корпусам. Монтаж выполнен эмалированным проводом диаметром 0,51 мм, после чего "монтажная" сторона пластины заклеена тонким картоном, Многие, увидев готовый сувенир, безуспешно пытаются найти на нем печатную плату.

Пример световой программы, которую обычным образом с помощью программатора заносят в память микроконтроллера, приведен в таблице. Это лишь четверть программы (ячейки с адресами 0-1FFH). Остальные три четверти (200H-3FFH, 400H-5FFH, 600H-7FFH) идентичны первой, что, конечно, вовсе не обязательно. Чтобы изменить программу, не нужно знать систему команд микроконтроллера. Каждый байт в данном случае соответствует состоянию светодиодов в одном периоде повторения импульсов тактового генератора

Besucherzahler most beautiful Russian and Ukrainian brides
счетчик посещений
META - Украина. 
Украинская поисковая система
Hosted by uCoz