Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Міністерство освіти і науки України. Національний гірничий університет



Міністерство освіти і науки України

Національний гірничий університет

 

 

 

 

Робочий зошит студента

до конспекту лекцій з дисциплін

“Основи побудови мікропроцесорних систем

управління”, “Мікропроцесорна техніка”,

“Програмні засоби систем управління”

для студентів спеціальності

АГ–8.092501 Автоматизоване управління технологічними процесами

АТ, МЕ–8.091401 Системи управління і автоматики

СМ–8.091501 Комп`ютерні системи та мережі

 

Частина перша

 

 

Дніпропетровськ

2010

 

Міністерство освіти і науки України

Національний гірничий університет

Робочий зошит студента

до конспекту лекцій з дисциплін

“Основи побудови мікропроцесорних систем

управління”, “Мікропроцесорна техніка”,

“Програмні засоби систем управління”

для студентів спеціальності

АГ–8.092501 Автоматизоване управління технологічними процесами

АТ, МЕ–8.091401 Системи управління і автоматики

СМ–8.091501 Комп`ютерні системи та мережі

 

Частина перша

 

Дніпропетровськ

НГУ

2010

Робочий зошит студента до конспекту лекцій з дисциплін “Основи побудови мікропроцесорних систем управління”, “Мікропроцесорна техніка”, “Програмні засоби систем управління” для студентів спеціальності АГ–8.092501 Автоматизоване управління технологічними процесами; АТ, ME–8.091401 Системи управління і автоматики; СМ–8.091501 Комп`ютерні системи та мережі / Укладачі: В.В. Ткачов, М.В. Козарь, В.І. Шевченко та ін. – Д: Національний гірничий університет. 2010. – 122 с.

 

 

Укладачі: В.В. Ткачов, д-р техн. наук, проф.

М.В. Козарь, асист.

В.І. Шевченко, асист.

С.М. Проценко, ст.викл.

О.В. Карпенко, асист.

В.В Надточий. ст.викл

М.О. Ткачук, асист.

 

Відповідальний за випуск завідувач кафедри автоматизації та комп`ютерних систем В.В. Ткачов, д-р техн. наук, проф.

 

 

Друкується у редакційній обробці укладачів

 

 

Дані методичні вказівки призначуються для вивчення апаратних та програмних засобів мікропроцесорних систем управління (МПС).

У процесі вивчення дисципліни " Мікропроцесорні системи" студенти вивчають структуру, архітектуру, сигнали та системи команд однокристального мікроконтролера К1816 ВЕ51.

Розглянуті питання організації паралельного та послідовного вводу-виводу, оганізація мікропроцесорних контролерів МПК).

Схемні рішення, які приведені у методичних вказівках можуть бути використані при виконанні курсових і дипломних проектів студентами спеціальностей " Комп’ютеризовані системи управління і автоматики" (АТ) і " Автоматизація технологічних процесів гірничих підприємств" (АГ) та " Комп’ютерні системи та мережі" (СМ).

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

Назначение разрядов регистра PSW

Название бита Позиция Назначение
С PSW.7 Флаг переноса. Устанавливается и сбрасывается аппаратно при выполнении арифметических, логических и битовых операций, а также программно
АС PSW.6 Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратно при выполнении команд суммирования и вычитания в случае возникновения переноса или займа в бите 3 аккумулятора
FO PSW.5 Свободный флаг. Может быть изменен программно и используется по назначению, установленному программистом
RS1 RS0 PSW.4 PSW.3 Выбор банка регистров. Биты устанавливаются и сбрасываются программно для выбора активного (рабочего) банка регистров:
RS1 RS0 Активный банк Адреса РПД
0 0 0 00Н-07Н
0 1 1 08Н-0FH
1 0 2 10H-17H
1 1 3 18H-1FH

 

OV PSW.2 Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций в случае переполнения аккумулятора. Дает возможность корректно выполнять действия над числами, представленными в дополнительном коде
- PSW.1 Не используется
Р PSW.0 Флаг паритета. Устанавливается и сбрасывается аппаратно в каждом цикле команды, фиксирует факт нечетного количества «1» в аккумуляторе

 

 

 

 

 

 

 

 


 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 









СИСТЕМНЫЕ СОГЛАШЕНИЯ

Следующие расширения имен файлов будут использованы по умолчанию программами пакета фирмы 2550 A.D:

asm входной файл для ассемблера (компилятора);

obj выходной файл из ассемблера;

pak упакованный выходной файл;

lst файл листинга.

Отметим, что в выходной файл Ассемблера включается дополнительная информация, и Редактор связей (линкер) должен быть исполнен, даже если программа размещена с требуемого адреса и не содержит внешних ссылок. При этом удаляется дополнительная информация и генерируется файл в нужном формате.

СИНТАКСИС ЯЗЫКА АССЕМБЛЕРА

Определители основания системы счисления:

B      Binary (двоичная);

O | Q     Octal (восьмеричная);

D      Decimal (десятичная);

H      Hex (шестнадцатеричная);

" X" | 'X' Ascii (ASCII-коды).

Предопределены значения двух последовательных символов, заключенных в одиночные или двойные символы. Однако, чтобы пользоваться ими необходима директива TWOCHAR ON ('CR' - возврат каретки, 'LF' - перевод строки, 'SP' - пробел, 'HT' - горизонтальная табуляция, 'NL' - пустой символ).

 

Комментарии. Строки комментариев должны начинаться с точки с запятой или звездочки в первой колонке, за исключением использования директивы COMMENT. Комментарии после инструкций не сопровождаются точкой с запятой, если ассемблирование выполняется в Spaces Off моде. Если ассемблирование выполняется в Spaces On моде, все комментарии должны начинаться с точки с запятой. Подробнее смотрите директиву SPACES.

 

Программный счетчик. Специальные символы доллар ($) и звездочка (*) следует использовать в выражениях, чтобы определить программный счетчик. Величина, присвоенная знаку доллар, соответствует значению счетчика команд в начале этой инструкции.

 

Метки. Нелокальные метки могут состоять из любого числа символов, но только 32 символа будут значащими. Метки ставятся в любой колонке, если имя оканчивается двоеточием. Если двоеточие не используется, метка должна начинаться с первой колонки. Большие и маленькие буквы считаются различными.

 

Локальные метки. Локальные метки могут использоваться подобно нелокальным меткам. Различие в том, что локальная метка определена только между нелокальными меткам. Когда программа переходит от одной локальной зоны к другой, имя локальной метки используется повторно. Эта особенность используется для меток, вызываемых только в локальной области, как описано выше, и новые имена меток не требуются. Ассемблер определяет локальные метки по символу доллар в начале или конце имени. Этот идентификатор может быть изменен с помощью директивы LLCHAR.

 

Старший байт. Для загрузки старшего байта 16-битной величины используется арифметический символ " больше чем" " > ". Это позволит битам с 8 по 15 использоваться в качестве байта, величина которого смещена.

 

Младший байт. Для загрузки младшего байта 16-битной величины используется арифметический символ " меньше чем" " < ". Это позволит битам с 0 по 7 использоваться в качестве байта, величина которого смещена.

 

Строчные и прописные символы. Метки, записанные строчными и прописными буквами, рассматриваются как различные метки. Метки, используемые для имен секций или макросов, различаются аналогичным образом.

ДИРЕКТИВЫ АССЕМБЛЕРА

Эта часть описывает директивы Ассемблера, которые позволяют управлять процессом компиляции. Полный перечень директив Ассемблера занимает 65 страниц, поэтому в данном разделе приводятся наиболее употребляемые и необходимые директивы.

 

ORG VALUE

Устанавливает адрес программы. Если директива не выполнена адрес по умолчанию устанавливается в 0000.

 

END VALUE

Эта директива отмечает конец программы или подключенного файла. Выражение, следующее за END - дополнительное, и если существует, то указывает стартовый адрес программы. Этот адрес заносится в выходной файл, если в выходном формате существует тип записи стартового адреса.

 

LABEL: DB VALUE

Ассемблер помещает величины в последовательные ячейки памяти. Если после директивы не следует выражение, один байт резервируется и обнуляется. Метка является необязательной.

 

 

LABEL: DW VALUE

Эта директива помещает 16-битные величины в память. Несколько слов могут быть заданы, записав несколько выражений через запятую. Если выражение не дано, резервируется и обнуляется одно слово. Метка не является обязательной.

 

LABEL: LONG  VALUE

Эта директива помещает 32-битные величины в память. Несколько слов могут быть заданы, записав несколько выражений через запятую. Если выражение не дано, резервируется и обнуляется одно слово. Метка не является обязательной.

 

LABEL: DS SIZE, VALUE

Эта директива резервирует фиксированное число байт, определяемое величиной SIZE. Никакие величины не запоминаются в резервируемой области.

 

LABEL: EQU VALUE

Присваивает имени LABEL значение VALUE. VALUE может быть другим символом или разрешенным математическим выражением.

 

LABEL: VAR VALUE

Присваивает имени LABEL значение VALUE, но значение может изменяться по тексту программы. Имя, определенное как VAR, не следует переопределять директивой EQU.

 

RADIX < значение>

Основание     Значение

2 или B          Двоичное

8 или O или Q Восьмеричное

10 или D     Десятичное

16 или H     Шестнадцатеричное

Отсутствие выражения означает возврат к стандартному (используемому по умолчанию) режиму (т.е. с основанием системы счисления 10); при этом подразумевается, что все другие системы счисления будут обозначаться с помощью литер B, Q, D или H после константы. Следует отметить, что при задании основания системы счисления 16 не существует способа описания десятичного или двоичного числа, поскольку как литера D, так и литера B являются допустимыми шестнадцатеричными цифрами.

 

INCLUDE < имя-файла>

Указывает ассемблеру включить данный файл в процесс ассемблирования. Имена файлов могут включать в себя маршрутные имена. Расширения имен должны задаваться полностью. Вложенное включение файлов не допускается.

 

ДИАЛОГОВЫЙ РЕЖИМ.

Для вызова Ассемблера необходимо загрузить x8051.exe. Ассемблер в ответ запросит:

Listing Destination? (N, T, D, E, L, < CR> =N).

где аббревиатуры означают следующее:

N  печати нет;

T  терминал;

P  принтер;

D  диск;

E  только ошибки;

L  печать вкл/выкл.

Затем Ассемблер запросит имя файла, содержащего исходные коды:

Input filename:

При вводе имени файла можно опустить расширение, если оно asm. Далее Ассемблер запросит имя выходного файла:

Output filename:

Если пользователь ответит возвратом каретки, имя выходного файла будет образовано из имени входного с расширением obj. Если имя файла в ответе не будет содержать расширение, то оно предполагается равным obj.

Если выдача листинга идет под управлением директивы ассемблера LIST ON/OFF, то возникает дополнительный запрос:

LIST ON/OFF Listing Destination (T, P, D, < CR> =T):

Сокращения соответствуют предыдущим.

 

РЕЖИМ КОМАНДНОЙ СТРОКИ

Ассемблер может воспринимать командную строку. В этом случае имя входного файла определяется первым, дополнительно может идти имя выходного файла и список опций. Общая форма команды (необязательные поля показаны в квадратных скобках) будет следующей:

asm8051[-q]input_filename[output_filename][-t, -p, -d, -px, -dx]

Если введена опция -q, на экран выводятся только сообщения об ошибках и соответствующие строки. Эта опция должна предшествовать имени файла:

-t  вывод на терминал

-p вывод на принтер

-x вывод листинга с таблицей перекрестных ссылок

-d вывод на диск

-е  вывод только сообщений об ошибках

-l  вывод блоков помеченных в тексте LIST ON/OFF

ЗАПУСК ОТЛАДЧИКА

Для загрузки программы отладчика необходимо в командной строке ввести команду:

Drive: \Path\fd51.exe

При этом загружается среда отладчика FD51 и отладчик готов к работе (где Drive: \Path - имя диска и путь к файлу fd51.exe).

ВВОД КОМАНД

Сразу после запуска отладчик готов к приему команд пользователя - курсор находится в командной строке. В нижней строке экрана имеется меню функциональных клавиш F1-F10 - они выполняют наиболее употребительные команды. Остальные команды вводятся пользователем с клавиатуры с использованием алфавитно-цифровых клавиш. При вводе этих команд можно пользоваться для редактирования клавишами < Ins>, < Del>, < BackSpace>, < Home>, < End>, < Esc>. После начала ввода команды и до нажатия клавиши < Enter> функциональные клавиши недоступны. Если команда неверна, выдается сообщение об ошибке и звуковой сигнал.

ОПИСАНИЕ КОМАНД

ФУНКЦИОНАЛЬНЫЕ КЛАВИШИ

¨ F1 - выполнить текущую инструкцию загруженной программы. Текущая инструкция - это инструкция, выделенная в окне дисассемблированного текста светлым прямоугольником. После выполнения на экране можно сразу наблюдать результаты ее выполнения.

¨ F2 - выполнять программу до следующей по адресу за текущей инструкцией. Эта клавиша позволяет выполнить подпрограмму или цикл как одну инструкцию, что удобно, так как не нужно просматривать уже отлаженные подпрограммы.

¨ F3 - позволяет представить числовую информацию на экране (содержимое регистров и памяти) в десятичной, а при повторном нажатии - в двоичной форме. После запуска информация представлена в шестнадцатеричном виде.

¨ F4 - переключает большое окно памяти с внутренней (INT RAM) на внешнюю (EXT RAM) и обратно.

¨ F5 - установка точек прерывания (см. п. 5).

¨ F6 - переключает форму представления памяти в окне в двоичную и обратно.

¨ F7 - листает окно памяти данных вверх на одну строку.

¨ F8 - листает окно памяти данных вниз на одну строку.

¨ F9 - листает окно памяти программ вверх на одну строку.

¨ F10- листает окно памяти программ вниз на одну строку.

 

Для быстрого листания можно пользоваться следующими клавишами:

 

< Home> - листает окно памяти данных вверх на одну страницу.

< End]> - листает окно памяти данных вниз на одну страницу.

< PgUp> - листает окно памяти программ вверх на одну страницу.

< PgDn> - листает окно памяти программ вниз на одну страницу.

КОМАНДЫ ОТЛАДЧИКА

Для быстрого получения справки по командам можно ввести команду " Н" или нажать комбинацию клавиш < Ctrl> +< H> ".

В настоящем описании используются следующие обозначения:

¨ параметры заключены в угловые скобки, например < адрес>.

¨ необязательные параметры заключены в квадратные скобки, например [< адрес> ].

Все числовые значения должны иметь шестнадцатеричный формат, при этом не требуется указывать символ " h".

 

L [< тип памяти> < нач. адрес>, ] < файл. спец.> [/A]. Загрузить файл в память. < Тип памяти> может быть I, E или P. В соответствии с этим параметром файл загружается во внутреннюю (Int), внешнюю (Ext) или программную (Pgm) память. < Нач. адрес> и < тип памяти> указывается только при загрузке чистого двоичного кода. При загрузке файла, выработанного ISIS-II MACRO-ASSEMBLER'ом, нужно указать только спецификацию файла и ключ /A.

Пример: L I 01F, A: \PGM\T1 - загрузить двоичный файл во внутреннюю память с адреса 01F.

 

S < тип памяти> < нач. адрес> -< кон. адрес>, < файл. спец.>. Сохранить область памяти в дисковом файле (вообще говоря, во всех командах в качестве < файл. спец.> допускается любая корректная в DOS спецификация файла, например COM1). < нач.адрес> и < кон.адрес> указывают соответственно начало и конец сохраняемой области. Сохраненный командой S файл можно потом снова загрузить командой L.

Пример: S P 20-642, C: \PGMLIB\MYFILE

 

PRT < тип памяти> < нач. адрес> -< кон. адрес> [, < файл. спец.> ]. Распечатать дамп области памяти в шестнадцатеричном формате. Если не указан < файл. спец.>, то дамп выводится на принтер.

 

PRTD < нач. адрес>, < количество команд> [, < файл. спец.> ]. Распечатать дисассемблированный текст, начиная с < нач. адреса>. Вывод по умолчанию на принтер.

 

R < номер регистра> =< число>. Занести число в регистр текущего банка. Число должно быть байтом.

Пример: R4=FF

 

< Имя регистра> =< число>. Занести число в регистр специального назначения. Можно использовать следующие имена: A, B, TH0, TH1, TL0, TL1, DPH, DPL, DPTR, SP, IP, IE, TMOD, TCON, SCON, SBUF, PC. Число для PC и DPTR может быть и двухбайтовой величиной.

Пример: SP=20 DPTR=FF00

 

< Имя флага> =< число>. Установить или сбросить флаг в PSW. Имена флагов: C, AC, F0, S1, S0, OV, P. Если число=0, то флаг сбрасывается, иначе - устанавливается.

Пример: S1=0

 

PO < номер порта> =< число>. Занести число в порт. Номер порта может быть 0-3.

Пример: PO2=12

 

D < адрес>. Установить адрес дисассемблированного текста в окне.

Пример: D 0240

 

< Тип памяти> < адрес> [-< кон. адрес> ]=< число>. Занести число в память. Если указан < кон. адрес>, то этим числом заполняется область памяти.

Пример: I 22=55 P 0-40=FF

Возможно возникновение неоднозначности при заполнении некоторых ячеек памяти. Например, команда " P C=23" будет воспринята не как занесение числа 23 в память программ по адресу 0C, а как команда установки счетчика команд (PC) в значение 23. В этом случае нужно явно указать, что это адрес: P 0C=23.

 

< Тип памяти> < адрес>.< номер бита> =< число>. Установить или сбросить бит в памяти. < Номер бита> может быть 7-0 (старший бит - 7).

Пример: I 20.6=1

 

< Имя регистра>.< номер бита> =< число>. Установить или сбросить бит в регистре специального назначения (A, B, P00-P03, IP, IE, TMOD, TCON, SCON).

Пример: TMOD.3=0

 

M < тип памяти> < нач. адрес>. Установить начальный адрес памяти в окне.

Пример: M I 20 M E 0FF M P 0

 

G [< нач. адрес> [, < кон. адрес> ]]. Выполнить программу с < нач. адреса> до < кон. адреса>. Если < нач. адрес> не указан, выполнение начинается с текущей команды (текущая команда выделена белым прямоугольником). < Кон. адрес> можно не указывать, если используются точки прерывания. Выполняющуюся программу можно остановить нажатием любой клавиши. G без параметров можно ввести нажатием < Alt-F10>. Можно указать только конечный адрес, но запятая должна присутствовать.

Пример: G 100-FF0 G, 2200

 

T ON [, < файл. спец.> ]. Включить трассировку программы. По умолчанию трассировочные записи выводятся на принтер.

 

T OFF. Выключить трассировку.

 

INT < 0/1> =< число>. Имитировать высокий или низкий уровень на входах INT0 или INT1.

Пример: INT1=0

 

BA=< адрес>. Установить новую " точку отсчета" для дисассемблирования. Эта команда полезна при просмотре таблиц, зашитых в памяти программ, когда при дисассемблировании " назад" неизвестно откуда вести дисассемблирование.

 

RSTC. Сбросить счетчик времени выполнения программы.

 

QUIT. Выход в DOS.

 

RST. Имитируется сброс процессора.

 

 

Укладачі:

 

Віктор Васильович Ткачов

Микола Володимирович Козар

Владислав Іванович Шевченко

Станіслав Миколайович Проценко

Олег Вікторович Карпенко

Володимир Валентинович Надточий

Марина Олексіївна Ткачук

 

 

РОБОЧИЙ ЗОШИТ СТУДЕНТА

з дисциплін

“Основи побудови мікропроцесорних систем

управління”, “Мікропроцесорна техніка”,

“Програмні засоби систем управління”

для студентів спеціальності

АГ–8.092501 Автоматизоване управління технологічними процесами

АТ, МЕ–8.091401 Системи управління і автоматики

СМ–8.091501 Комп`ютерні системи та мережі

 

Підписано до друку 15.01.10. Формат 30х42/4.

Папір офсет. Ризографія. Ум. друк. арк. 3, 7.

Обл. вид. арк. 3, 7. Тираж 150 прим. Зам. №

 

Національний гірничий університет

49027, м. Дніпропетровськ-27, просп. К. Маркса, 19.

 

Міністерство освіти і науки України

Національний гірничий університет

 

 

 

 

Робочий зошит студента

до конспекту лекцій з дисциплін

“Основи побудови мікропроцесорних систем

управління”, “Мікропроцесорна техніка”,

“Програмні засоби систем управління”

для студентів спеціальності

АГ–8.092501 Автоматизоване управління технологічними процесами

АТ, МЕ–8.091401 Системи управління і автоматики

СМ–8.091501 Комп`ютерні системи та мережі

 

Частина перша

 

 

Дніпропетровськ

2010

 


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 360; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.173 с.)
Главная | Случайная страница | Обратная связь