Лекция: 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с.

еще рефераты
Еще работы по информатике