- •Отчёт по лабораторной работе
- •Цель работы:
- •Программа работы:
- •Теоретические сведения:
- •Выполнение заданий
- •Вывод на экран жки двухстрочного текста
- •Опрос клавиатуры
- •Определение номера нажатой клавиши
- •Вывод на экран жки номера нажатой клавиши
- •Аналого-цифровое преобразование
- •Аналого-цифровое преобразование и демонстрация скорости обработки изменяющегося сигнала
Санкт-Петербургский государственный политехнический университет
Факультет технической кибернетики
Кафедра компьютерных систем и программных технологий
Отчёт по лабораторной работе
«Работа с портами МК»
Работу выполнили студенты группы № 4081/13
Бойцев Андрей Сергеевич ______________
Скирёв Сергей Игоревич ______________
Работу принял преподаватель ______________
Павловский Евгений Григорьевич ______________
Санкт-Петербург
2011
Цель работы:
знакомство с организацией взаимодействия МК с внешними устройствами (цифровыми и аналоговыми), подключаемыми с помощью портов МК;
овладение приемами программирования периферийных устройств, входящих в состав лабораторного стенда.
Программа работы:
Реализовать структуры информационных связей МК с периферийными устройствами в соответствии с заданным вариантом, а так же:
Разработать и выполнить программу, выводящую на ЖКИ двухстрочного текста
Разработать и выполнить программу, реализующую опрос клавиатуры и запись кодов состояния клавиш в ячейки памяти с адресами 30h…33h
Модифицировать программу «опрос клавиатуры», дополнив ее модулем определения номера нажатой клавиши.
Разработать программу, выводящую на ЖКИ номер нажатой клавиши.
Разработать и выполнить программу реализующую вывод на ЖКИ цифровых кодов (эквивалентов) аналоговых сигналов от двух источников.
На основе предыдущей программы разработать программу, выводящую на ЖКИ не только цифровые эквиваленты аналоговых сигналов, но и скорость изменения сигналов.
Вариант задания №4:
Рис. 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. Схема соединений