Главная Учебники - Разные Лекции (разные) - часть 55
|
Министерство
образования
Российской
Федерации
Северокавказский
Государственный
Технический
Университет
На тему
"Разработка
часов на микроконтроллере
PIC16F84 "
Принял: Якушев
В.М.
Ставрополь
2002
Задание
Разработать
часы реального
времени на
микроконтроллере
PIC16F84, программное
обеспечения
для него на
языке ассемблер,
рассмотреть
вопросы программирования
микроконтроллера.
Напряжение
пипания устройства 5В
+/-1В
Частота
тактового
генератора
МК 4 Мгц
Количество
отображаемых
цифр на идикаторе
4
Количество
кнопок управления
2 Единицы
измерения
времени Часы
Минуты
Секунды
Содержание Введение 1.Разработка
структурной
схемы устройства 2.Выбор
элементной
базы 3.Разработка
схемы электрической
принципиальной 4.Разработка
программного
обеспечения
5.Программирование
микроконтроллера Заключение Список
литературы
Введение
Последние
годы отмечены
массовым наполнением
рынка всевозможной
автоматизированной
аппаратурой
самого различного
назначения
и самой различной
сложности от
пластиковой
платежной
карточки до
холодильника,
автомобиля
и сложнейших
установок. Это
стало возможным
благодаря
микроконтроллерам
(МК) Микроконтроллеры
входят во все
сферы жизнедеятельности
человека, их
насыщенность
в нашем окружении
растет из года
в год. То что
казалось нам
5 лет назад сказкой
сейчас вполне
возможно благодаря
стремительному
развитию технологии
производства
электронных
компонентов.
Да пять лет
назад мы уже
знали про
суперкомпьютеры
суперпроцессоры
суперАЦП и т.д.
Ну а что же сейчас
а сейчас "ВСЕ
В ОДНОМ КОРПУСЕ"
и это жестокая
правда. Раньше
, изобретателю
электронных
схем приходилось
иметь дело с
"кучей" электронных
компонентов
, размещая с
огромным трудом
все на печатной
плате размером
метр на метр
и при испытании
кипятить чайник
на тойже плате
(это про расходуемую
энергию), в наше
время разработчику
электронной
аппаратуры
не грозят выше
указанные
сложности,
точнее чем
больше денег
тем меньше
сложностей.
Но появляются
новые неудобства
информационного
общества такие
как :
Фирмы производящие
микроконтроллеры
ATMEL,INTEL,ZILOG,MICROCHIP,
"и с радостью
для патриотов"
АНГСТРЕМ,
scenix,
кажется
можно продолжать
бесконечно.
Каждая из
перечисленных
фирм кроме
АНГСТРЕМ имеет
более 100 видов
различных по
назначению
микроконтроллеров,
а каждый микроконтроллер
не менее 200 страниц
технических
описаний и
характеристик
плюс к этому
на английском
языке, кроме
АНГСТРЕМ. Выбери
свой девиз
современного
общества.
Средства
разработки
программного
обеспечения
для микроконтроллеров
у каждой фирмы
свое, а что касается
языков программирования
конечно ассемблер
самый старый,
добрый, всем
понятный, ну
а что через год
перечислим
некоторые, "C,
PASCAL,
JAVA,
DELPHI,C++,
+TURBO,+VISUAL"
опять можно
продолжать
бесконечно.
Вернемся
к теме "в одном
корпусе" раньше
К155ХХ 50 штук а
сейчас PIC16F84
и просто
в подарок ПЗУ,
ОЗУ, таймер,
система прерываний,
аналогово-цифравой
преобразователь,
встроенный
генератор,
корпус с 20 ножками
и т.д.
Ну хватит
о грустном за
работу!
В данной
проекте будет
разработано
устройство
на современном
микроконтроллере,
написана программа
и рассмотрены
инструментальные
средства. Также
будит применены
знания полученные
на занятиях.
1.Разработка
структурной
схемы устройства
Структурная
схема электронных
часов на микропроцессоре
приведена на
рисунке 1. Она
состоит из 4
основных блоков.
Тактовый генератор
предназначен
для генерации
прямоугольных
импульсов
частотой 4 Мгц
для тактирования
микропроцессора
и программируемого
таймера . Микропроцес-
Рисунок 1.
Структурная
схема устройства
сорный блок
состоит из
микропроцессора,
постоянного
и оперативного
запоминающего
устройств
предназначен
для управления
всеми другими
блоками часов.
Он осуществляет
обработку
прерывания
полученного
от таймера
предварительно
делает его
установку на
нужное значение,
готовит данные
полученные
от таймера,
выводит значение
на индикатор
и считывает
значение с
клавиатуры.
Контроллер
клавиатуры
и дисплея
предназначен
для дешифрации
значений полученных
от микропроцессора
и усиления
сигналов для
индикатора
также осуществляет
предварительную
обработку
сигналов полученных
от клавиатуры.
Дисплей предназначен
для вывода
реального
времени в графическом
виде понятном
для человека.
Клавиатура
электронных
часов служит
для ввода управляющих
сигналов таких
как установка
режима индикации
дисплея и установка
времени.
2.Выбор элементной
базы
Данное устройство
может быть
выполнено на
разной элементной
базе включая
микросхемы
серии 155,176,561 также
различные
микропроцессорные
комплекты
580,1816,1830 и на специализированных
микросхемах
например 1901 что
предпочтительней
с экономической
точки зрения
т.к в их состав
входят контроллер
клавиатуры
и дисплея тактовый
генератор,
устройство
управления,
таймер и многое
другое необходимое
для электронных
часов. В данной
работе в учебных
целях это устройство
будет разработано
на микроконтроллере
фирмы Microchip.inc.
PIC16F84
относится к
семейству КМОП
микроконтроллеров.
Отличается
тем, что имеет
внутреннее
1K x 14 бит EEPROM для программ,
8-битовые данные
и 64байт EEPROM памяти
данных. При
этом отличаются
низкой стоимостью
и высокой
производительностью.
Все команды
состоят из
одного слова
(14 бит шириной)
и исполняются
за один цикл
(400 нс при 10 МГц),
кроме команд
перехода, которые
выполняются
за два цикла
(800 нс). PIC16F84
имеет прерывание,
срабатывающее
от четырех
источников,
и восьмиуровневый
аппаратный
стек. Периферия
включает в себя
8-битный таймер/счетчик
с 8-битным программируемым
предварительным
делителем
(фактически
16 - битный таймер)
и 13 линий двунаправленного
ввода/вывода.
Высокая нагрузочная
способность
(25 мА макс. втекающий
ток, 20 мА макс.
вытекающий
ток) линий
ввода/вывода
упрощают внешние
драйверы и, тем
самым, уменьшается
общая стоимость
системы. Разработки
на базе контроллеров
PIC16F84
поддерживается
ассемблером,
программным
симулятором,
внутрисхемным
эмулятором
(только фирмы
Microchip) и программатором.
Структурная
схема микроконтроллера
приведена на
рисунке 2.
Рисунок 2.
Структурная
схема микроконтроллера
PIC16F84
Архитектура
основана на
концепции
раздельных
шин и областей
памяти для
данных и для
команд (Гарвардская
архитектура).
Шина данных
и память данных
(ОЗУ) - имеют ширину
8 бит, а программная
шина и программная
память (ПЗУ)
имеют ширину
14 бит. Такая
концепция
обеспечивает
простую, но
мощную систему
команд, разработанную
так, что битовые,
байтовые и
регистровые
операции работают
с высокой скоростью
и с перекрытием
по времени
выборок команд
и циклов выполнения.
14- битовая ширина
программной
памяти обеспечивает
выборку 14-битовой
команды в один
цикл. Двухступенчатый
конвейер обеспечивает
одновременную
выборку и исполнение
команды. Все
команды выполняются
за один цикл,
исключая команды
переходов. В
PIC16F84
программная
память объемом
1К х 14 расположена
внутри кристалла.
Исполняемая
программа может
находиться
только во встроенном
ПЗУ.
Условно
графическое
обозначение
микроконтроллера
приведено на
рисунке 3.
Программный
код, который
записан в кристалл,
может быть
защищен от
считывания
при помощи
установки бита
защиты (CP) в слове
конфигурации
в ноль. Содержимое
программы не
может быть
прочитано так,
что с ним можно
было бы работать.
Кроме того, при
установленном
бите защиты
становится
невозможным
изменять программу.
То-же относится
и к содержимому
памяти данных
EEPROM.
Кристалл
PIC16C84 имеет четыре
слова, расположенные
по адресу
(2000h-2003h) Они предназначены
для хранения
идентификационного
кода (ID) пользователя,
контрольной
суммы или другой
информации.
Как и слово
конфигурации,
они могут быть
прочитаны или
записаны только
с помощью
программатора.
Доступа по
программе к
ним нет.
Вход
в режим SLEEP осуществляется
командой SLEEP. По
этой команде,
если WDT разрешен,
то он сбрасывается
и начинает счет
времени, бит
"PD" в регистре
статуса (f3) сбрасывается,
бит "TO" устанавливается,
а встроенный
генератор
выключается.
Порты ввода/вывода
сохраняют
состояние,
которое они
имели до входа
в режим SLEEP. Для
снижения
потребляемого
тока в этом
режиме, ножки
на вывод должны
иметь такие
значения, чтобы
не протекал
ток между кристаллом
и внешними
цепями. Ножки
на ввод должны
быть соединены
внешними резисторами
с высоким или
низким уровнем,
чтобы избежать
токов переключения,
вызываемых
плавающими
высокоомными
входами. То же
и про RTCC. Ножка
/MCLR должна быть
под напряжением
Vihmc.
Обозначение
Нормальный
режим
Режим
записи EEPROM
Выход параметров
за данные пределы
может привести
к повреждению
микросхемы.
Работа кристалла
на предельно
допустимых
значениях в
течение длительного
времени повлияет
на его надежность.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||