Содержание
Введение
1. Выбор технических требований к устройству
1.1 Диапазон измерения времени
1.2 Разрешение индикации
1.3 Погрешность отсчетов времени
1.4 Требования к питанию устройства
1.5 Требования к функциональным возможностям
2. Разработка структурной схемы устройства
3. Разработка принципиальной электрической схемы
4. Разработка алгоритма работы управляющей программы
5. Разработка управляющей программы
Заключение
Список использованной литературы
Приложение
Введение
В настоящее время выпускается ряд серий однокристальных микро-ЭВМ, предназначенных для использования в бытовой радиоэлектронной аппаратуре. Применение однокристальных микро-ЭВМ, реализующих на одной БИС функции ввода-вывода, хранения и обработки данных, позволяет достигать максимальной простоты и дешевизны систем управления.
PIC16F628 - это 8-pазpядные микроконтроллеры с RISC архитектурой, производимые фирмой Microchip Technology. Это семейство микроконтроллеров отличается низкой ценой, низким энергопотреблением и высокой скоростью. Микроконтроллеры имеют встроенное ЭППЗУ программы и ОЗУ данных.
Серия PIC16F628 подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.). Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает серию PIC16F628 привлекательной даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.
В данной курсовой работе на базе PIC-контроллера реализуется цифровой секундомер.
1. Выбор технических требований к устройству
В пункте выбор технических требований к устройству нужно рассмотреть назначение устройства, условия его работы, заданные параметры технического задания, возможности устройства. Исходя из требований рассмотренных в этом пункте, будем в дальнейшем проектировать заданное устройство.
1.1 Диапазон измерения времени
В соответствии с техническим заданием, в данной курсовой работе, необходимо разработать цифровой секундомер с диапазоном измерения времени от 0 до 10 мин, на базе микроконтроллера PIC16F628.
1.2 Разрешение индикации
Для отображения измеряемого времени будем использовать цифробуквенный индикатор, по условию технического задания который должен отображать минуты, секунды, десятые доли секунды. Тогда не сложно предположить, что для отображения десятых долей секунды потребуется один цифробуквенный индикатор, шкала изменения цифр в котором от 0 до 9. Для отображения секунд – два индикатора, первый, отображающий секунды, будет иметь шкалу от 0 до 9; второй, показывающий десятки секунд, будет иметь шкалу от 0 до 5. Для отображения минут можно использовать как два индикатора, так и один, что связанно с пределом измерения 10 мин. Так как большее количество индикаторов усложнит устройство, потребует больших затрат на питание, а мы проектируем переносной секундомер, выберем для отображения минут один индикатор, шкала изменения цифр которого должна быть от 0 до 9. Таким образом, минимальное значение, которое отображает индикатор – 0.1 сек. И именно через такие промежутки времени, кратные 0.1, будут меняться цифры на всех индикаторах. Всего у нашего устройства будет четыре цифробуквенных индикатора. Представим общий вид всего цифробуквенного индикатора на рис. 1.2
Рис. 1.2 Общий вид цифробуквенного индикатора
1.3 Погрешность отсчетов времени
Микроконтроллер PIC16F628 может работать в одном из восьми режимов тактового генератора. Исходя из того, что проектируемый секундомер переносной, необходимо рационально расходовать энергию питания, выберем режим с низкочастотным кварцевым резонатором (режим LP), так как с уменьшением частоты уменьшается потребность тактового генератора в энергии питания. При выборе конкретной частоты кварцевого резонатора необходимо учесть, что время машинного цикла должна быть значительно выше разрешающей способности индикации т.е. ниже 0,1с.
1.4 Требования к питанию устройства
В качестве питания для проектируемого секундомера будем использовать источник постоянного напряжения, а именно - гальваническое питание. В соответствии с частотой работы кварцевого резонатора и по характеристикам микроконтроллера будет осуществляться выбор, наиболее приемлемого, значения питания.
1.5. Требования к функциональным возможностям
Проектируемый секундомер должен быть функциональным, и в тоже время простым в использовании. Минимально необходимый набор кнопок должен включать кнопки «пуск», «стоп», «сброс», функциональные возможности кнопок могут быть использованы в одной универсальной кнопки, с поочередным выполнением операций, либо за каждую операцию будет отвечать одна кнопка.
2. Разработка структурной схемы устройства.
При разработке структурной схемы цифрового секундомера будем исходить из назначения устройства, условий его работы, заданных параметров и технических требований к устройству
Структурная схема современного секундомера определяется основными требованиями: точность измерения, стабильностью питания, экономией энергии питания, удобства пользования. Составим структурную (укрупненную) схему цифрового секундомера.
Рис 2.1 Структурная схема цифрового секундомера
Основной задачей решаемой при составлении структурной схемы является определение, и рациональное совмещение блоков устройства, которые подключаются к микроконтроллеру.
Проектируемый секундомер содержит следующие узлы:
1 Кварцевый резонатор с частотой fкв , работает как тактирующее устройство микроконтроллера. Резонатор обеспечивает наиболее удобную, подходящую частоту тактового генератора.
2 Кнопка, которая с поочередным, однократным нажатием будет выполнять три функции “Пуск/Стоп/Сброс”.
3 МК - микроконтроллер PIC16F628 по требованиям ТЗ.
4 БП - блок питания, обеспечивающий: питание микроконтроллера, питание световых индикаторов, питание акустической индикации, а также связан с кнопкой управления.
5 Индикатор - семисегментный индикаторы (ССИ) широко используются для отображения цифровой и символьной информации. Семь отображающих элементов позволяют высвечивать десятичные и шестнадцатеричные цифры, а также некоторые специальные знаки. Структура ССИ показана на рис. 2.2 . Для засветки одного сегмента большинства типов ССИ необходимо обеспечить протекание через сегмент тока 10-25 мА. В нашем случае потребуется четыре ССИ.
Рис. 2.2 Семисегментный индикатор: а- топология сегментов; б, в- принципиальные схемы
6 Акустическая индикация представляет собой следующее, подается импульс запуска на кнопку, который сразу поступает на звуковую индикацию, оповещая этим начало счета.
Для того чтобы реализовать данный секундомер на микроконтроллере PIC16F628, необходимо организовать цикл с задержкой в 0,1 с., затем подсчитывать эти импульсы и подавать на индикатор.
Если рассматривать принцип работы цифрового секундомера по структурной схеме, то с блока управления, подается импульс запуска, после которого происходит звуковая индикация, затем импульс запуска попадает на устройство задержки в микроконтроллере, в котором организована задержка на 0,1с. В качестве задержки используются два цикла: внутренний и внешний. Также в устройстве задержки организована проверка на переполнение счетчика и проверка нажатия кнопки “Стоп”. Количество подсчитанных секунд поступает на индикаторное устройство, в качестве которого используются семисегментные индикаторы.
3. Разработка принципиальной электрической схемы
Реализуем наш секундомер на базе микроконтроллера PIC16F628 согласно ТЗ рисунок 3.1
Рассмотрим те функциональное назначение выводов PIC16F628, которые будут использованы для проектирования.
Рис.3.1 Микроконтроллер PIC16F628
Назначение выводов микроконтроллера PIC16f628 приведено в таблице 3.1.
Таблица 3.1
Обозначение вывода | № вывода DIP | Тип 1/О/Р | Тип буфера в режиме ввода | Описание |
1 | 2 | 3 | 4 | 5 |
RA0 | 17 | I/O | ST | Двунаправленный порт ввода/вывода, аналоговый вход компаратора |
RA1 | 18 | I/O | ST | Двунаправленный порт ввода/вывода, аналоговый вход компаратора |
RA2 | 1 | I/O | ST | Двунаправленный порт ввода/вывода, аналоговый вход компаратора |
RA3 | 2 | I/O | ST | Двунаправленный порт ввода/вывода, аналоговый вход компаратора |
RA4 | 3 | I/O | ST | Двунаправленный порт ввода/вывода (выход с открытым стоком), вход внешнего тактового сигнала для TMR0, выход компаратора |
MCLR | 4 | I | ST | Вход сброса микроконтроллера, вход напряжения программирования. Когда вывод настроен как –MCLR, то по низкому уровню сигнала производится сброс микроконтроллера. При нормальной работе напряжение на выводе не должно превышать VDD |
OSC2 | 15 | I/O | ST | Двунаправленный порт ввода/вывода, выход генератора для подключения резонатора. |
OSC1 | 16 | I/O | ST | Двунаправленный порт ввода/вывода, вход генератора для подключения резонатора, вход внешнего тактового сигнала, вывод ER-смещения |
RB0 | 6 | I/O | TTL/ST | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, вход внешнего прерывания |
RB1 | 7 | I/O | TTL/ST | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, вход приемника USART, линия данных в синхронном режиме USART |
RB2 | 8 | I/O | TTL/ST | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, выход передатчика USART, линия тактового сигнала в синхронном режиме USART |
RB3 | 9 | I/O | TTL/ST | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора, вывод модуля ССР |
RB4 | 10 | I/O | TTL/ST | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP |
RB5 | 11 | I/O | TTL | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP |
RB6 | 12 | I/O | TTL/ST | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP. Выход генератора таймера 1 |
RB7 | 13 | I/O | TTL/ST | Двунаправленный порт ввода/вывода с программным включением подтягивающего резистора. Изменение сигнала на входе может вывести микроконтроллер из режима SLEEP. Вход генератора таймера 1 |
VSS | 5 | P | - | Общий вывод для внутренней логики и портов ввода/вывода |
VDD | 14 | P | - | Положительное напряжение питания для внутренней логики и портов ввода/вывода |
В настоящее время выпускается ряд серий однокристальных микро-ЭВМ, предназначенных для использования в бытовой радиоэлектронной аппаратуре. Применение однокристальных микро-ЭВМ, реализующих на одной БИС функции ввода-вывода, хранения и обработки данных, позволяет достигать максимальной простоты и дешевизны систем управления.