Informatics Point
Информатика и проектирование
Программа работы микроконтроллера написана на языке программирования C в среде разработки Atmel Studio версии 6.1.
Для работы с дисплеем на основе контроллера HD44780 была написана библиотека, исходный код которой содержится на компакт диске. Основные функции данной библиотеки:
. void LcdInit(void); - Функция инициализации дисплея. Данная функция содержит в себе набор команд необходимых для включения дисплея, выбора режима работы и очитки видеопамяти для последующей работы с ней.
. void LcdSetToLcd(unsigned char command,unsigned char x); - Функция отсылки команд и данных контроллеру дисплея. Первый параметр данной функции определяет тип отсылаемого пакета:
.1 Пакет команд. В качестве аргумента используется константа LCD_COMMAND.
.2 Пакет данных. В качестве аргумента используется константа LCD_DATA.
Второй параметр представляет собой данные отправляемые контроллеру.
. void LcdConvertIntDisplay(int16_t u); - Функция автоматической конвертации целочисленной константы со знаком в строковую переменную с последующей записи ее в видеопамять дисплея.
. void LcdFillSpace(); - Функция очистки видеопамяти за курсивом.
. void LcdDrawString(char* str_); - Функция записи строковой переменной в видеопамять дисплея.
. void LcdGoToPos(uint16_t pos_); - Функция перемещения курсива. Параметром данной функции является номер ячейки видеопамяти в которую должен быть перемещен курсив.
Для работы с температурным датчиком DS18B20 написана библиотека, исходный код которой содержится на компакт диске. Основные функции данной библиотеки:
. uint8_t TempInit(void); - Функция инициализации датчика. Данная функция содержит в себе набор команд необходимых для включения датчика и выбора режима работы.
. char TempBeginConversion(void); - Функция начала преобразования температуры с последующей записи ее в буферную память. Данная функция возвращает результат операции:
.1 Возвращаемое значение 0 - ошибка связи с датчиком.
.2 Возвращаемое значение 1 - операция прошла успешно.
. int16_t TempGetTemp(void); - Функция передачи запроса на прием данных с последующим приемом. Данная функция возвращает результат операции в виде показаний датчика. В случае если датчик находится в стадии обработки температуры, возвращаемое значение равно 8191.
Для работы с АЦП МК написана библиотека, исходный код которой содержится на компакт диске. Основные функции данной библиотеки:
. void AdcInit(void); - Функция инициализации. Данная функция содержит в себе набор команд необходимых для включения АЦП микроконтроллера и выбора скорости преобразования.
. unsigned int GetAdc(unsigned char pin); - Функция начала преобразования. Параметром функции является константа определяющая номер вывода порта A с которого необходимо снять показания. Возвращаемое значение - результат обработки аналогово-цифровым преобразователем сигнала.
Обработка состояния кнопок клавиатуры (нажата/отпущена) происходит непрерывно во время переполнения TIMER1.
Для работы с USART написана библиотека. Основные функции:
. void UsartInit(void); - Функция инициализации. Данная функция содержит в себе набор команд необходимых для включения USAT микроконтроллера и выбора скорости передачи данных.
. void UsartSend(char x); - Функция передачи одного байта. Аргументом функции является передаваемый байт.
. void ConvertToStrAndSend(int16_t u); - Функция передающая через USART целочисленное значение размером 16 бит. Аргументом функции является передаваемое чмсло.
. void Calculate(char byte_); - Функция измеряющая параметры и передающая их через USART. Аргументом функции является байт определяющая какие параметры необходимо измерить и передать. Каждый бит байта принадлежит к определенному измеряемому параметру: первый - постоянное напряжение, второй - переменное напряжение, третий - постоянный ток, четвертый - переменный ток, пятый - сопротивление, шестой - температура. Т.е. для приема какого либо параметра на вход функции передается байт данных, содержащий в себе список параметров которые необходимо померять.
Выполнение программы контроллера начинается с функции main() состоящей из поля инициализации контроллера и основного цикла.
В поле инициализации происходит конфигурация выводов МК на входы и выходы, а так же включение и настройка необходимой периферии. В главном цикле программы существует непрерывный цикл обработки выбранного параметра измерения. Обработка показаний секундомера, нажатий кнопок, работа с USART реализована благодаря прерываниям МК.
Общий объем кода составляет более двухсот строк кода. Весь исходный код находится на компакт диске. Исходный код основных функций с комментариями изложен в приложении Д.
Цифровой таймер для насоса
Устройства способные облегчить жизнь в быту, уже давно заполнили наши
дома. Данное устройство, как раз одно из таких, и предназначено для
периодического зап ...
Расчет тиристорного преобразователя
1.
Техническое задание на проектирование
Данные
электродвигателя постоянного тока
Тип
двигателя
РН, кВт
...
Основы построения глобальной системы контроля Эшелон
«Эшелон» - общепринятое название глобальной системы
радиоэлектронной разведки и контроля, представляющей собой многонациональную
сеть электронных прослушива ...
Меню сайта
2024 © www.informaticspoint.ru