Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет_5.2.docx
Скачиваний:
1
Добавлен:
16.07.2019
Размер:
1.34 Mб
Скачать

Санкт-Петербургский государственный политехнический университет

Факультет технической кибернетики

Кафедра компьютерных систем и программных технологий

Отчёт по лабораторной работе

«Работа с портами МК»

Работу выполнили студенты группы № 4081/13

Бойцев Андрей Сергеевич ______________

Скирёв Сергей Игоревич ______________

Работу принял преподаватель ______________

Павловский Евгений Григорьевич ______________

Санкт-Петербург

2011

  1. Цель работы:

  • знакомство с организацией взаимодействия МК с внешними устройствами (цифровыми и аналоговыми), подключаемыми с помощью портов МК;

  • овладение приемами программирования периферийных устройств, входящих в состав лабораторного стенда.

  1. Программа работы:

Реализовать структуры информационных связей МК с периферийными устройствами в соответствии с заданным вариантом, а так же:

  • Разработать и выполнить программу, выводящую на ЖКИ двухстрочного текста

  • Разработать и выполнить программу, реализующую опрос клавиатуры и запись кодов состояния клавиш в ячейки памяти с адресами 30h…33h

  • Модифицировать программу «опрос клавиатуры», дополнив ее модулем определения номера нажатой клавиши.

  • Разработать программу, выводящую на ЖКИ номер нажатой клавиши.

  • Разработать и выполнить программу реализующую вывод на ЖКИ цифровых кодов (эквивалентов) аналоговых сигналов от двух источников.

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

Вариант задания №4:

Рис. 1. Заданные параметры для выполнения лабораторной работы

  1. Теоретические сведения:

Порты

В данном цикле работ исследуются порты микроконтроллера, а так же исследуется работа аналого-цифрового преобразователя, встроенного в микроконтроллер.

Микроконтроллер SAB 80C515 содержит в своём составе шесть двунаправленных портов ввода-вывода параллельной информации P0 - P5, предназначенных для обмена информацией с внешними устройствами. Все эти порты 8-ми разрядные. Каждый из них можно по отдельности настроить на ввод (передача из внешнего устройства в МК) или на вывод (передача из МК во внешнее устройство). Порты P1 – P5 на самом деле квазидвунаправленные, т.е. имеют задаваемую программно функцию ввода-вывода, которую нельзя менять во время работы. По-настоящему двунаправленным портом является порт P0.

Отличительной особенностью портов P0 – P5 является возможность побитовой обработки содержимого отдельных разрядов порта. Так же у микроконтроллера имеется седьмой порт P6, который используется для ввода в микроконтроллер аналоговой информации для АЦП.

Помимо прочего порты P0-P3 могут использоваться для реализации специальных функций. Порты P0 и P2 могут использоваться для подключения к микроконтроллеру внешней памяти. Порт P0 может использоваться либо в качестве 8-битной шины данных, либо для задания младшего байта адреса внешней памяти. Порт P3 может использоваться для задания старшего байта адреса внешней памяти.

Порты P1 и P3 могут использоваться при работе последовательного порта. Кроме того они могут использоваться как выводы для подключения источников внешний прерываний. Так же выводы порта P1 могут использоваться для организации линий быстрого ввода-вывода.

АЦП

В микроконтроллере SAB 80C515 имеется встроенный аналого-цифровой преобразователь. В зависимости от инициализации АЦП можно преобразовывать аналоговые сигналы с 8-ми различных выводов порта P6. АЦП позволяет преобразовывать входные аналоговые сигналы в диапазоне от 0 до 5В в восьмиразрядный двоичный код с точностью от 5 до 20мВ. В зависимости от априорной информации о диапазоне изменения входного аналогового сигнала можно задавать различные диапазоны преобразования для АЦП, что позволяет увеличить точность преобразования.

Кроме встроенных в микроконтроллер периферийных устройств в данной работе используются и внешние периферийные устройства: 16-кнопочная клавиатура, жидкокристаллический индикатор (ЖКИ) на 2 строки по 20 символов, а также два источника аналоговых сигналов: потенциометр и интегратор прямоугольных импульсов.

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

Для управления ЖКИ используется восьмиразрядная шина, по которой могут передаваться как управляющие команды, так и данные, которые отображаются на экране. Для управления ЖКИ используются три линии управления: E, RS и RW. Линия E используется для стробирования и синхронизации. Сигнал RS используется для указания, что передается в ЖКИ: команда или данные. RW указывает на направление передачи: из микроконтроллера в ЖКИ или наоборот.

Клавиатура

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

Используемый в лабораторном стенде вариант схемы объединения 16-ти клавиш пульта в клавиатуру показан на рисунке 2.

Рис. 2. Схема организации клавиатуры лабораторного стенда

Для подключения клавиатуры к МК необходимо использовать два порта МК: порт ввода, подсоединенный к выходной шине клавиатуры и порт вывода, соединяемый с входной шиной клавиатуры. Один из вариантов представлен на рисунке 3.

Рис. 3. Вариант схемы подключения клавиатуры к МК

Для определения состояния клавиатуры необходимо сформировать входные сигналы опроса клавиатуры и считать ее состояние. Входные воздействия и выходная реакция показаны в таблице 1.

Таблица 1

ЖКИ

В лабораторный стенд встроен модуль ЖКИ (рисунок 4). Дисплей имеет двустрочное табло ЖК-индикаторов по 20 символов в каждой строке. Для соединения модуля ЖКИ с МК используется 8-разрядная двунаправленная шина данных (DB7-DB0) и 3 линии сигналов управления физическим интерфейсом модуля.

Рис. 4. Упрощенная структурная схема контроллера управления модулем ЖКИ

Выбор адресуемого регистра производится сигналом линии RS. При RS=0 адресуется регистр команд IR, и на модуль ЖКИ поступают команды или из него считывается байт состояния. При RS=1 осуществляется обмен данными между регистром данных DR ЖКИ и МК.

Сигнал R/W указывает направление передачи информации: при R/W=1 осуществляется чтение данных из ЖКИ, а при R/W=0 выполняется запись данных в ЖКИ.

Сигнал стробирования/синхронизации Е является сигналом, фиксирующим элементарное действие при работе с модулем ЖКИ.

Для отображения на ЖК-табло как цифровой, так и не цифровой информации модуль ЖКИ использует изображения символов, представленных в виде битовых матриц 5*7 точек. Коды битовых матриц хранятся в постоянной памяти кодов символов (ПЗУ знакогенератора). Каждый из символов идентифицируется собственным НЕХ-кодом (таблица 2).

Таблица 2

Принципиальная схема и схема соединений:

Рис.5. Схема соединений

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]