Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Dec Count30 ; Уменьшаем Count30 на единицу



brne TimeLoop; Если Count30 <> 0, возвращаемся; к началу цикла

Первые две команды загружают в регистры счетчика и маркера требуемые значения. Затем содержимое регистра TCNT0 копируется в регистр temp,который в свою очередь сравнивается с маркером. Если они не равны, программа переходит к началу цикла (TimeLoop). В противном случае значение маркера увеличивается на 80, счетчик уменьшается на единицу, и, если последний не равен нулю, программа переходит к метке TimeLoop. Определите регистры Mark80 и Count30 в секции объявлений (это должны быть регистры из диапазона R16...R31).

24. Разработайте устройство, формирующее огонек, «бегущий» по ряду светодиодов.

Этот эффект достигается поочередным включением светодиодов. Скоростью движения огонька мы будем управлять с помощью двух кнопок: при нажатии на одну из них скорость будет увеличиваться, а при нажатии на другую — уменьшаться. По умолчанию каждый светодиод будет включаться на 0,5 с; это значение можно будет изменять от 0,1 до .

Светодиоды подключим к порту В, а кнопки — к выводам PD0 и PD1. Принципиальная схема устройства приведена на Рис. 6.

Алгоритм работы программы следующий:

1. Установить микроконтроллер в исходное положение.

2. Провести проверку состояния кнопки и вернуться обратно для повторной проверки. Если кнопка нажата – инкрементировать счетчик.

3. Проверить состояние счетчика. Если состояние счетчика больше 9 – обнулить счетчик.

4. Изменить число на индикаторе.

В секции инициализации сконфигурируем:

1. Таймер 0 (поскольку будем оперировать интервалами порядка секунды).

2. Придется использовать Т/С0 в режиме таймера, работающего на минимально возможной частоте).

3. На входах PD0 и PD1 потребуется включить подтяжку, а у порта В при старте программы должен быть включен только один выход (например, РВ0).

4. разместить строки, в которых задаются начальные значения маркера и счетчика. В регистр Mark240 загрузим число 240, а в регистры Speed и Counter5. Это необходимо для того, чтобы получить задержку 0,5с.





Дата публикования: 2015-02-03; Прочитано: 270 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...