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

Разработайте счетчик, который подсчитывает количество нажатий на кнопку, от 0 до 9



После 10 нажатий (когда значение счетчика превысит 9) он должен сброситься в 0. Семисегментный дисплей будет подключен к выводам РВ0...РВ6, а кнопка — к выводу PD0. Принципиальная схема устройства Рис. 5.Обратите внимание, в каком порядке выводы индикатора подключены к порту.

Рис. 5. Принципиальная схема счетчика

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

1. Установить микроконтроллер в исходное состояние. Выводы порта B являются выходами. Так как индикатор включен по схеме с общим катодом, то его управление осуществляется единицами. Вывод PD0 порта D является входом, остальные выходом.

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

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

Нарисуем блок-схему программы Рис.6.

22. Ф ормирования временных интервалов на микроконтроллерах AVR

В состав списка регистров ввода/вывода, входит регистр TCNT0 ($32)счетный регистр таймера/счетчика 0 (Timer/Counter 0). Это встроенный таймер микроконтроллера, который может автоматически считать в прямом направлении с заданной скоростью, сбрасываясь в 0 после достижения значения 255. Можно использовать этот таймер для выполнения различных операций, связанных со временем (например, для формирования секундной задержки). В более развитых микроконтроллерах имеется несколько таймеров, часть из которых являются 16-битными. Причина, по которой в названии таймера присутствует слово «счетчик», заключается в том, что он может также использоваться для подсчета числа импульсов на определенном выводе микроконтроллера (в случае модели 1200 это вывод 8PD4). Мы будем использовать таймер/счетчик 0 в качестве таймера, поэтому будем называть его Таймер 0 или, для краткости, Т/С0.

Прежде чем использовать Таймер 0, его необходимо соответствующим образом сконфигурировать (задать работу в режиме таймера, а не счетчика). Для конфигурирования таймера используется регистр TCCR0 ($33) — регистр управления Т/С0 (Т/С0 Control Register). Каждый бит этого регистра отвечает за определенный аспект функционирования Т/С0. В модели 1200 используются только биты 2...0 (Рис. 1).

Биты 3...7 не используются, но, изменяя состояние битов 0...2 oопределенным образом, можно задать требуемое поведение Т/С0. Если таймер Т/С0 не будет использоваться, то все три бита должны установлены в ноль.

Если использовать его в качестве таймера, необходимо выбрать одну из пяти возможных в этом режиме конфигураций. Если его использовать для счета внешних импульсов (на выводе PD4), можно воспользоваться двумя последними конфигурациями. Различные конфигурации, доступные при использовании T/С0 в качестве таймера, определяют скорость его счета. Значение тактовой частоты (СК) слишком велико (несколько МГц) — это частота кварцевого резонатора, подключенного к микроконтроллеру, — поэтому для отсчета интервалов порядка секунд придется существенно уменьшить это значение. Уменьшить скорость счета Таймера 0 можно не более чем в 1024 раза. Если подключить к микроконтроллepy резонатор с частотой 2.4576 МГц (это распространенное значение частоты резонатора), то частота счета Таймера 0 будет равна 2 457 600/1024 = 2400 Гц. Даже при максимально возможном замедлении таймера его состояние будет изменяться 2400 раз в секунду.





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



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