Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
brne TimeLoop; Если Count30 <> 0, возвращаемся; к началу цикла
Первые две команды загружают в регистры счетчика и маркера требуемые значения. Затем содержимое регистра TCNT0 копируется в регистр temp,который в свою очередь сравнивается с маркером. Если они не равны, программа переходит к началу цикла (TimeLoop). В противном случае значение маркера увеличивается на 80, счетчик уменьшается на единицу, и, если последний не равен нулю, программа переходит к метке TimeLoop. Определите регистры Mark80 и Count30 в секции объявлений (это должны быть регистры из диапазона R16...R31).
24. Разработайте устройство, формирующее огонек, «бегущий» по ряду светодиодов.
Этот эффект достигается поочередным включением светодиодов. Скоростью движения огонька мы будем управлять с помощью двух кнопок: при нажатии на одну из них скорость будет увеличиваться, а при нажатии на другую — уменьшаться. По умолчанию каждый светодиод будет включаться на 0,5 с; это значение можно будет изменять от 0,1 до 1с.
Светодиоды подключим к порту В, а кнопки — к выводам PD0 и PD1. Принципиальная схема устройства приведена на Рис. 6.
Алгоритм работы программы следующий:
1. Установить микроконтроллер в исходное положение.
2. Провести проверку состояния кнопки и вернуться обратно для повторной проверки. Если кнопка нажата – инкрементировать счетчик.
3. Проверить состояние счетчика. Если состояние счетчика больше 9 – обнулить счетчик.
4. Изменить число на индикаторе.
В секции инициализации сконфигурируем:
1. Таймер 0 (поскольку будем оперировать интервалами порядка секунды).
2. Придется использовать Т/С0 в режиме таймера, работающего на минимально возможной частоте).
3. На входах PD0 и PD1 потребуется включить подтяжку, а у порта В при старте программы должен быть включен только один выход (например, РВ0).
4. разместить строки, в которых задаются начальные значения маркера и счетчика. В регистр Mark240 загрузим число 240, а в регистры Speed и Counter — 5. Это необходимо для того, чтобы получить задержку 0,5с.
Дата публикования: 2015-02-03; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!