Устройство измерения температуры окружающей среды, напряжения на выходах потенциометра, управление звуковым излучателем и часы
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?ей среды выбран язык программирования ассемблер [7,8,9].
Алгоритм работы данного устройства представлен на рисунке 2.2.
Рисунок 2.2 - Алгоритм устройства
3Эскизный проект
Эскизный проект - этап составления спецификаций отдельных блоков, разработка подробной функционально-блочной схемы устройства [5,6].
Первым исполняемым блоком, в связи с разработкой на языке С, будет main, который должен вызвать процедуру инициализации устройства и блок основного меню.
Блок инициализации выполняет функции инициализации LCD, USART универсальный синхронно-асинхронный приёмо-передатчик, CCP - модуля широтно-импульсной модуляции, таймера и кнопок управления, после чего возвращает управление в main.
Блок основного меню выполняется сразу после блока инициализации и выполняется в бесконечном цикле, что позволяет неоднократно переходить от одного реализованного устройства к другому. Блок основного меню позволяет перейти к блокам реализации вольтметра (рис 3.1), звуко-излучателя (рис 3.2), термометра (рис 3.3) и часов (рис 3.4). Каждый из блоков реализации по команде оператора возвращает управление блоку основного меню.
Рисунок 3.1 - Вывод на LCD блока основного меню, точка входа в блок реализации вольтметра
Рисунок 3.2 - Вывод на LCD блока основного меню, точка входа в блок реализации звуко-излучателя
Рисунок 3.3 - Вывод на LCD блока основного меню, точка входа в блок реализации термометра
Рисунок 3.4 - Вывод на LCD блока основного меню, точка входа в блок реализации часов
Блок реализации вольтметра осуществляет взаимодействие USART , универсального синхронно-асинхронный приёмо-передатчика, и термодатчика TC74. Выводит считанную с термодатчика информацию на LCD(рис 3.5).
Рисунок 3.5 - Вывод на LCD блока реализации вольтметра
Блок реализации звуко-излучателя позволяет излучать звуки с различной частотой и длительностью импульсов при помощи широтно-импульсного модулятора. Текущие значения, длительности импульсов и частоты их возникновения, которые пользователь может менять непосредственно во время выполнения данного блока, выводятся на LCD (рис. 3.6).
Рисунок 3.6 - Вывод на LCD блока реализации звуко-излучателя
Блок реализации термометра осуществляет взаимодействия модуля SSP, синхронного последовательного порта, и термодатчика TC 74. Текущее значение температуры полученное в результате работы блока выводится на LCD (рис. 3.7).
Рисунок 3.7 - Вывод на LCD блока реализации термометра
Блок реализации часов отображает текущее время на LCD (рис. 3.7) и позволяет вызвать блок установки текущего времени. В момент вызова блока часов из основного меню текущее время устанавливается в ноль. При возвращении из блока установки часов блок реализации часов продолжает увеличивать время, которое выставили.
Рисунок 3.8 - Вывод на LCD блока реализации часов
Блок установки часов позволяет установить текущее значение минут (рис. 3.9), часов (рис. 3.10) и вернуться в блок реализации часов (рис. 3.11).
Рисунок 3.9 - Вывод на LCD блока установки часов, установка текущего значения минут
Рисунок 3.10 - Вывод на LCD блока установки часов, установка текущего значения часов
Рисунок 3.11 - Вывод на LCD блока установки часов, предложение оператору вернуться в блок реализации часов
Рассмотрим схему взаимодействия отдельных блоков устройства (рис. 3.12).
Рисунок 3.12 - Структурная схема микроконтроллера PIC18F4520
Описание основных модулей микроконтроллера
3.1.1Интерфейс I2C
I2C - это двухпроводной последовательный интерфейс, разработанный компанией Philips. К данной шине могут быть подключены устройства с различными скоростями доступа, если скорость передачи данных будет удовлетворять требованиям самого низкоскоростного устройства.
Протокол передачи данных по шине I2C разработан таким образом, чтобы гарантировать надежный качественный прием/передачу данных. При передаче данных одно устройство является Ведущим, которое инициирует передачу данных и формирует сигналы синхронизации. Другое устройство Ведомое, которое может начать передачу данных только по команде ведущего шины.
Модуль MSSP аппаратно поддерживает режим ведущего/ведомого I2C, адрес общего вызова и скорость обмена данными до 1 Мбит/с. Каждое устройство на шине I2C имеет уникальный адрес. Когда ведущий инициирует передачу данных, то сначала передается адрес устройства, к которому выполняется обращение. Остальные устройства проверяют адрес, переданный ведущим.
В состав байта адреса входит бит направления передачи данных (выполняется чтение из ведомого или запись) [10].
3.1.2Аналого-цифровой преобразователь
Модуль аналого-цифрового преобразования (АЦП) имеет до восьми входных сигналов. Входной аналоговый сигнал через коммутатор каналов заряжает внутренний конденсатор АЦП Сhold.
Модуль АЦП преобразует напряжение, удерживаемое на конденсаторе Сhold, в соответствующий 8-разрядный цифровой код методом последовательного приближения. Источник опорного напряжения может быть программно выбран с вывода VDD или VREF. Допускается работа АЦП в SLEEP режиме микроконтроллера, при этом в качестве источника должен быть выбран RC генератор.
Для управления АЦП используется 3 регистра:
-регистр результата ADRES;
-регистр управления ADCON0;
-регистр управления ADCON1;
-регистр управления AD