Методические указания публикуются в авторской редакции
Ректор университета
О.Н. Федонин
Г.
МИКРОПРОЦЕССОРНАЯ ТЕХНИКА В
МЕХАТРОНИКЕ И РОБОТОТЕХНИКЕ
РЕАЛИЗАЦИЯ ЛОГИЧЕСКОЙ ФУНКЦИИ НА ЯЗЫКЕ ASSEMBLER ДЛЯ МИКРОКОНТРОЛЛЕРА МОДЕЛИ АТ89С51
Методические указания
к выполнению лабораторной работы
для студентов очной формы обучения
по направлению
15.03.06 – «Мехатроника и робототехника»
Брянск 2016
УДК 004.384; 681.5
Микропроцессорная техника в мехатронике и робототехнике. Реализация логической функции на языке Assembler для микроконтроллера модели АТ89С51. [Электронный ресурс]: методические указания к выполнению лабораторной работы для студентов очной формы обучения по направлению 15.03.06 – «Мехатроника и робототехника». – Брянск: БГТУ, 2016. – 19 с.
Разработал Д.И. Петрешин,
докт. техн. наук, проф.
Рекомендовано кафедрой «Автоматизированные технологические системы» БГТУ (протокол № 1 от 11.01.16)
Научный редактор Компьютерный набор Иллюстрации | В.А. Хандожко Д.И. Петрешин Д.И. Петрешин |
Методические указания публикуются в авторской редакции
Подписано в печать Формат 60х84 1/16. Бумага офсетная.
Офсетная печать. Усл. печ. л. 1,1 Уч. – изд. л. 1,1 Тираж 1 экз.
Брянский государственный технический университет.
241035, Брянск, бульвар 50 лет Октября, 7, БГТУ.
Кафедра «Автоматизированные технологические системы», тел. 58-82-85
ВВЕДЕНИЕ
Работа любой цифровой системы управления может быть описана логической функцией. Логическая функция может быть реализована программой либо аппаратно, с помощью цифровых электронных схем.
Логическая функция - это функция, в которой переменные принимают только два значения: логическая единица или логический ноль. Истинность или ложность сложных суждений представляет собой функцию истинности или ложности простых. Эту функцию называют булевой функцией суждений f (a, b).
Любая логическая функция может быть задана с помощью таблицы истинности, в левой части которой записывается набор аргументов, а в правой части - соответствующие значения логической функции. При построении таблицы истинности необходимо учитывать порядок выполнения логических операций.
Правила построения логической функции по ее таблице истинности:
1) выделить в таблице истинности те строки, в которых значение функции равно 1;
2) выписать искомую формулу в виде дизъюнкции нескольких логических элементов. Число этих элементов равно числу выделенных строк;
3) каждый логический элемент в этой дизъюнкции записать в виде конъюнкции аргументов функции;
4) если значение какого-либо аргумента функции в соответствующей строке таблице равно 0, то этот аргумент взять с отрицанием.
Каждое семейство микроконтроллеров (МК) имеет свой собственный язык программирования (язык машинных команд или машинный язык) и непосредственно может управляться программой, записанной только на этом языке. По степени близости к машинному языку принято делить языки программирования на две группы: низкого и высокого уровней. Программа, написанная на одном из них, называется исходной программой, или исходным модулем.
К языкам низкого уровня относятся мнемокоды и макроязыки. Мнемокод отличается от машинного языка тем, что цифровые коды машинных команд заменяют буквенными или буквенно-цифровыми (мнемоническими) обозначениями и позволяют использовать символические имена данных. При переводе на машинный язык каждый оператор мнемокода, обозначающий машинную команду, заменяется цифровым кодом этой команды.
Программа, преобразующая текст с одного языка программирования на другой, называется транслятором. В зависимости от уровня языка программирования, на котором написан исходный модуль, трансляторы делятся на ассемблеры, интерпретаторы и компиляторы.
Ассемблер – это транслятор с языка низкого уровня. В соответствии с таким названием транслятора мнемокод или макроязык чаще именуют языком ассемблера.
Программы для МК пишутся в основном на языке ассемблера. В последнее время появились трансляторы, позволяющие писать программы для МК на языках высокого уровня. Программы, написанные на ассемблере, по объему занимаемой памяти всегда меньше, чем аналогичные программы, написанные на языке высокого уровня.
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Цель работы – приобрести первичные навыки по составлению, отладке и запуску программы на языке ассемблера для МК семейства х51.
Задачи работы:
- по таблице истинности составить логическую функцию системы управления;
- по логической функции системы управления составить схему электрическую принципиальную;
- выполнить программирование МК в соответствии с заданием;
- отладить и запустить программу на лабораторном стенде.
Продолжительность работы – 2 часа.
В лабораторной работе используются:
· стенд лабораторный с МК семейства х51 модели АТ89С51;
· программатор ChipProg-2;
· ПЭВМ со специальным программным обеспечением M-IDE Studio for MCS-51 и Phyton Universal Programmer 3.91.00–ChipProg–2.
ОБЩИЕ СВЕДЕНИЯ О ЛАБОРАТОРНОМ СТЕНДЕ
Лабораторный стенд (рис. 1) позволяет испытывать управляющие программы для МК семейства х51 модель АТ89С51.
Рис. 1. Общий вид лабораторного стенда: 1 – панель для установки МК; 2 – потенциометр для задания аналогового напряжения; 3 – кнопка включения и выключения стенда
Лабораторный стенд имеет:
- 8 дискретных входов (4 входа с фиксацией и 4 входа без фиксации);
- 8 дискретных выходов со световой индикацией для наблюдения результата работы МК;
- один аналоговый вход (0 – 2,5 В) и последовательный 8-разрядный АЦП;
- питание: Uвх: ~240B, 50 Гц.
При написании программы для МК, работающего в составе лабораторного стенда, следует помнить:
1. Для индикации активным сигналом является уровень логического «0». Поэтому для включения нужного светодиода необходимо на соответствующем выходе порта Р0 МК установить уровень логического «0».
2. Активным сигналом для дискретных входов является уровень логического «0». Для формирования активного сигнала в младшей тетраде порта Р1 МК необходимо нажать кнопку или поднять ручку тумблера вверх - для старшей тетрады порта Р1.
При установке МК в панель стенда необходимо выключить стенд кнопкой 3, совместить первый вывод МК с позицией первого вывода панели (рис. 1), установить МК в панель и зажать МК, опустив рычаг панели.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Лабораторная работа выполняется индивидуально или подгруппами по 2 человека (определяется преподавателем) в следующей последовательности:
1. Ознакомиться с методическим указанием к выполнению лабораторной работы.
2. Задание на лабораторную работу и исходные данные выдаются преподавателем.
3. Ознакомиться с порядком действий при выполнении задания.
4. Выполнить задание и проверить работоспособность программы на ПЭВМ в режиме моделирования.
5. Запрограммировать МК и проверить работоспособность программы на лабораторном стенде.
6. Составить отчет о проделанной работе.
ПОРЯДОК ДЕЙСТВИЙ
1. Используя таблицу истинности составить карту Карно. На основании карты Карно получить минимизированную логическую функцию системы управления. Используя минимизированную логическую функцию системы управления составить схему электрическую принципиальную.
2. Составление программы для МК. Повторить систему команд МК семейства х51. Запустить программу M-IDE Studio for MCS-51. Иконка программы располагается на рабочем столе. После этого откроется стартовое окно программы M-IDE Studio for MCS-51. В меню «File» выбрать «New», откроется окно «Untitled1» (рис. 2), в котором набирается программа для МК.
Рис. 2. Окно для набора программы для МК
При написании программы следует помнить, что строка, начинающаяся с «;», воспринимается транслятором как комментарий. В среде программирования M-IDE Studio for MCS-51 комментарии возможны только на латинице.
Используя алгоритм работы МК, составить управляющую программу для него. Фрагмент программы на языке ассемблера для МК семейства х51 представлен ниже.
;This comment
set_b EQU P1.0
reset_b EQU P1.1
ORG 0
LJMP INIT
ORG 50
INIT:
S: JNB set_b, SETUP
R: JB set_b, RST
LJMP S
SETUP: SETB P0.7
LJMP R
RST: SETB P0.0
LJMP S
END
После набора программы ее необходимо сохранить с расширением *.asm. Для этого в меню «File» выбрать «Save As». После этого программу необходимо скомпилировать. Для этого в меню «Build» выбрать «Build» или нажать клавишу «F9» или быструю клавишу (см. рис. 2.). Информация об ошибках отображается в нижнем правом окне. В результате компиляции создаются три файла с именем исходной программы, но с разными расширениями, например «mps.devt» «mps.hex» «mps.lst». Для дальнейшей работы потребуется только файл с расширением «*.hex».
3. Отладка управляющей программы в режиме моделирования. В программе M-IDE Studio for MCS-51 используется эмулятор TS Controls Emulator 8051 v1.0, позволяющий выполнить отладку (моделирование) только что откомпилированной программы, не содержащей ошибок. Эмулятор запускается из меню «Build», выбрав «Build and Sim» или нажав быструю клавишу (см. рис. 2.). После этого откроется окно эмулятора рис. 3.
Отладка написанной программы заключается во внимательном отслеживании и анализе информации, появляющейся в окнах «Registers», «SF Registers» и др. (рис. 3).
Окно «Registers» - отображает состояние регистров МК.
Окно «SF Registers» - отображает состояние портов и регистров управления МК.
Окно «Disassembled Code» - отображает программу в исходном и машинном кодах.
Информация о состоянии портов и регистров представляется в шестнадцатеричном коде (00 - FF).
Рекомендуется выполнять отладку программы в пошаговом режиме по нажатию клавиш F10 или F11. F10 - исполнение программы без входа в подпрограммы, если они имеются. F11 - исполнение программы со входом в подпрограммы, если они имеются. При отладке строка программы, которая должна быть выполнена, выделена курсором в окне «Disassembled Code» (рис 3). При очередном нажатии клавиши F10 или F11 курсор перемещается на следующую строку программы.
Во время моделирования можно управлять содержимым портов и регистров. Для этого расположить указатель мыши на нужном элементе и щелкнуть два раза по левой клавише мыши. В появившемся окне ввести необходимые данные. Данные вводятся только в шестнадцатеричном коде, поэтому необходимо быть внимательными.
Рис. 3. Окно эмулятора TS Controls Emulator 8051 v1.0
4. Запись управляющей программы в МК и исполнение. Для записи программы в МК используется программатор ChipProg-2 и специализированная программа Phyton Universal Programmer 3.91.00 – ChipProg – 2 (рис. 4), входящая в состав программатора.
Окно 1 – Буфер. Отображается загруженная программа «*.hex».
Окно 2 – Окно управления. Выбирается необходимая операция «Программирование», «Чтение», «Сравнение», «Стирание» и др. Выбранная операция подтверждается кнопкой «Выполнить».
Окно 3 – Информация о микросхеме.
Программатор ChipProg-2 подключается к ПЭВМ через стандартный параллельный порт LPT. Для корректного подключения необходимо выключить ПЭВМ и программатор. Подключить ПЭВМ и программатор специальным кабелем для LPT порта. Включить ПЭВМ и программатор. Запустить программу Phyton Universal Programmer 3.91.00 – ChipProg – 2, используя меню «Пуск». После этого программируемый МК вставить в панель программатора и с помощью рычага зажать его. Перед программированием МК необходимо стереть его память программ, используя «Окно управления» или быстрые клавиши - «Erase» (рис. 4). Результат операции контролировать в окне 2 в области «Информация об операциях».
Рис. 4. Окна программы Phyton Universal Programmer 3.91.00 – ChipProg – 2
Используя меню «Файл», загрузить файл с расширением «*.hex», где «*» - имя программы. Запрограммировать МК, используя «Окно управления» или быстрые клавиши - «Progr» (рис. 4). Результат операции контролировать в окне 2 в области «Информация об операциях». После программирования МК проверить правильность программирования, используя «Окно управления» или быстрые клавиши - «Verify» (рис. 4). Результат операции контролировать в окне 2 в области «Информация об операциях».
После завершения программирования изъять МК из программатора. Вставить МК в лабораторный стенд, включить стенд и проверить работоспособность программы.
ЗАДАНИЯ
Для всех вариантов заданий работа системы управления описана таблицей истинности. Требуется составить совершенную дизъюнктивную нормальную форму, минимизировать ее с использованием карты Карно, записать результирующую логическую функцию, составить программу и схему электрическую принципиальную, реализующие логическую функцию.
Задание №1.
X1 | X2 | X3 | X4 | Y |
Задание №2.
X1 | X2 | X3 | X4 | Y |
Задание №3.
X1 | X2 | X3 | X4 | Y |
Задание №4.
X1 | X2 | X3 | X4 | Y |
Задание № 5.
X1 | X2 | X3 | X4 | Y |
Задание № 6.
X1 | X2 | X3 | X4 | Y |
Задание № 7.
X1 | X2 | X3 | X4 | Y |
Задание № 8.
X1 | X2 | X3 | X4 | Y |
Задание № 9.
X1 | X2 | X3 | X4 | Y |
Задание № 10.
X1 | X2 | X3 | X4 | Y |
Задание № 11.
X1 | X2 | X3 | X4 | Y |
Задание № 12.
X1 | X2 | X3 | X4 | Y |
Задание № 13.
X1 | X2 | X3 | X4 | Y |
Задание № 14.
X1 | X2 | X3 | X4 | Y |
Задание № 15.
X1 | X2 | X3 | X4 | Y |
Задание № 16.
X1 | X2 | X3 | X4 | Y |
ТЕХНИКА БЕЗОПАСНОСТИ
К выполнению лабораторной работы допускаются студенты, прошедшие вводный инструктаж.
Вводный инструктаж проводится преподавателем перед началом выполнения лабораторной работы. В журнале инструктажа делается запись о прохождении каждым студентом вводного инструктажа и ставится подпись студента и преподавателя. При отсутствии подписи студента он не допускается к выполнению лабораторной работы.
СОДЕРЖАНИЕ ОТЧЕТА
Отчет о проделанной работе должен содержать фамилию и группу студента, наименование работы, цель работы, алгоритм работы МК и управляющую программу с комментариями.
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1. Эрни, К. Программирование на языке Ассемблера для микроконтроллеров семейства I-8051 / К. Энри. -М.: Горячая Линия - Телеком, 2004. - 191 с.
2. Фрунзе, А.В. Микроконтроллеры? Это же просто: в 2 т. / А.В. Фрунзе. – М.: ИД СКИМЕН. – 2002, - Т.1. - 336 с.
3. Щелкунов, Н.Н. Микропроцессорные средства и системы / Н.Н. Щелкунов, А.П. Дианов. – М.: Радио и связь. – 1989, 288с.