
- •Задание на курсовую работу
- •2. Описание алгоритма программы
- •2.1 Использование ресурсов
- •2.2 Основная программа
- •2.3 Подпрограмма обработки прерывания таймера
- •2.4 Подпрограмма обработки прерывания таймера 0. Режимы работы устройства
- •2.5. Подпрограммы индикации
- •2.6. Подпрограмы счета времени
- •2.7. Опрос клавиатуры
- •3. Дополнительное задание
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЁЖИ И СПОРТА УКРАИНЫ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра АТ
Пояснительная записка
к курсовой работе по дисциплине
«Микропроцессорные системы»
Выполнил:
Ст.гр. СУА-09а
Тараник К.А.
Проверил:
Яремко И.Н.
Донецк 2012
Задание на курсовую работу
Разработать таймер прямого счета на базе микроконтроллера AT90S8515. Время отображается с помощью четырех восьмисегментных индикаторов, управление осуществляется с помощью клавиатуры (3х4 – 12 кнопок). Программирование и прошивка МК осуществляется с помощью приложения Algorithm Builder.
При подаче питания на индикаторе отображается 00 часов 00 минут и таймер ожидает ввода для начала счета. При работе таймера должна мигать точка второго разряда индикатора с периодом 1 сек (0.5с горит, 0.5с не горит). При нажатии кнопки “*” включается режим ввода времени при котором последовательно задаются часы и минуты и после ввода последней цифры начинается счет времени до заданного значения. При вводе времени должна осуществляться проверка на некорректный ввод (например при вводе первой цифры можно ввести только “0”, “1” или “2” остальные кнопки должны игнорироваться).
Дополнительное задание:
Сходящиеся в направлении друг к другу точки на линейке светодиодов. При нажатии кнопки точка начинает движение слева-направо.
РЕФЕРАТ
Курсовая работа стр., 32 рис. 17
В процессе выполнения курсовой работы был реализован таймер на базе микроконтроллера AT90S8515. Программа разделена на несколько подпрограмм, для упрощения разработки и отладки. Основная программа выполняет необходимые для работы настройки, после чего ожидает прерываний по переполнению восьмибитных таймер-счётчиков Timer0 и Timer1, при обработке которых реализуются выполнение всех остальных действий.
AT90S8515, МИКРОКОНТРОЛЛЕР, ТАЙМЕР-СЧЁТЧИК, ПОДПРОГРАММА, ПРЕРЫВАНИЕ, ОТЛАДКА
|
||||||||||
|
|
|
|
|
|
|||||
|
|
|
|
|
||||||
|
|
Фамилия |
Подпись |
Дата |
||||||
Выполнил |
Тараник К.А. |
|
|
|
Лит |
Лист |
Листов |
|||
Проверил |
Яремко И.Н. |
|
|
|
|
|
3 |
32 |
||
|
|
|
|
ДонНТУ, каф. АТ |
||||||
Н.контр. |
|
|
|
|||||||
Зав.каф. |
|
|
|
СОДЕРЖАНИЕ
ВВЕДЕНИЕ………………………………………………………………………5
1.ОПИСАНИЕ ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ…..6
2. ОПИСАНИЕ АЛГОРИТМА ПРОГРАММЫ…………………………..…8
2.1 ИСПОЛЬЗОВАНИЕ РЕСУРСОВ…………………………………..9
2.2 ОСНОВНАЯ ПРОГРАММА…………………………………….....11
2.3 ПОДПРОГРАММА ОБРАБОТКИ ПРЕРЫВАНИЯ ТАЙМЕРА…..13
2.4 ПОДПРОГРАММА СЧЁТА ВРЕМЕНИ………………………...…..12
2.5 ПОДПРОГРАММА ИНДИКАЦИИ………………………………....16
2.6 ПОДПРОГРАММА СКАНИРОВАНИЯ КЛАВИАТУРЫ ………...22
2.7 ПОДПРОГРАММА АНАЛИЗА НАЖАТОЙ КЛАВИШИ………...24
3. ДОПОЛНИТЕЛЬНОЕ ЗАДАНИЕ………………………………………...29
ВЫВОД…………………………………………………………………………..31
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ…………………………….32
ВВЕДЕНИЕ
Появление интегральных схем стало значительным событием в области автоматизации, так как любая интегральная схема обладает намного меньшим размером по сравнению с аналогами, выполненными на базе простых транзисторов.
Дальнейшее развитие они получили в виде микропроцессоров, сочетающих в себе возможности множества различных интегральных схем внутри одного небольшого корпуса. Их появление ознаменовало массовое развитие цифровой техники и автоматизаций на её основе.
Следующим шагом стало изготовление микроконтроллеров, которые являются ещё более сложным устройством, представляющим собой миникомпьютер со своей собственной внутренней памятью и некоторыми периферийными устройствами, при сохранении столь же малых размеров, простоты использования и увеличении функциональности по сравнению с микропроцессорами. Обладая таким сочетанием и сравнительно не высокой стоимостью, микроконтроллеры быстро приобрели большую популярность в области автоматики: практически все современные бытовые или промышленные устройства сконструированы на их основе.
1. ОПИСАНИЕ ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ
Принципиальная электрическая схема устройства изображена на рисунке 1.
Рис. 1.1 – Принципиальная электрическая схема блока клавиатуры и индикации.
На рисунке представлена принципиальная электрическая схема часов. Микроконтроллер является основной и единственной микросхемой, используемой в данной разработке. Для задания тактовой частоты контроллера используется кварцевый резонатор на 8 МГц. В качестве устройства отображения использованы четыре индикатора красного цвета свечения с общим анодом, каждый индикатор содержит 8 сегментов.
Индикация текущего времени осуществляется динамически, в данный конкретный момент времени отображается лишь одна цифра, что позволяет значительно снизить аппаратные затраты. Аноды каждой из четырех цифр являются раздельными, что позволяет в данный момент времени подключить к источнику питания только один анод и отобразить одну цифру. Для этого часы имеют четыре транзисторных ключа. Ключи управляются микроконтроллером, причем соответствующий ключ открыт, если на выводе контроллера присутствует логический ноль. Одноименные сегменты всех четырех цифр соединены вместе и через токоограничивающие резисторы подключены к выводам порта "А" (выводы PА.0 … PА.7). Управляющая программа один за другим подключает разряды индикатора к источнику питания и одновременно на соответствующие выводы порта "А" выставляется код отображаемой цифры. Поскольку сканирование индикатора происходит очень быстро, мерцание цифр становится незаметным. Как видно из схемы, линии сканирования клавиатуры и индикации общие, что позволяет уменьшить число используемых выводов. Питаются часы от стабилизированного источника питания напряжением 5В. Сразу после включения таймера программа разрешает прерывания, настраивает порты контроллера соответствующим образом и устанавливает указатель стека на старшие адреса внутренней памяти данных. Далее программа переводит устройство в режим часов и запускает цикл сканирования клавиатуры, индикатора и цикл счета времени. Основой программы является обработчик прерываний от таймера.