6. Применение битового процессора

Программная реализация последовательного порта. ОМЭВМ семейства MCS-51 могут программно принимать и передавать последовательные данные с использованием системы команд битового процессора. Поскольку любой вывод порта может служить последовательным входом или выходом, одновременно можно организовать несколько последовательных линий связи.

На рис. 7 показаны алгоритмы приема и передачи байтов данных. Программа будет обращаться к этому алгоритму 8 раз, синхронизируясь старт-битом, тактовым сигналом, программной задержкой или прерыванием от таймера. Данные принимаются путем опроса входного вывода, присвоения биту переноса состояния этого вывода, сдвига бита переноса в буфер данных и сохранения полученного значения в ОЗУ. Передача происходит путем сдвига содержимого буфера передаваемого байта через перенос и выдачи состояния флага переноса на выходной вывод.


Рисунок 7 – Алгоритмы последовательного порта ввода/вывода

На рис. 8 приведены программы, реализующие показанные на рис. 7 алгоритмы приема и передачи для трех различных микропроцессоров: 8085, 8048 и 8051. Программная реализация последовательного порта на MCS-51 наиболее эффективна. Представленные оценочные характеристики подтверждают эффективность реализации последовательного порта на базе MCS-51.

Решение уравнений комбинаторной логики. На рис. 9 показана реализация на ТТЛ-элементах функции шести переменных от U до Z, которая является решением уравнения

Q = (U × (V+W))+(X × Y)+Z.

Уравнения такого рода решаются с помощью карт Карно или аппарата алгебры булевой логики. Для сравнения выполним эту функцию тремя способами, ограничиваясь тремя подмножествами системы команд MCS-51.

Предположим, что U и V являются входными выводами некоторого порта, W и Х – биты состояния двух периферийных контроллеров, a Y и Z – программные флаги, ранее установленные в программе. Окончательный результат должен выдаваться на выходной вывод порта.

Первые два способа решения основываются на алгоритме, показанном на рис. 10, который может быть выполнен практически любым микропроцессором. Выполнение программы идет с проверками и ветвлением, до тех пор пока не будет получен результат, который выдается на порт.

8085 8048 8051
IN SERPORT MOV C,SERPIN
ANI MASK CLRC
JZ L0 JNT0 L0
CMC CPLC
L0: LXI HL,SERBUF L0: MOV R0,#SERBUF
MOV A,M MOV A,@R0 MOV A,SERBUF
RR RRC A RRCA
MOV M,A MOV @R0,A MOV SERBUF,A
8 команд 7 команд 4 команды
14 байт 9 байт 7 байт
56 состояний 9 циклов 4 цикла
19 мкс 22,5 мкс 4 мкс
а) подпрограмма ввода
8085 8048 8051
LXI HL,SERBUF MOV R0,#SERBUF
MOV A,M MOVA,@RO MOV A,SERBUF
RR RRCA RRCA
MOV M,A MOV @R0,A MOV SERBUF,A
IN SERPORT
JC H1 JCHI
L0: ANI NOT MASK ANL SERPRT,#NOT MASK MOV SERPIN,C
JMP CNT JMPCNT
H1: ORI MASK H1: ORL SERPRT,#MASK
CNT: OUT SERPORT CNT:
10 команд 8 команд 4 команды
20 байт 13 байт 7 байт
72 состояния 11 циклов 5 циклов
24 мкс 27,5 мкс 5 мкс
б) подпрограмма вывода
Рисунок 8 – Подпрограммы последовательного ввода/вывода

В первом варианте решения (пример 1) не используются команды битового процессора, хотя используется мнемоника MCS-51. Другие процессоры могут выполнить аналогичные действия, используя собственную мнемонику типа INPUT, OUTPUT, LOAD, STORE и т.д.

Благодаря возможностям проверки битов одна команда MCS51 может заменить последовательность "переслать/маскировать/условно перейти". Это позволяет сократить программу (пример 2). Для удобства каждой входной переменной присвоено символическое имя.

Рисунок 9 – Аппаратное решение логической функции

Рисунок 10 – Программное решение логической функции

Более красивое решение (пример 3) получается с применением команд битового процессора, благодаря чему удается написать программу без команд условного перехода. При завершении программы полученный результат присваивается флагу переноса, который копируется на выходной вывод.

Таким образом ОМЭВМ семейства MCS-51 могут моделировать любую комбинационную схему с N-числом входов с помощью самое большее N+1 строк исходной программы: по одной строке на каждый вход и еще одна на сохранение результата. Возможное ограничение при моделировании большого числа входов и выходов определяется длиной программы и фиксированным числом выводов портов.

Пример 1. Использование команд с байтовыми операндами

BFUNC1 вычисляет логическую функцию 6 переменных путем загрузки байта маскирования соответствующих битов в аккумуляторе и выполнения условных переходов. Байты и маски соответствуют адресам и битовым позициям. (Используется для процессоров, ориентированных на работу с байтами)
OUTBUF DATA 22H ; карта состояния выходов
TESTV: MOV A,P2
ANL A,#00000100B
JNZ TESTU
MOV A,TCON
ANL A,#00100000B
JZ TESTX
TESTU: MOV A,P1
ANL A,#00000010B
JNZ SETQ
TESTX: MOV A,TCON
ANL A,#00001000B
JNZ TESTZ
MOV A,20H
ANL A,#00000001B
JZ SETQ
TESTZ: MOV A,21H
ANL A,#00000010B
JZ SETQ
CLRQZ: MOV A, OUTBUF
ANL A,#11110111B
JMP OUTQ
SETQ: MOV A, OUTBUF
ORL A,#00001000B
OUTQ: MOV OUTBUF, A
MOV P3,A
Пример 2. Использование команд проверки битов
BFUNC2 вычисляет логическую функцию 6 переменных путем прямого опроса каждого бита. Биты обозначены в соответствии с символами, использованными в алгоритме (Используется возможность проверки битов)
U BIT Pl.l
V BIT P2.2
W BIT TF0
X BIT IE1
Y BIT 20H.0
Z BIT 21H.1
Q BIT P3.3
TEST_V: JB V,TEST_U
JNB W,TEST_X
TEST_U: JB U,SET_Q
TEST_X: JNB

X,TEST_Z

JNB

Y,SET_Q

TEST_Z: JNB Z,SET_Q
CLR_Q:

CLR

Q
JMP NXTTST
SET_Q:

SETB

Q

NXTTST:

...

; продолжение программы

Пример 3. Использование битового процессора
FUNC3 Вычисляет логическую функцию 6 переменных с использованием возможностей битового процессора MCS-51.
MOV C,V
ORL C,W ; Выход вентиля ИЛИ
ANL C,U ; Выход верхнего вентиля И
MOV 0F,C ; Сохранение промежуточного состояния
MOV C,X
ANL C,/Y ; Выход нижнего вентиля И
ORL C,0F ; Использование ранее вычисленного значения
ORL C,/Z ; Использование последней входной переменной
MOV C,/Z ; Вывод результата

В разделе 7 пособия рассмотрены практические примеры и их реализация на основе системы команд и программной модели ОМЭВМ семейства MCS-51. Все приведенные решения задач имеют программную совместимость с последующими модификациями 8-разрядных микроконтроллеров фирмы INTEL, включая MCS-251.


СПИСОК ЛИТЕРАТУРЫ

1. Исаченко В.П., Осипова В.А., Сукомел А.С. Компьютерная электроника. Учебник для вузов. 3-е изд. перераб. и доп. М.:Энергия. 2005.-488 с.

2. Михеев М.А., Михеева И.М. Основы радиоэлектроники. М.:Энергия. 2003.-368 с.

3. Краснощеков Е.А., Сукомел А.С. Задачник по электронике. М.:Энергия. 1999-280 с.

4. Козлова О.В., Новиков Ю.Л., Бочарова Т.Н. Стандарт предприятия. Оформление расчетно-пояснительной записки и графической части. СТП ВГТУ 004-2003.-42 с.

5. Теплотехнический справочник. Под общ. ред. В.Н. Юренева и П.Д. Лебедева. В –2х т. Изд. 2-е, перераб. М., "Энергия", 2006.-897 с.


Информация о работе «Встроенные микропроцессорные системы на основе однокристальных микро ЭВМ»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 37477
Количество таблиц: 8
Количество изображений: 8

Похожие работы

Скачать
65335
1
10

... ввести распределенную обработку во всех подсистемах вычислительной системы, что определяет новые способы организации вычислительных процессов в системах с децентрализованными управлением и обработкой информации. 2. Интерфейс микропроцессоров Для включения микропроцессора в любую микропроцессорную систему необходимо установить единые принципы и средства его сопряжения с остальными устройствами ...

Скачать
28009
17
0

... 0,1098 4.4 Выбор сторожевого таймера. Т.к. работа системы происходит в автономном режиме и не предусматривает работу оператора с ней, то для случая зависания микро-ЭВМ в схему системы сбора данных добавляется интегральная микросхема MAX690AMJA – сторожевой таймер. Выполняющая две основные функции: выведение МП из состояния зависания и сброс МП при включении питания. Основные характеристики ...

Скачать
138113
3
22

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

Скачать
141475
17
0

... ввод ложного сообщения (даже ранее записанного с того же голоса) легко обнаруживается по изменению содержания. Технические требования предъявляемые к системе взаимодействия периферийных устройств при обработке данных в стандарте DES. Система взаимодействия с периферийными устройствами должна работать в режиме открытой и закрытой передачи. В открытом режиме на передаче информация не шифруется, ...

0 комментариев


Наверх