Устройство измерения температуры окружающей среды, напряжения на выходах потенциометра, управление звуковым излучателем и часы

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

CON2.

регистр ADCON0 используются для настройки работы модуля АЦП, а с помощью регистра ADCON1 устанавливается, какие входы микроконтроллера будут использоваться модулем АЦП и в каком режиме (аналоговый вход или цифровой порт ввода/вывода) [10].

 

3.1.3LCD - экран

Модуль LCD формирует все необходимые сигналы синхронизации для управления статическими ЖКИ с поддержкой до 32 сегмента, 4 общих выводов и управление пикселями ЖКИ.

Для управления модулем LCD используется три регистра (LCDCON, LCDSE и LCDPS), с помощью которых можно настроить параметры рабочего модуля, и до 16 регистров данных, в которых сохраняется массив данных пикселей.

Источником тактового сигнала для модуля LCD в режиме SLEEP или при низкой тактовой частоте микроконтроллера является внутренний RC генератор с номинальной частотой 14кГц [10].

 

3.1.4Порты ввода/вывода

Все пины микроконтроллера сгруппированы. Эти группы пинов и называются портами ввода/вывода. В микроконтроллерах PIC принято, что порты перечисляются с помощью букв латинского алфавита. Например: PORTA, PORTB…, PORTE. В порт может быть сгруппировано различное количество пинов. Их количество в портах зависит от типа микроконтроллера. Также, большая часть пинов микроконтроллеров имеет альтернативные функции (стандартным считается, что пин используется либо, как дискретный вход, либо, как дискретный выход). Порты микроконтроллеров серии PIC18 управляются с использованием 3-х регистров: PORTx, TRISx, LATx. Где x - буква порта ввода/вывода. Регистр PORTx используется обычно для чтения входных дискретных сигналов. Чтобы записать бит в порт, сначала микроконтроллер читает весь порт, потом в прочитанном значении модифицирует бит, а потом обратно, весь порт записывает. Данный механизм может сыграть плохую шутку. Если у Вас на каком - либо из битов порта висит большая токопотребляющая нагрузка, то есть вероятность прочитать ноль по этому биту, хотя Вы записали ранее на выход бита единицу. Тем самым после модификации, обратно может записаться в тот бит ноль. А в программе Вы будете считать, что на выходе у Вас единица. Чтобы избежать этого, добавлен регистр LATx. Запись в него не вызывает чтение физических уровней порта. Т.е. чтобы изменить значения на выводах порта, необходимо использовать регистр LATx. Регистр TRISx задает направление пинов порта. Если бит этого регистра установлен в единицу, то данный пин будет сконфигурирован, как вход. Если ноль - как выход.

 

3.1.5Адресуемый универсальный синхронно-асинхронный приёмопередатчик (USART)

USART - это один из модулей последовательного порта ввода/вывода, который может работать в полнодуплексном режиме для связи с микросхемами ЦАП, АЦП, последовательными EEPROM и т.д.

USART может работать в одном из трёх режимов:

Асинхронный, полный дуплекс;

Ведомый синхронный, полудуплекс;

Ведущий синхронный, полудуплекс.

Для работы модуля USART предусмотрено два регистра:

TXSTA - регистр управления и статуса передатчика USART;

RCSTA - регистр управления и статуса приёмник USART.

Регистр SPBRG влияет на скорость обмена в бодах.

 

4Технический проект

 

На данном этапе происходит описание и моделирование функций языка программирования, выбор организации проекта и принципов построения моделей и т.д.

Выполняются следующие работы:

-составление и описание блоков на языке программирования;

-определяются межблоковые связи;

-описание констант и переменных;

-отладка проекта (пошаговое тестирование основных блоков программы в процессе написания и исправление некорректной работы);

Далее подробно описаны все вышеперечисленные этапы [3].

 

4.1 Построение проекта

 

Осуществив, все выше изложенные этапы проектирования и проанализировав эскизный проект, мы переходим к следующей стадии проектирования - технический проект, а именно к описанию проекта для ввода в микроконтроллер PIC18F4520.

При описании моделей на языках программирования большое внимание следует уделять конструкциям языка [4]. Так нужно использовать конструкции, которые воспринимаются программой программирования микроконтроллера, а также оптимизировать конструкции для достижения наименьших аппаратных затрат. Данный процесс очень трудоемкий и требует совершенного знания языка и программы проводящей программирования микроконтроллера.

Рисунок 4.1 - Связи файлов в проекте

 

4.2Описание интерфейса

 

Принципы построения модели включает методологию написания языкового кода. Спецификация составляется на всю программу, состоящую из основных блоков в соответствие со следующими этапами.

Необходимо выполнить анализ требуемых входных параметров и констант, а также определить их тип и начальные значения.

Начальные значения выбираются в соответствие с описанием устройства. Тип параметров - char целочисленный тип. При этом по умолчанию используется модификатор типа unsigned, который указывает, что переменная принимает неотрицательные значения.

При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения [7].

 

Таблица 4.1 Описание интерфейса всей программы

ВходыНачальные значенияТипОписаниеptr_pos-unsigned charПеременная для указания строки из массива стандартных строкcmd_byte0x01unsigned intПеременная для организации взаимодействия SSP и TC74temperature-unsigned intПеременная для хранения значения текущей температурыseconds, minutes, hours-unsigned intПеременные для хранения значения текущ?/p>