- •Микропроцессорные информационно-управляющие системы и устройства железнодорожного транспорта
- •Содержание
- •Микропроцессорные информационно–управляющие системы и устройства железнодорожной автоматики, телемеханики и связи (миус) календарный план лабораторных занятий на 2012/13 уч. Год
- •Лабораторная работа 1. Последовательный порт однокристальных микроконтроллеров семейства Intel 8051
- •Цель работы
- •Общие сведения
- •Подготовка к работе
- •Выполнение работы
- •Содержание отчета
- •Лабораторная работа 2. Этапы Подготовки программного обеспечения для микропроцессорных систем.
- •Цель работы
- •Общие сведения
- •2.1. Этапы подготовки программного обеспечения мп-систем
- •2.2. Универсальные программаторы фирмы «Фитон»
- •2.3. Последовательность работы с программой Phyton xxxProg
- •Сейчас будет выполнено полное тестирование аппаратуры программатора. Убедитесь, что в колодке программатора нет микросхемы
- •Не удается связаться с аппаратурой программатора
- •2.3.3. Загрузка, сохранение данных. Откройте диалог «Загрузить файл» в меню «Файл». Укажите имя загружаемого файла и путь к нему. Для поиска файла воспользуйтесь кнопкой «Обзор».
- •Программаторы поддерживают следующие форматы файлов:
- •Подготовка к работе
- •Выполнение работы
- •Содержание отчета
- •1. Цель работы
- •2. Общие сведения
- •3. Подготовка к работе
- •4. Выполнение работы
- •Проверка работоспособности устройств платы контроллера-конструктора kit-552-p
- •Проверка работы программы циклической передачи данных в последовательный порт
- •5. Содержание отчета
- •Внешний вид платы контроллера конструктора kit-552-p
- •Лабораторная работа 4. Изучение системы команд
- •Цель работы
- •Общие сведения
- •Особенности архитектуры.
- •Организация памяти pic-контроллеров среднего семейства.
- •2.3. Система команд pic-контроллеров среднего семейства.
- •Подготовка к работе
- •Выполнение работы
- •Содержание отчета
- •Лабораторная работа 5. Изучение интегрированной среды разработки Программного обеспечения
- •Цель работы
- •Общие сведения
- •Подготовка к работе
- •4 Выполнение работы
- •4.1. Создание нового проекта, ввод исходного текста программы
- •4. 2. Компиляция исходного файла
- •4.3. Отладка программы
- •Содержание отчета
- •Панель инструментов программы mplab ide
- •Панель инструментов программы mplab ide представляет собой набор кнопок для вызова стандартных меню программы и дополнительный ряд кнопок для быстрого выбора функций и выполнения действий.
- •Меню программы mplab ide
- •Меню picstart Plus
- •Меню Option
- •Меню Tools
- •Меню Window
- •Цель работы
- •2. Общие сведения
- •Команды символьного протокола имеют следующий формат: Команда «мастера»: (Leading)(Address) (Command) [chk] (cr)
- •Символьные обозначения, использующиеся при описании протокола:
- •Пример основных команд символьного протокола:
- •3. Подготовка к работе
- •3.1. Нарисовать схему лабораторной установки по исследованию распределенной системы сбора информации на основе контроллеров ввода и вывода дискретных и аналоговых сигналов.
- •Выполнение работы
- •4.1. В схему лабораторной установки исследования распределенной системы сбора информации на основе контроллеров ввода и вывода аналоговых и дискретных сигналов включены следующие модули:
- •Содержание отчета
- •С хема лабораторной установки исследования распределенной системы сбора информации на основе контроллеров ввода и вывода дискретных и аналоговых сигналов
Лабораторная работа 1. Последовательный порт однокристальных микроконтроллеров семейства Intel 8051
Цель работы
Изучить особенности и режимы работы последовательного порта однокристальных микроконтроллеров семейства Intel 8051.
Общие сведения
Очень часто микроконтроллеры работают не обособленно, а в составе сложной МП-системы. Они занимаются сбором и предварительной обработкой информации, которая затем передается на более высокий уровень (например, в технологическую микро-ЭВМ).
Производить параллельный обмен в такой ситуации неудобно – требуется использование множества линий связи. Поэтому большинство ЭВМ имеют в своем составе средство обмена по последовательному интерфейсу – последовательный порт.
Микроконтроллеры семейства Intel 8051 имеют в своем составе универсальный асинхронный приёмопередатчик - UART (Universal Asynchronous Receiver-Transmitter). Передача информации производится последовательным кодом (младшим битом вперед), в дуплексном режиме обмена. В резидентной памяти программ для последовательного порта зарезервирован адрес вектора прерывания - 23H. Работой UART управляют два регистра специальных функций. Регистр управления/статуса SCON и специальный буферный регистр SBUF.
Регистр SBUF представляет собой два независимых регистра: буфер приёмника и буфер передатчика. Загрузка байта в SBUF немедленно вызывает начало процесса передачи через последовательный порт (используется внешний вывод TхD). Когда байт считывается из SBUF, это значит, что его источником является буфер приёмника последовательного порта (используется вход приемника RхD). Данные передаются/принимаются младшим битом вперед. Последовательный порт может работать в четырех различных режимах.
Регистр SCON предназначен для управления и контроля состояния UART. Регистр содержит управляющие биты выбора режима работы, девятый бит передаваемых данных, а также биты прерывания.
Таблица 1 – Формат регистра управления SCON
Символ |
Разряд |
Имя и назначение |
SM0 |
SCON.7 |
Биты 0 и 1 управления режимом работы UART. Устанавливаются/сбрасываются программно. |
SM1 |
SCON.6 |
|
SM2 |
SCON.5 |
Бит управления режимом UART. Устанавливается программно для запрета приёма сообщения, в котором девятый бит равен 0 |
REN |
SCON.4 |
Бит разрешения приёма. Устанавливается/сбрасывается программно для разрешения/запрета приёма последовательных данных. |
TB8 |
SCON.3 |
Передача бита 8. Устанавливается/сбрасывается программно для задания девятого передаваемого бита |
RB8 |
SCON.2 |
Приём бита 8. Устанавливается/сбрасывается аппаратно для фиксации девятого принимаемого бита |
TI |
SCON.1 |
Флаг прерывания передатчика. Устанавливается аппаратно при окончании передачи. Сбрасывается программно после обслуживания прерывания |
RI |
SCON.0 |
Флаг прерывания приёмника. Устанавливается аппаратно по окончании приема. Сбрасывается программно после обслуживания прерывания |
Таблица 2 – Выбор режима работы UART
SM0 |
SM1 |
Режим работы |
0 |
0 |
Режим 0. Сдвигающий регистр ввода/вывода. Фиксированная скорость передачи |
0 |
1 |
Режим 1. Режим UART - 8 бит. Изменяемая скорость передачи |
1 |
0 |
Режим 2. Режим UART - 9 бит. Фиксированная скорость передачи |
1 |
1 |
Режим 3. Режим UART - 9 бит. Изменяемая скорость передачи |
Режим 0 - восемь бит данных передаются и принимаются через вход приёмника RхD. Выход передатчика TхD используется для выдачи импульсов синхронизации, которые сопровождают каждый бит. За один машинный цикл передаётся один бит. Частота передачи равна FРЕЗ/12.
Режим 1 - передаются или принимаются 10 бит данных в формате:
старт-бит=0, 8 бит данных, стоп-бит=1
Скорость приёма/передачи задаётся таймером.
Режим 2 - передаются или принимаются 11 бит данных в формате:
старт-бит=0, 8 бит данных, программируемый девятый бит В8, стоп-бит=1
Девятый бит может использоваться для повышения достоверности путём контроля чётности, в него можно записать значение признака паритета из PSW. Частота приёма/передачи выбирается программно и может быть равна FРЕЗ/32 или FРЕЗ/64 частоты резонатора в зависимости от состояния бита SMOD в регистре PCON.
Режим 3 - совпадает с режимом 2, но частота приёма/передачи задаётся таймером.
Пример. Произвести циклический вывод через последовательный порт кода символа "*" при рабочей частоте микроконтроллера 11,059 МГц и скорости передачи данных 1200 Бод. Каждый цикл должен сопровождаться стробирующим сигналом на линии Р1.1 микроконтроллера длительностью 200 мкс.
Для циклической передачи данных с произвольной скоростью наиболее часто используется Режим 1. Учитывая особенности архитектуры и системы команд микроконтроллера алгоритм работы программы можно реализовать несколькими способами. Но в любом случае необходимо выполнить следующие действия по настройке и организации работы последовательного порта.
Выбрать для последовательного порта Режим 1, установив соответствующие биты регистра SCON. Для этого необходимо записать в регистр SCON число 0100 0000В – 40h.
Выбрать для таймера режим 2 с автоперезагрузкой при помощи соответствующих битов в регистре TMOD, записав число 0010 0000В – 20h.
Запрограммировать таймер Т1 на заданную скорость передачи данных, загрузив в старший регистр таймера TH1 соответствующее число.
Частота передачи данных последовательного порта задается таймером в режиме с автоперезагрузкой и определяется выражением:
F= 2SMODFРЕЗ/(32х12х(256 —ТНn)),
где SMOD – состояние управляющего бита SMOD в регистре PCON, для примера SMOD=0;
FРЕЗ – частота кварцевого резонатора, для примера FРЕЗ = 11,059 МГц;
ТНn – содержимое регистра старшего байта таймера n, для примера TH1= E8h=232.
F= 20 x 11,059х106/(32х 12(256-232))=11,059х106/(384х24)=1,119 кГц
Таким образом, при скорости передачи данных 1200 Бод и частоте 11,059 МГц необходимо загрузить в регистр TH1 число 0Е8h (см. таблицу П1).
Запустить таймер Т1, установив бит TR1.
Записать в буферный регистр последовательного порта SBUF код символа "*" – 2Ah (таблица П2).
Для организации циклического вывода после каждого цикла передачи данных выполнять сброс флага передатчика TI и записывать код символа в буфер.
Вариант программы 1 использует проверку состояния флага передатчика TI, который устанавливается аппаратно по окончании передачи. Для организации циклического вывода данных после каждой передачи необходимо выполнять сброс флага передатчика TI и записывать код символа в буфер.
Формирование стробирующего сигнала на линии Р1.1 длительностью 200 мкс реализовано при помощи подпрограммы STROBE_200.
START: CLR P1.1 ;сброс сигнала на линии P1.1
MOV SCON,#40h ;выбор Режима 1 для последовательного порта
MOV TMOD,#20h ;выбор Режима 2 для таймера Т1
MOV TH1,#0E8h ;выбор скорости передачи данных 1200 Бод при F=11,059 МГц
SETB TR1 ;запуск таймера Т1
M1: MOV SBUF,#’*’ ;загрузка в буфер последовательного порта символа '*’
CALL STROBE_200
WAIT: JNB TI, WAIT ;цикл ожидания окончания передачи, проверка флага TI
CLR TI ;сброс флага прерывания передатчика
JMP M1 ;переход к новому циклу передачи данных
STROBE_200: SETB P1.1 ;формирование сигнала на линии P1.1
MOV R1,#92 ;длительность сигнала 92x2x(12/11,059)=200
DJNZ R1,$ ;проверка счетчика R1
CLR P1.1 ;сброс сигнала на линии P1.1
RET ;выход из подпрограммы
END
В варианте программы 2 по адресу вектора 23H размещена команда перехода к подпрограмме обслуживания прерывания последовательного порта Serial. Для организации обслуживания прерывания необходимо в регистр IE записать значение 1001 0000В – 90h, сняв блокировку прерываний битом ЕА, и разрешив прерывание последовательного порта битом ES.
JMP START
ORG 23h ;организация обслуживания прерывания
JMP SERIAL ;от последовательного порта
START: CLR P1.1 ;сброс сигнала на линии P1.1
MOV SCON,#40h ;выбор Режима 1 для последовательного порта
MOV TMOD,#20h ;выбор Режима 2 для таймера Т1
MOV TH1,#0E8h ;выбор скорости передачи данных 1200 Бод при F=11,059 МГц
MOV IE, #90H ;разрешение прерывания от последовательного порта
SETB TR1 ;запуск таймера Т1
MOV SBUF,#'*’ ;загрузка в буфер последовательного порта символа ‘*’
JMP $ ;цикл ожидания окончания передачи, проверка флага TI
SERIAL: CLR TI ;сброс флага прерывания передатчика
MOV SBUF,#'*' ;загрузка в буфер последовательного порта символа '*'
CALL STROBE_200 ;вызов подпрограммы формирования 200 мкс
RETI ;выход из прерывания
STROBE_200: SETB P1.1 ;установка сигнала на линии P1.1
MOV R1,#92 ;формирование длительности сигнала 92x2x(12/11,059)=200
DJNZ R1,$ ;проверка счетчика R1
CLR P1.1 ;сброс строб-сигнала на линии P1.1
RET ;выход из подпрограммы
END
