Проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,46 Мб
  • Опубликовано:
    2013-06-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel














КУРСОВОЙ ПРОЕКТ

Проект устройства со световыми эффектами на основе микроконтроллера 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

.1 Характеристики процессора

микроконтроллер процессор периферийный ядро

Основными характеристиками центрального процессора микроконтроллеров рассматриваемого семейства являются:

         полностью статическая архитектура;

         минимальная тактовая частота равна нулю;

         АЛУ подключено непосредственно к регистрам общего назначения;

         большинство команд выполняются за один машинный цикл;

         многоуровневая система прерываний;

         поддержка очереди прерываний;

         5-8 источников прерываний (из них до 2-х внешних);

         трехуровневый аппаратный стек. [1, с. 13]

2.2 Порты ввода / вывода

Каждый порт Микроконтроллера ATtiny состоит из определенного числа выводов, через которые микроконтроллер может принимать или передавать цифровые сигналы. Задание направления передачи данных через любой контакт ввода / вывода может быть произведено программно в любой момент времени. При этом некоторые модели имеют выводы, способные работать либо только как входы, либо только как выходы. Входные буферы портов построены по схеме триггера Шмитта. Для большинства линий, сконфигурированных как входные, также имеется возможность подключения внутреннего подтягивающего резистора сопротивлением 35-120 кОм между входом и шиной питания-Vcc. Кроме того, если между входом с задействованным внутренним подтягивающим резистором и общей шиной подключить нагрузку, этот вход может служить источником тока. В портах ввода / вывода микроконтроллеров ATtiny семейства AVR реализована истинная функциональность вида «чтение / модификация / запись». Благодаря этому, используя команды SBI и CBI, можно выполнять операции над любым выводом, не воздействуя на другие выводы порта. Это относится к изменению режима работы контакта ввода / вывода, к изменению выходного значения и к изменению состояния внутреннего подтягивающего резистора (для входов).

Отличительной особенностью моделей семейства AVR, выпускающихся в 8-выводном корпусе, является совмещение функций ввода / вывода с функциями управления (выводы для подключения внешнего резонатора и вывод сброса). Соответственно в распоряжении пользователя оказываются до 6 линий ввода / вывода, т.к. эти модели могут быть сконфигурированы для работы без внешнего резонатора и без вывода аппаратного сброса.

Микроконтроллеры из каждой группы моделей семейства AVR имеют различное количество портов и соответственно контактов ввода / вывода:

         ATtiny11x имеют один 6-разрядный порт ввода / вывода (порт B).

Контактов ввода / вывода - 5, входных контактов -1;

         ATtiny12x имеют один 6-разрядный порт ввода / вывода (порт B).

Контактов ввода / вывода - 6;

         ATtiny15L также имеет один 6-разрядный порт ввода / вывода B.

Контактов ввода / вывода - 6;

         ATtiny28x имеют три порта ввода / вывода: порт A (4-разрядный), порт B (8-разрядный) и порт D (8-разрядный). Общее количество контактов ввода / вывода равно 11, выходных контактов - 1 (линия порта A), входных контактов - 8 (порт B).

Во всех микроконтроллерах ATtiny семейства AVR подавляющее большинство контактов ввода / вывода имеют дополнительные функции и используются периферийными устройствами микроконтроллеров. [1, c. 77]

2.3 Характеристики подсистемы ввода / вывода

Основными характеристиками подсистемы ввода / вывода являются:

         программное конфигурирование и выбор портов ввода / вывода;

         выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;

         входные буферы с триггером Шмитта на всех выводах;

         возможность подключения к входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 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 встречаются следующие периферийные устройства:

         8-разрядный таймер / счетчик с предделителем (таймер - T0);

         второй 8-разрядный таймер / счетчик с предделителем (таймер - T1);

         сторожевой таймер WDT;

         одноканальный генератор сигнала с ШИМ разрядностью 8 бит;

         (один из режимов работы таймера T1);

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

         10-разрядный АЦП (4 канала);

         аппаратный модулятор. [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

.1 Структурная блок-схема микроконтроллеров ATtiny12/12L/12V

Структурная блок-схема микроконтроллеров ATtiny12/12L/12V показана на рис. 3. [1, c. 21]

Рисунок 3 - Структурная блок-схема микроконтроллеров ATtiny12/12L/12V

3.2 Структурная схема световых эффектов

Схема состоит из микроконтроллера ATtiny12 семейства AVR, дешифратора двоично-десятичного кода в десятичный, десяти светодиодов и резисторов ограничителей тока.

Структурная схема световых эффектов приведена на рис. 4.

Рисунок 4 - Структурная схема световых эффектов

Отличительной особенностью микроконтроллера tiny12 является встроенный АЦП с четырьмя коммутируемыми входами. Макет позволяет наглядно изучить свойства АЦП, работу портов ввода-вывода, вместить в небольшую память МК различные подпрограммы, поэкспериментировать с динамическим режимом работы светодиодов. [7]

.3 Монтажная плата

Новшеством является использование резисторов R12, R13 и конденсатора СЗ. С помощью резистора R12 на входе АЦП 3 (альтернативная функция вывода РВ4) можно установить напряжение от 0 до 5 В. (для несимметричных входов диапазон входных напряжений составляет шину питания - Vcc). Конденсатор СЗ позволяет сгладить всплески напряжения при изменении регулятора R12. Тем самым АЦП преобразует интегрированное значение напряжения на входе. Для ограничения тока на вход АЦП установлен резистор R13. Для более эффективного сброса микроконтроллера в схеме установлена цепочка Rll, С2. Дешифратор VI управляет непосредственно светодиодами. [6]

.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

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

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

.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 с., ил.

         Кузин, А.В. Микропроцессорная техника. М.: ИЦ Академия, 2008. - 304 с.

         Микроконтроллеры AVR семейства Classic фирмы ATMEL - 2-е изд., стер. - М.: Издательский дом «Додэка - XXI», 2004. - 288 с., с ил.

         Микроконтроллеры - http://smps.h18.ru.

         Примеры устройств - http://remolom2.narod.ru.

         Радиосхемы - http://chip.webservis.ru.

         Устройства на микроконтроллерах - http://www.pic16f84.narod.ru.

Приложение

Программа управления световыми эффектами

list

def     tmp = r16 - используем регистр, начиная с 16         

def     tmp2 = r17 - переменная общего пользования

def     tmp3 = r18 - переменная общего пользования

def     tempo         = r19 - определение рабочих регистров

def     pir= r22      pur= r23     par= r20

def     Y= r29 - r29 называется регистром Y

def     X= r21 - r21 называется регистром X

def     M= r26 - r26 называется регистром M

def     adr= r0       prg1= r24   prg2= r250 RESET

nop   ; rjmp EXT-INT0 прерывание не используется         ; rjmp EXT-PIN         прерывание не используется         ; rjmp TIME-OVF0 прерывание от таймера    ; rjmp EE-RDY прерывание от таймера   ; rjmp ANA-COMP прерывание не используется20; настройка порта В:      nop

clr     tmp                      DDRB, tmp         PORTB, tmp; обнулить порт В      tmp   tmp, $0F; PB0, PB1, РВ2, РВ3-выходы                   DDRB, tmp; выход из DDRB

Начало программы

сlr pirpurprg1prg2adr  : nop;брос всех значений

rcall   adcn

nop

rcall   zader opros          nStart;

Настройка АЦП, начало программы

adcn: nop   tmp:  noptmp, $04ass   tmp3

ldi     tmp3, $83; внутренний источник, вход ADC3 ADMUX, tmp3; коммутация входов АЦП       tmp2 tmp3 tmp2, $C4; одиночное, запуск, 1/16       ADCSR, tmp2; запуск АЦП на преобразование;

Сохранение данных АЦП    tmp2, ADCL

in      tmp3, ADCHr2,  tmp2r3, tmp3      r4, r2 r5,     r3      r6, r4r7, r5 tmpawe:         nopr8tmp2, r2r9, r8tmp2, r4r9, r8tmp2, r6r9, r8       r9      tmp2r9       tmp2 r9tmp3, r3r9, r8tmp3, r5r9, r8tmp3, r7r9, r8r9     tmp3r9tmp3

nop;

Подпрограмма задержки включения светодиодов

Zader:         nop   M      Y       Y, $AF       tmp3, $00goo      M, $01       M, tmp3:         nopM, tmp3:       nop   tmp2, $00goq      X, $01        X, tmp2:     nopX, tmp2:        nop:         dec    Y       dx     X       dv     M      dm;

Подпрограмма опроса светодиодов

opros: nop

cpi     pir, $0B

breq  prn2  ZH,   high (2*prog1)     ZL,    Low (2*prog1)     ZL,    pir     prg1, adr         PORTB, prg1      pir     got:   nop   pur, $11     prn3  ZH,   high (2*prog2)     ZL,    Low (2*prog2)   ZL,    pur    prg2, adr    PORTB, prg2      pur    got:   nop   par, $13     nasv  ZH,         high (2*prog3)     ZL,    Low (2*prog3)     ZL,    par    prg2, adr    PORTB, prg2      par         got:   nop             pir     pur    par    adr    prg1  prg2: nop

Ресурсы$100:$02, $08, $07, $06, $03, $01, $00, $05$04, $09:$08, $04, $07, $05, $06, $00, $03, $01$06, $00, $07, $05, $08, $04, $02, $09:$02, $04, $09, $05, $04, $00, $05, $01$00, $03, $01, $06, $03, $07, $06, $08$07, $02.

Похожие работы на - Проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!