
ФГБОУ ВО
«Уфимский университет науки и технологий»
Кафедра АСУ
Отчет по лабораторной работе №2
по дисциплине «Микропроцессорные системы управления»
на тему: «Изучение микроконтроллера MSP430.
Последовательный ввод-вывод и индикация»
Выполнил: ст. гр. ИВТ-429Б
Саляхов А.Ф.
НЗК: 17134058
Проверил:
Старцев Ю.В.
Уфа 2024
Цель работы:
Изучение основных средств микроконтроллера MSP430 для обмена данными по последовательному интерфейсу, выводу символьной информации на знак синтезирующие индикаторы. Изучение основных приемов программирования микроконтроллера MSP430 для обмена данными по последовательному интерфейсу.
Краткие теоретические сведения:
В микроконтроллерах MSP430 последовательный интерфейс реализован в виде модулей двух типов.
В микроконтроллерах MSP430x20xx реализован модуль универсального последовательного интерфейса USI. Он позволяет организовать обмен данными с внешними устройствами по интерфейсам SPI и I2C. SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса [9]. I²C (англ. Inter-Integrated Circuit)— последовательная шина данных для связи интегральных схем, использующая две двунаправленные линии связи. Используется для соединения низкоскоростных периферийных компонентов с материнской платой, встраиваемыми системами и мобильными телефонами.
IrDA (англ. Infrared Data Association — Инфракрасный порт, ИК-порт) — группа стандартов, описывающая протоколы физического и логического уровня передачи данных с использованием инфракрасного диапазона световых волн в качестве среды передачи [11].
UART (англ. Universal Asynchronous Receiver-Transmitter — Универсальный асинхронный приёмопередатчик, УАПП) — узел вычислительных устройств, предназначенный для связи с другими цифровыми устройствами.
Как показано на рисунке, символ, передаваемый UART, содержит старт-бит, семь или восемь битов данных, бит чётности, бит адреса (в соответствующем режиме), а также один или два стоп-бита. Порядок передачи битов данных программируется. При использовании UART данные могут передаваться, начиная как с младшего, так и со старшего значащего бита.
Подключение 3-позиционного индикатора к микроконтроллеру
О
писание
лабораторной установки:
Внутри корпуса лабораторной установки размещены:
плата отладочного модуля MSP430 LaunchPad (MSP-EXP430G2);
4-позиционный дисплей отображения информации на основе 7-сегментных светодиодных индикаторов SHD0028G(R);
пьезокерамический излучатель ЗП-1, предназначенный для получения звуковых эффектов.
Для программирования отладочного модуля MSP430 LaunchPad (MSP-EXP430G2) в лабораторной работе используется среда разработки Energia. Для поддержки операций с последовательным интерфейсом в составе среды Energia имеется специализированный модуль Serial Monitor
Ход работы:
1. Подключил отладочный модуль MSP430 LaunchPad с установленным в DIP-гнездо микроконтроллером MSP430G2452 или MSP430G2553 при помощи кабеля к разъему порта USB компьютера. Запустил среду разработки Energia. Произвел настройку связи среды разработки Energia с отладочным модулем LaunchPad.
2. Написал, отладил и протестировал программу приема последовательности трех символов из последовательного порта. Для каждого принятого символа записывала в последовательный порт:
• количество принятых байт в буфере приемника,
• принятый символ,
• десятичный ASCII-код символа,
• шестнадцатиричный ASCII-код символа.
Изучил пример Examples/Communication/ASCIITable. Прошил его в микроконтроллер и проверил работу, используя окно Serial Monitor. Для чтения данных из последовательного порта использовал функцию Serial.read(). Установил, сколько всего байт читается из порта функцией Serial.read(), анализировал все принятые байты. В качестве тестовой последовательности использовать первую букву фамилии (S) и две последние цифры номера зачетной книжки (48). Для вывода информации в последовательный порт использовать функции Serial.write(), Serial.print(), Serial.println().
Текст программы:
Вывод:
Программа готова к приему данных.
Количество байт в буфере: 1
Принятый символ: S
Десятичный ASCII-код символа: 83
Шестнадцатеричный ASCII-код символа: 0x53
------------------------------
Количество байт в буфере: 1
Принятый символ: 5
Десятичный ASCII-код символа: 53
Шестнадцатеричный ASCII-код символа: 0x35
------------------------------
Количество байт в буфере: 1
Принятый символ: 8
Десятичный ASCII-код символа: 56
Шестнадцатеричный ASCII-код символа: 0x38
------------------------------
3. Подключил плату расширения к плате LaunchPad. Подключили к плате расширения кабель от гнезда питания. Подключили гнездо питания к свободному порту USB компьютера.
4. Написал, отладил и протестировал программу отображения на светодиодном 7-сегментном индикаторе последовательно 20 символов – цифр от 0 до 9 и их же в комбинации с десятичной точкой в бесконечном цикле. Смена символа должна сопровождаться изменением свечения красного и зеленого светодиодов.
Цифра
|
|
Сегменты |
||
0 |
0b00111111 |
a b c d e f |
||
1 |
0b00000110 |
b c |
||
2 |
0b01011011 |
a b g e d |
||
3 |
0b01001111 |
a b g c d |
||
4 |
0b01100110 |
f g b c |
||
5 |
0b01101101 |
a f g c d |
||
6 |
0b01111101 |
a f e d c g |
||
7 |
0b00000111 |
a b c |
||
8 |
0b01111111 |
все |
||
9 |
0b01101111 |
a b g f c d |
Цифры от 0 до 9 выводятся на 7-сегментный индикатор.
Для каждой цифры сначала выводится символ без точки, затем — тот же символ с десятичной точкой.
Красный и зеленый светодиоды меняются по очереди при каждом изменении символа.
5. Отключил кабель питания от платы расширения. Отключила плату расширения от платы LaunchPad. Подключила клавиатуру к выводам микроконтроллера: выводы строк клавиатуры – к линиям порта P2.2, P2.1, P2.0, P1.5; выводы столбцов клавиатуры – к линиям порта P2.3, P2.4, P2.5. Написала и отладил программу чтения нажатия кнопки клавиатуры с выводом кода нажатой кнопки в последовательный порт. Произвела прошивку программы в микроконтроллер и проверила ее работу.
Сканирование нажатия кнопки и отправка кода кнопки в последовательный порт.
6. Подключила 4-позиционный светодиодный дисплей к линиям порта P1.4, P1.3, P1.2, P1.1. Написала и отладила программу чтения нажатия кнопки клавиатуры с выводом кода нажатой кнопки на 4-позиционный дисплей. Произвела прошивку программы в микроконтроллер и проверила ее работу.
Удалена работа с последовательным портом.
Добавлен вывод символа на 4-позиционный дисплей вместо передачи данных в порт.
Добавлены функции для генерации сигналов LATCH и ENABLE с заданными временными задержками:
Минимальная длительность сигнала LATCH — 50 мс.
Задержка между сигналами LATCH и ENABLE — 50 мс.
Минимальная длительность сигнала ENABLE — 50 мс.
Клавиши * и # обрабатываются особым образом:
* отображается как пустой символ, а # — как буква 'H'.
Вывод:
В данной лабораторной работе создали простые программы обмена данными между отладочным модулем MSP430 LaunchPad и персональным компьютером по последовательному интерфейсу. Создала программы вывода символьной информации на знакосинтезирующие индикаторы, отображения нажатия кнопок клавиатуры с помощью среды программирования Energia. Прошили микроконтроллер и проверили работы программ.
Контрольные вопросы: