Рефераты. Встроенные микропроцессорные системы на основе однокристальных микро ЭВМ

Решение уравнений комбинаторной логики. На рис. 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 с.


Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.