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 реализована благодаря прерываниям МК.
Общий объем кода составляет более двухсот строк кода. Весь исходный код находится на компакт диске. Исходный код основных функций с комментариями изложен в приложении Д.
Организация связи на железнодорожном транспорте на примере Свердловской железной дороги
Открытое
акционерное общество «Российские железные дороги» (ОАО «РЖД»)
Филиал
«Свердловская железная дорога»
Свердловский
региональный центр связи (С ...
Разработка интегрированной системы управления отделением разваривания на спиртзаводе на основе программируемого логического контроллера Modicon TSX Momentum
Автоматизация технологических процессов - этап комплексной механизации,
характеризуемый освобождением человека от непосредственного выполнения функций
управ ...
Моделирование волноводных устройств СВЧ
Прогресс
радиоэлектроники сопровождается быстрым развитием теории и техники СВЧ -
устройств. Возрастает сложность СВЧ трактов, повышаются требования к
элек ...
Меню сайта
2025 © www.informaticspoint.ru