Автор работы: Пользователь скрыл имя, 24 Марта 2014 в 21:31, курсовая работа
Телефоны, телевизоры, жидкокристаллические мониторы, кондиционеры, холодильники, новогодние гирлянды, компьютеры и многое другое не могут работать без микроконтроллеров. Микроконтроллеры намного лучше своих предшественников: ламп и полупроводников. Они намного меньших размеров и обладают большей производительностью.
Резисторы R1-R4 ограничивают ток через контакты а диоды обеспечивают защиту от замыкания между собой сканирующих линий в случае одновременного нажатия более чем одной клавиши.
Питание контроллера осуществляется от сети переменного тока с напряжением 220 В и частотой 50 Гц. Поскольку напряжение питание контроллера осуществляется постоянным током с напряжением +5 В, то ставится схема питания, которая состоит из понижающего трансформатора, выпрямителя, выполненного по схеме диодного моста и стабилизатора напряжения.
5 Расчет временных параметров работы схемы
Для отсчета временных интервалов, равных периоду опроса переключателей, удобно использовать модуль таймера Т0, входящий в состав микроконтроллера ATmega8.
Модуль содержит 8-разрядный таймер – счетчик, содержимое которого инкрементируется от 00H до FFH и при переполнении снова переходит в состояние 00H. Прерывание от таймера Т0 генерируется при переполнении, при этом устанавливается флажок TOV0 (разряд 0 регистра TIFR). Это прерывание можно использовать для пробуждения МК и начала нового цикла опроса переключателей.
Структурная схема таймера/счетчика Т0 показана на рисунке 4.
Таймер/счетчика Т0 может работать в двух режимах:
Выбор режима работы (источника тактового сигнала), а также запуск и остановка таймера/счетчика осуществляются с помощью разрядов CS02…CS00 регистра управления таймером TCCR0.
Предделитель таймера Т0 позволяет формировать продолжительные временные интервалы (задержки). Для его программирования необходимо загрузить код начальной установки в счетный регистр таймера TCNT0 (адрес $32)и определить коэффициент деления предделителя в регистре управления TCCR0 (адрес $33). Для расчета величины временной задержки используется формула:
Τзад = (2k –Ainu)× kдел / fCLK : (1)
где Ainu - код инициализации;
k – разрядность счетчика таймера;
kдел – коэффициент деления частоты;
fCLK – тактовая частота микроконтроллера;
Выразим код инициализации Ainu:
Ainu = 2k – (Τзад× fCLK / kдел), (2)
Т.к. разрядность счетчика таймера Т0 8-разрядная, то 28= 256. Согласно заданию, частота опроса переключателей f= 40 Гц, следовательно, величина временной задержки таймера
Τзад = 1/f =1 / 40 = 0,0125 (с)
Полагая что, kдел= 1024, а тактовая частота микроконтроллера fCLK= 1МГц, то по формуле (2) определяем значение кода инициализации
Ainu= 256 – (0,025*1*106 / 1024)= 256 – 24 = 232
Полученное значение переводим в шестнадцатеричный код:
232D=Е8H
Это означает, что в процессе программирования в счетный регистр TCNT0 таймера Т0 должно быть записано значение Е8H.
В регистр управления таймера Т0 TCCR0 должно быть записано слово, определяющее режим работы таймера и коэффициент предделителя его входной частоты k дел.=1024. Код слова:
Разряды TCCR0 | |||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
- |
- |
- |
- |
- |
1 |
0 |
1 |
TCCR0: = 00000101D=05H
ЗАКЛЮЧЕНИЕ
В ходе курсовой работы мы рассмотрели особенности и возможности микроконтроллеров AVR. Также было разработано устройство на основе микроконтроллера AVR, а именно матрицу кнопочных переключателей. Особенностью разработанного устройства является минимальное использование различных составляющих компонентов, а следовательно и низкая стоимость при значительных функциональных возможностях.