Методы / Саркисов А.Ш., Шатухин А.А., Трофимов А.А
..pdfРедактор О.Ю.Волошенко Компьютерная верстка Е.Л.Борисенко
ЛР № 020713 от 27.04.1998
Подписано к печати |
Формат бумаги 60×84/16 |
|
Печать ризограф. |
Бумага МВ |
Печ. л. 2,5 |
Заказ № |
Тираж 50 экз. |
Цена договорная |
|
Отдел множительной техники ИАТЭ |
|
|
249035, г. Обнинск, Студгородок, 1 |
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ОБНИНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ АТОМНОЙ ЭНЕРГЕТИКИ (ИАТЭ)
Факультет кибернетики
А.Ш.САРКИСОВ, А.А.ШАТУХИН, М.А.ТРОФИМОВ
БИТОВЫЙ ПРОЦЕССОР ОДНОКРИСТАЛЬНОЙ МИКРОЭВМ
ЧАСТЬ 2
Учебное пособие по курсу «Микропроцессорные системы»
Обнинск 2006
40
39
33 |
.......................... двигателем шаговым Управление .1 ПРИЛОЖЕНИЕ |
32 |
Литература................................................................................................ |
...............................................20 |
.3.4системами сложными Управление |
...............................16 |
.2.4логики комбинаторной уравнений Решение |
...13 |
.1.4способом программным порта последовательного Реализация |
...................................13 |
.4ПРОЦЕССОРА БИТОВОГО ПРИМЕНЕНИЕ |
.......................................11 |
.5.3командами другими с Взаимодействие |
..............................................................10 |
.4.3битов проверки Команды |
....................................................................10 |
.3.3операции Логические |
........................................................10 |
.2.3данных пересылки Команды |
.......................................9 |
.1.3битов состоянием управления Команды |
............................................................................9 |
.3СИСТЕМАКОМАНД |
..........................................................6 |
.2ПРЯМАЯБИТОВ АДРЕСАЦИЯ |
.............................................................................3 |
.1ОБЩИЕСВЕДЕНИЯ |
.........................................................................................3 |
ПРЕДИСЛОВИЕ |
|
СОДЕРЖАНИЕ |
|
2 |
2006г. |
©А.Ш.Саркисов,А.А.Шатухин,М.А.Трофимов, |
|
энергетики,2006г. |
©Обнинскийгосударственныйтехническийуниверситетатомной |
23 |
Темплан2006,поз. |
|
к.ф.-м.н.А.В.Мышев |
|
|
к.ф.-м.н.П.И.Игнатенко, |
Рецензенты: |
|
3,библ.10назв. |
Илл16,.табл. |
|
обширныйсправочныйматериал. |
|
Пособиесодержит |
глубжепонятьиусвоитьизлагаемыйматериал. |
|
схемотехническогоприменениябитовогопроцессора,чтопозволяет |
итак ,программного как примеров множество Приведено .битов сации -адре способы и команд его система i8051, семейства микроЭВМ ной -однокристаль процессор битовый рассмотрен подробно издании В
.»системы Микропроцессорные« и »устройства ропроцессорные -Мик« курсы изучающих »,коммутации системы и связи Сети« 200900
и»управления и информации обработки системы томатизированные -Ав« 220200 »,сети и системы ,комплексы ,машины Вычислительные« 220100 специальностей студентов для предназначено пособие Данное
ропроцессорныесистемы.»–Обнинск:ИАТЭ,.2006–40с. однокристальноймикроЭВМ.Ч.II.Учебноепособиепокурсу«МикСаркисовА.Ш,.ТрофимовМ.А,.ШатухинА.А.Битовыйпроцессор УДК31.681
Порт 1 − двунаправленный порт ввода/вывода на 8 битов со внутренним напряжением питания.Выходной буфер порта 1 может быть нагружен на четыре входа/выхода TTL. При записи лог.1 в порт 1, контакты порта могут быть использованы как входы. Поскольку порт 1 использует внутреннее напряжение питания, уровень потребляемого тока (IIL) извне будет минимален. Также, при программировании Flash на порт 1 поступают младшие биты адреса. То же самое происходит и во время веритификации.
Порт 2 − двунаправленный порт ввода/вывода на 8 битов со внутренним напряжением питания. Выходной буфер порта 2 может быть нагружен на четыре входа/выхода TTL. При записи лог.1 в порт 2, контакты порта могут быть использованы как входы. Поскольку порт 2 использует внутреннее напряжение питания, уровень потребляемого тока (IIL) извне будет минимален. Порт 2 выдает старший байт адреса во время выборки из внешней памяти программ и во время доступов ко внешней памяти данных, которые используют 16-битные адреса (MOVX DPTR). В этом случае, при лог.1, более высокое потребление тока от внутреннего источника.
Порт 3 − 8-битный двунаправленный порт Ввода-Вывода. Выходы порта 3 могут быть нагружены на четыре входа TTL. При записи лог.1 в порт 3, контакты порта могут быть использованы как входы.
ПРЕДИСЛОВИЕ
Пригодность архитектуры каждого компьютера для конкретного класса задач определяется тем, насколько его система команд соответствует задачам, которые должны быть выполнены. Поэтому для дискретного управления в реальном масштабе времени наличие в системе команд операций непосредственно над битами приводит к созданию более производительных систем и программ обработки входной и выходной двоичной информации. С этой целью в ОМЭВМ семейства MCS-51 введены специальные средства, называемые битовым процессором, которые поддерживают прямые логические операции с отдельными битами и операции их тестирования и позволяют использовать однобитовые переменные в логических операциях. Цель данного пособия − показать и объяснить применение битового процессора ОМЭВМ семейства MCS-51.
1.ОБЩИЕ СВЕДЕНИЯ
Всистему команд ОМЭВМ семейства MCS-51 введены специальные команды для выполнения операций с битовыми переменными. Имеется 17 таких команд, которые перечислены в табл. 1. Эти команды в зависимости от выполняемой функции могут быть одно-, двухили трехбайтовые. Те из них, которые оперируют с флагом переноса, имеют однобайтный код или код, за которым следует байт смещения, использующийся для вычисления адреса условного перехода (рис. 1 а). В более обобщенных командах битовых операций после кода добавляется байт адреса прямоадресуемого бита, образуя двухили трехбайтовые команды (рис. 1 б). На рис. 1 для справки приведены коды этих команд.
С помощью указанных команд можно обращаться непосредственно
к128 битам внутреннего ОЗУ и к 83 битам 11; 8-разрядных регистров ОМЭВМ.
38 |
3 |
37
цииданных. программированияUPP,кстатисказать,требуетсяиприверитификажеихивыводитвовремяверитификациипрограммы.Напряжение вовремяпрограммированияFlashнапорт0поступаютбайтыкода.Он ных.Вэтомрежимепорт0используетвнутреннеенапряжение.Также, данных,вовремяобращенийковнешнейпрограммеилипамятиданфигурированкакмультиплексируемыймладшийадреслибошина высокоимпедансныевходы.Помимоэтого,порт0можетбытьсконзаписилог.1впорт0,контактыпортамогутбытьиспользованыкак каждыйвыходэтогопортаможнонагрузитьвосемьвходов.TTLПри Порт.08-битный,открытый,двунаправленныйпортВв/.Выв.На Vcc−напряжениепитания.GND–Общийпровод.
ОписаниесигналовконтроллераАТ89С51 Рис..4
4
|
|
|
тельноадресапервогобайтаследующейкоманды.) |
|||
переходосуществляетсявдиапазонеот128–до+127байтотноси- |
||||||
взятыесинверсией;ге18−байтотносительногосмещения(условный |
||||||
любойI/Oвывод,битуправленияилисостояния, |
доступныхбитов, |
|||||
I/Oвывод,битуправленияилисостояния;/bit−128программно- |
||||||
С−флагпереноса;bit−128программно-доступныхбитов,любой |
||||||
|
Примечание.Втаблицеиспользованыследующиеобозначения: |
|||||
|
|
|
|
|
|
|
|
2 |
3 |
исбросэтогобита |
|
JBC |
|
|
Переход,еслибитустановлен, |
bit,rel8 |
|
|||
|
|
|
|
|||
|
2 |
3 |
Переход,еслибитсброшен |
bit,rel8 |
JNB |
|
|
2 |
3 |
Переход,еслибитустановлен |
bit,rel8 |
JB |
|
|
2 |
2 |
сброшен |
|
JNC |
|
|
Переход,еслифлагпереноса |
rel8 |
|
|||
|
|
|
|
|||
|
2 |
2 |
установлен |
|
JC |
|
|
Переход,еслифлагпереноса |
ге18 |
|
|||
|
|
|
|
|||
|
2 |
2 |
битаифлагапереноса |
|
ORL |
|
|
«ЛОГИЧЕСКОЕИЛИ»инверсии |
С,/bit |
|
|||
|
|
|
|
|||
|
2 |
2 |
флагапереноса |
|
ORL |
|
|
«ЛОГИЧЕСКОЕИЛИ»битаи |
С,bit |
|
|||
|
|
|
|
|||
|
2 |
2 |
битаифлагапереноса |
|
ANL |
|
|
«ЛОГИЧЕСКОЕИ»инверсии |
С,/bit |
|
|||
|
|
|
|
|||
|
2 |
2 |
переноса |
|
ANL |
|
|
«ЛОГИЧЕСКОЕИ»битаифлага |
С,bit |
|
|||
|
|
|
|
|||
|
2 |
2 |
Пересылкафлагапереносавбит |
bit,С |
MOV |
|
|
1 |
2 |
Пересылкабитавофлагпереноса |
С,bit |
MOV |
|
|
1 |
2 |
Инверсиябита |
bit |
CPL |
|
|
1 |
1 |
Инверсияфлагапереноса |
С |
CPL |
|
|
1 |
2 |
Сбросбита |
bit |
CLR |
|
|
1 |
1 |
Сбросфлагапереноса |
С |
CLR |
|
|
1 |
2 |
Установкабита |
bit |
SETB |
|
|
1 |
1 |
Установкафлагапереноса |
С |
SETB |
|
|
циклов |
байтов |
Описаниекоманды |
обозначение |
|
|
|
Число |
Число |
Мнемоническое |
|
||
|
|
|
||||
|
Командыдлявыполненияоперацийсбитовымипеременными |
|||||
Таблица1 |
|
|
|
|
|
Схема лабораторного стенда для управления шаговым двигателем приведена на рис. 3.
Контроллер АТ89С51 Описание
-Совместимость с MCS-51TM
-4 Кбайт встроенной перепрограммируемой Flash памяти
-1000 Циклов Запись/Удаление
-Трехуровневая программная защита памяти
-128 х 8-Bit встроенного ОЗУ
-32 программируемых порта ввода\вывода
-Два 16-битных счетчика Угаймера
-Шесть источников прерываний
-Программируемый последовательный порт
-Низкое потребление в режиме ожидания и энергосберегающий режим «Power Down»
АТ89С51 − низкопотребляющий, быстродействующий 8-битный CMOS микроконтроллер с 4 Кбайтами Flash. При производстве микроконтроллеров (далее МК) были использованы Хай-Тэк технологии фирмы Atmel. В частности, МК изготовлены согласно промышленной рекомендации MCS-51TM, которая распространяется и на цоколевку. Однокристальную Flash память можно программировать как изнутри, так и извне (используя программатор). Сама память расположена на одном кристалле с процессором, что позволило добиться максимальной производительности.
На рис. 4 приведено внутреннее устройство контроллера АТ89С51.
а
Код команды |
|
|
Код команды: |
||
SETB |
С |
|
|
1101001 1B (D3H) |
|
CLR |
С |
|
|
11000011B |
(C3H) |
CPL |
С |
|
|
10110011B |
(B3H) |
|
|
|
|
|
|
Код команды |
Смещение |
|
01000000B |
(40H) |
|
JC |
|
<rе18> |
|
||
JNC |
|
<rе18> |
|
01010000B |
(50H) |
б |
|
|
|
|
|
|
|
|
Код команды: |
||
Код команды |
Адрес бита |
|
|||
SETB |
|
<bit> |
|
110l0010B (D2H) |
|
CLR |
|
<bit> |
|
11000010B |
(C2H) |
CPL |
|
<bit> |
|
10110010B |
(B2H) |
MOV С, |
<bit> |
|
10100010B |
(A2H) |
|
MOV |
|
<bit>, С |
|
10010010B |
(92H) |
ANL |
С, |
<bit> |
|
10000010B |
(82H) |
ANL |
С, |
</bit> |
|
10110000B |
(B0H) |
ORL |
С, |
<bit> |
|
01110010B |
(72H) |
ORL |
С, |
</bit> |
|
10100000B |
(A0H) |
|
|
|
|
|
|
Код команды |
Адрес бита |
| Смещение |
00100000B (20H) |
||
JB |
|
<bit>, |
<rel8> |
||
JNB |
|
<bit>, |
<rel8> |
00110000В (30Н) |
|
JBC |
|
<bit>, |
<rel8> |
00010000В (10Н) |
Рис. 1. Форматы команд операций над битами: а − команды проверки и управления флагом переноса; б − команды проверки и операций с битами
36 |
5 |
35 |
6 |
.3Схемалабораторногостенда |
Рис. |
илипрограммныхфлагов. дает144битовыеячейкиобщегоназначениядляхраненияпеременных вкачествепроизвольных16флагов.Всуммесо128ячейкамиОЗУэто арифметике,ноихотдельныебитымогутиспользоватьсявпрограмме РегистрАСС(аккумулятор)ирегистрВотносятсякбайтовой ветствующеепозиционноеобозначение:1,.PSWАСС2,.В3,.Р4.0ит.д. Кбитамвсех11регистровтакжеможнообратиться,используясоотзуясоответствующуюмнемонику:CY,AC,F0ит.д. там,могутобращатьсякним(втомчислеикбитупереноса),испольКомандыобщегоназначения,адресующиесянепосредственнокбимер/счетчик,последовательныйпорт,логикапрерыванийит.д..) сораивсехвнутреннихаппаратнореализованныхфункций(тайдуальноадресуемыхбитапозволяютконтролироватьсостояниепроцес- ютсобственныесимволическиеимена–всего33бита.Эти33индиви- SCON,IE,.IP)У6изних(PSW,P3,TCON,SCON,IE,IP)разрядыимедоступобеспечентолькодля11(PSW,АСС,В,Р0,P1,P2,РЗ,TCON, ХотяMCS-51имеет20регистровспециальныхфункций,побитовый руютпозициюбитавпределахрегистра(рис.1б.) ственнымиадресамирегистров,а3младшихбитаадресаидентифициадресаячеекОЗУ,аименно:5старшихбитовадресасовпадаютссобспециальныхфункций.Адресаэтихбитоввычисляютсяиначе,чем ресабитовот128(80Н)до255(0FFH)соответствуютбитамрегистров младшегобитамладшегобайтакстаршемубитустаршегобайта.Адсами20Ни2FH(рис.1а.)Онипронумерованыпоследовательноот определяютбитыв16-байтномблокевнутреннегоОЗУмеждуадре- бираетсяиздвухгруппбитов.Значенияадресаот0(00Н)до127(7FH) Взависимостиотзначениябайтаадресапрямоадресуемыйбитвы-
.2ПРЯМАЯАДРЕСАЦИЯБИТОВ
Из шаговых двигателей наиболее распространены и просты в управлении униполярные модели с четырьмя катушками. Униполярными их называют потому, что при управлении на их обмотки достаточно подать или не подать ток, в то время как в биполярном двигателе надо менять полярность напряжения на выходах.
Чтобы заставить вращаться такой двигатель, надо подавать на него последовательность импульсов, указанную в табл. 1. Если эта последовательность прямая (от шага 1 к шагу), двигатель вращается в одном направлении, если обратная (от шага 4 к шагу 1), то в противоположном.
|
|
|
|
Таблица 1 |
|
|
|
|
|
|
|
|
|
ШАГ |
|
|
|
|
1 |
2 |
3 |
4 |
|
Обмотка 1 |
+V |
+V |
0 |
0 |
|
Обмотка 2 |
0 |
0 |
+V |
+V |
|
Обмотка 3 |
+V |
0 |
0 |
+V |
|
Обмотка 4 |
0 |
+V |
+V |
0 |
|
Сформировать такие последовательности управляющих сигналов несложно, но для этого требуются несколько микросхем стандартной логики. Для управления двигателями были выпущены специализированные интегральные схемы. Одна из наиболее известных − SAA1027, принцип работы которой показан на рис. 2.
Рис. 2.
Чтобы управлять данной ИС, необходимы две линии: R, определяющая нужноенаправление вращения, иS, приподаче на которуюимпульса двигатель поворачивается наодиншагв направлении, определенномR.
Адрес |
|
|
Адреса битов |
|
|
Обозначение |
|||
регистра |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
регистра |
0FFH |
|
|
|
|
|
|
|
|
|
:::::::: |
|
|
|
|
|
|
|
|
|
0F0H |
F7 |
F6 |
F5 |
F4 |
F3 |
F2 |
F1 |
F0 |
B |
:::::::: |
|
|
|
|
|
|
|
|
|
0E0H |
E7 |
E6 |
E5 |
E4 |
E3 |
E2 |
E1 |
E0 |
ACC |
:::::::: |
|
|
|
|
|
|
|
|
|
0D0H |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
PSW |
:::::::: |
|
|
|
|
|
|
|
|
|
0B8H |
– |
– |
– |
BC |
BB |
BA |
B9 |
B8 |
IP |
:::::::: |
|
|
|
|
|
|
|
|
|
0B0H |
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
B0 |
P3 |
:::::::: |
|
|
|
|
|
|
|
|
|
0A8H |
AF |
– |
– |
AC |
AB |
AA |
A9 |
A8 |
IE |
:::::::: |
|
|
|
|
|
|
|
|
|
0A0H |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
P2 |
:::::::: |
|
|
|
|
|
|
|
|
|
098H |
9F |
9E |
9D |
9C |
9B |
9A |
99 |
98 |
SCON |
:::::::: |
|
|
|
|
|
|
|
|
|
090H |
97 |
96 |
95 |
94 |
93 |
92 |
91 |
90 |
P1 |
:::::::: |
|
|
|
|
|
|
|
|
|
088H |
8F |
8E |
80 |
8C |
8B |
8A |
89 |
88 |
TCON |
:::::::: |
|
|
|
|
|
|
|
|
|
080H |
87 |
86 |
85 |
84 |
83 |
82 |
81 |
80 |
P0 |
Рис. 2. Адреса прямоадресуемых битов регистров специальных функций
34 |
7 |
33
нужныйугол. лить,сколькоимпульсовпослатьдвигателю,чтобыповернутьегона вышена,точностьположениягарантируется,достаточнолишьопредеЕсливовремяработыпредельнаяскоростьдвигателянебылапре-
Рис.1Двигательспостояннымимагнитами
Нарис..1показаноустройстводвигателяспостояннымимагнитами. •гибридныедвигатели. •двигателиспостояннымимагнитами; •двигателиспеременныммагнитнымсопротивлением Существуюттриосновныхтипашаговыхдвигателей: этокруглыйкорпус,вал,нескольковыводов. тическиничемнеотличаетсяотдвигателейдругихтипов.Чащевсего перемещения.Такможнодатьстрогоеопределение.Внешнеонпракроепреобразуетэлектрическиеимпульсывдискретныемеханические Шаговыйдвигатель−этоэлектромеханическоеустройство,кототорыйзачастуюопределяетсяпрограммоймикроконтроллера. важноправильновыбратьсхемудрайвераиалгоритмегоработы,коОднакоправильновыбратьтипдвигателя−этоещеполдела.Неменее множестворазличныхтиповшаговыхдвигателейнавсеслучаижизни. ленномиспециальномоборудовании.Внастоящеевремявыпускается терах,плоттерах,сканерах,факсах,атакжевразнообразномпромышразнообразныхустройствах.Ихможновстретитьвдисководах,принШаговыедвигателиужедавноиуспешноприменяютсявсамых
ПРИЛОЖЕНИЕ.1Управлениешаговымдвигателем
|
|
|
|
|
|
|
|
|
8 |
|
0D8H,0Е8Ни0F8H)зарезервированыдлябу- |
годоступа(0С0Н,0С8Н, |
|||||||||
Заметим,что5регистровспотенциальнойвозможностьюпобитово- |
||||||||||
|
|
|
|
|
последовательнымканаломввода-вывода. |
|||||
жетслужитьпрограммно-реализуемымстробом,тестовымвходомили |
||||||||||
вход,выходиливход-выходвлюбойкомбинации.Любойвыводмо- |
||||||||||
Все32выводапортовР–0Р3могутиндивидуальноадресоватьсякак |
||||||||||
|
|
|
|
|
Рис..3АдресапрямоадресуемыхбитовОЗУ |
|||||
|
|
|
|
|
|
|
|
|
|
00H |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Банк0 |
|
|
|
|
07Н |
|
|
|
|
|
|
|
|
|
|
|
08Н |
|
|
|
|
Банк1 |
|
|
|
|
0FH |
|
|
|
|
|
|
|
|
|
|
|
10Н |
|
|
|
|
Банк2 |
|
|
|
|
17Н |
|
|
|
|
|
|
|
|
|
|
|
18Н |
|
|
|
|
Банк3 |
|
|
|
|
1FH |
|
|
00 |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
|
20Н |
|
08 |
09 |
0А |
0B |
0С |
00 |
0Е |
0F |
|
21Н |
|
11 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
|
22Н |
|
18 |
19 |
1А |
1В |
1С |
10 |
1E |
1F |
|
23Н |
|
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
|
24Н |
|
28 |
29 |
2А |
2В |
2С |
2D |
2Е |
2F |
|
25Н |
|
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
|
26Н |
|
38 |
39 |
3А |
3D |
3С |
3D |
3Е |
3F |
|
27Н |
|
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
|
28Н |
|
48 |
49 |
4А |
4В |
4С |
4D |
4Е |
4F |
|
29Н |
|
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
|
2АН |
|
58 |
59 |
5А |
5В |
5С |
5D |
5Е |
5F |
|
2ВН |
|
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
|
2СН |
|
68 |
69 |
6А |
6В |
6С |
6D |
6Е |
6F |
|
2DH |
|
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
|
2ЕН |
|
78 |
79 |
7А |
7В |
7С |
7D |
7Е |
7F |
|
2FH |
|
|
|
|
|
|
|
|
|
|
:::::: |
|
|
|
|
|
|
|
|
|
|
7FH |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
ОЗУ |
|
|
|
|
Адресабитов |
|
|
|
Адресбайта |
Литература
1.Саркисов А.Ш., Воеводин И.Г. Микропроцессорные средства: Учебное пособие. − Астрахань: Изд. АГТУ, 2002. – 168 с., ил.
2.Нестеров П.В., Шаньгин В.Ф., Горбунов В.Л. Микропроцесоры. (в 3-х кн): Учеб. для втузов/ Под ред. Л.Н. Преснухина. – М.: Высшая.
школа, 1986. − 495 с., ил.
3.Гилмор Ч. Введение в микропроцессорную технику (пер. с англ.).
−М.: Мир, 1984. − 334 с., ил.
4.Саркисов А.Ш., Ветрова А.А. Лабораторный практикум по курсу «Схемотехника». − Астрахань: Изд. АГТУ, 2000. – 74 с.
5.Хоровиц П., Хилл У. Искусство схемотехники ( в 3-х т.). – Т.2. (пер. с англ.) – 4-е изд., перераб. и доп. −М.: Мир,1993. −371 с.
6.Токхейм Р. Микропроцессоры: Курс и упражнения. − М.: Энергоатомиздат, 1988. −320 с.
7.Саркисов А.Ш., Мичник Ю.О. Лабораторный практикум по курсу «Организация ЭВМ и систем». − Астрахань: Изд. АГТУ, 1999. – 91 с.
8.Токхейм Р. Основы цифровой электроники (пер. с англ.) – М.:
Мир, 1988. − 392c., ил.
9.Однокристальные микроЭВМ. − М.: МИКАП, 1994. − 400 с., ил.
дущего расширения возможностей MCS-51. Обращение к зарезервированным регистрам может привести к непредсказуемым результатам. Также не имеют доступа 5 битов регистров IE и IP: IE.5, IЕ.6, IP.5–IP.7, которые не могут использоваться в программе в качестве флагов.
Для обработки битов регистров ОЗУ, не имеющих побитового доступа, могут быть использованы логические операции с байтами. Регистр слова состояния программы PSW содержит биты флагов и состояния процессора, включая флаг переноса. Операции обработки байтов, воздействуя на регистр PSW, могут таким образом влиять и на бит переноса.
3. СИСТЕМА КОМАНД
Команды битового процессора представлены в табл. 1 и на рис. 1.
3.1. Команды управления состоянием битов
Двухбайтовые команды SETB, CLR и CPL устанавливают, обнуляют или логически дополняют до 2-х (для битового операнда эквивалентно инверсии) адресуемые биты или флаги за один машинный цикл. Команды SETB и CLR осуществляют загрузку бита константой «1» или «0» соответственно. Однобайтовые версии этих команд выполняют те же операции над битом переноса С.
В языке ассемблера MCS-51 адрес бита указывается одним из трех способов:
•числом или выражением, соответствующим прямому адресу бита;
•названием или адресом регистра, содержащего данный бит, и позицией бита в регистре (0–7), разделенными точкой;
•для определенных битов (например, битов регистра IE), указанием символического имени.
Биты также могут обозначаться произвольными именами директивой ассемблера bit. Например, 5-й бит регистра PSW может быть очищен любой из четырех команд:
USR_FLG bit PSW.5 ; Описание символа пользователя
;... текст программы ...
CLR |
0D5H |
; Абсолютная адресация |
CLR |
PSW.5 |
; Использование точечного оператора |
CLR |
F0 |
; Использование собственного имени бита |
CLR |
USR_FLG |
; Символ пользователя. |
32 |
9 |
31
|
кодом,принятымпопоследовательномуканалу. |
|
приемасодержимоеэтогорегистраможносравнитьсциклическим |
||
гическидополнятьсявзависимостиотзначенияпереноса.Вконце |
||
могутло- |
вующиеразрядырегистра,содержащегоциклическийкод, |
|
соответст- |
вперенос, |
многобайтовыхданныхкаждыйбитпопадает |
посколькуприприеме |
гутбытьвыполненыпрограммно.Например, |
|
щихсдвиговыерегистрыивентили«ИСКЛЮЧАЮЩЕГОИЛИ»,мо- |
||
мыепоследовательноспомощьюаппаратныхрешений,использую- |
||
кодыдляпроверкицелостностиданных.Функции,обычновычисляе- |
||
стиипротоколовпоследовательнойсвязииспользуютциклические |
||
товыхпоследовательностей.БольшинствовнешнихЗУбольшойемко- |
||
тибитовыеданные,некоторыепротоколытребуютболеедлинныхби- |
||
тельныйпортMCS-51можетприниматьипередаватьвосьми-идевя- |
||
Многобайтовыйсдвигициклическиекоды.Хотяпоследова- |
||
|
|
последующейпроверкойфлагачетности. |
полненияфлагапереносаилисобиранияэтихбитовваккумуляторс |
||
изолированныхбитов.Этоможносделатьспомощьюлогическогодо- |
||
другиеаналогичныеприемытребуютвычислениячетностидлягрупп |
||
слатьвбитпереноса.ПрименениекорректирующихкодовХэммингаи |
||
Длядальнейшейобработкизначениепризнакачетностиможнопере- |
||
содержимогоаккумуляторавсегданаходитсявбитеРрегистра.PSW |
||
Четностьбайтовилигруппбитов.Значениепризнакачетности |
10
крементированномузначениюпрограммногосчетчика,чтобывычисмандусловныхпереходовпроцессорприбавляетэтозначениекин- смещениясознакомвинтервалеот-128до.+127Привыполнениико- машинныхцикла.Последнийбайтинструкциипредставляетсобойкод сацию(относительнопрограммногосчетчика)ивыполняютсязадва Всекомандыусловногопереходаиспользуютотносительнуюадресмещения(rеl8),азатемочищаетэтотбит. указанногобита,выполняетусловныйпереход,вычисляяегопобайту стояниюбитаиегоочистки.Онасначала,взависимостиотсостояния КомандаJBCbit,rel8сочетаетоперацииусловногопереходапосоаналогичныйпредыдущемуусловныйпереход. адресакоторого(bit)указываетсяпослекодакоманды,ивыполняют rel8(переходпосброшенномубиту)проверяютсостояниебита,байт КомандыJBbit,rel8(переходпоустановленномубиту)иJNBbit, да,ибайтасмещения(rе.l8) числяетсякаксуммаадресакоманды,следующейзакомандойпереходаютуправлениекоманде,расположеннойпоадресуперехода.Онвыгапереносаи,еслипереносравен«1»или«0»соответственно,пере- JNCrеl8(переходпоотсутствиюпереноса)проверяютсостояниефлаКомандыусловныхпереходовJCrе18(переходпопереносу)и
.4.3Командыпроверкибитов
операндисточника. ниядо2-гоадресуемогобита(инверсиибита),ноэтоневлияетна рандомисточникауказываетнаиспользованиелогическогодополнетомипомещаютрезультатвперенос.Наличиесимвола«/»передопе- «ИЛИ»соответственномеждубитомпереносаСилюбымдругимбиКомандыANLиORLвыполняютоперациилогических«И»и
.3.3Логическиеоперации
раций.ЗначениепереносаможносохранитькомандамиPUSHи.POP зуетсякакодноразрядныйрегистр-аккумулятордлялогическихопе- куспомощьюкомбинацииэтихдвухкоманд.Флагпереносаиспольлюбойбитзадвацикла.БитможетбытьперемещенизячейкивячейбитвпереносСзаодинмашинныйциклиликопироватьпереносв ДвухбайтовыекомандыMOVмогутпередаватьлюбойадресуемый
.2.3Командыпересылкиданных