Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mcs51_1 / Пособие ч1.doc
Скачиваний:
37
Добавлен:
21.03.2016
Размер:
957.44 Кб
Скачать

2.4.4 Арифметические и логические операции.

  1. Арифметика 8 битовая двоичная (Знаковая/беззнаковая)

Формат числа – двоичное число в дополнительном коде. Операции сложения и вычитания знаковые и беззнаковые не различимы на уровне

схемы суммирования./вычитания – различаются только формированием признака переполнения OV[ ].

PSW=C.AC.F0.RS1.RS0.OV.-.P содержит признаки результата арифметических операций – С(перенос, заем), AC – полуперенос, OV(переполнение),

add a, {Ri,@rj,#d,ad} ; a + {..}  a, Признаки C,OV,P в PSW, в скобках {.. } обозначены режимы адресации второго операнда

addc a, {Ri,@rj,#d,ad} ; a + {..}+ C  a

subb a, {Ri,@rj,#d,ad} ; a - {..}- C  a

add a,P2 ; a +P2 a P2-регистр порта Р2

2) Беззнаковая арифметика

inc {a, ri, @rj, ad, dptr} ; {..}+1, признаки не меняются в PSW

dec r0, {a, ri, @rj, ad} ;{..}-1

mul ab ; a*bb.a, признаки v=(b#0), 0C, P

div ab ; a/b a, b=rest(a/b) признаки ov,p

rrc a, ; RR(c.a) (a.C) признаки C,P

rlc a, ; RL(a.C) (C.a) признаки C,P

clr a, ; 0a

(17. В С51 признаки операций не доступны (почему?как выйти из положения - привести примеры)

3) Десятичная арифметика

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

В MCS51 работа с десятичными данными поддерживается специальными командами:

DA a десятичная коррекция результатов двоичного сложения или вычитания 2/10 чисел

swap a – обмен тетрадами в Асс

xchd a, @rj - обмен тетрадами

4) Логика поразрядная 8 битовая

anl a, {Ri,@rj,#d,ad} a & {..} a признаки p, 0c,

anl ad, {#d, a} ;

orl a, {Ri,@rj,#d,ad} a v {..} a признаки p, 0c,

orl ad, {#d, a}

xrl {Ri,@rj,#d,ad} a # {..} a признаки p, 0c

xrl ad, {#d, a}

cpl a ; not a

rr a ; циклический сдвиг Асс вправо (признак С

не изменяется)

rl a ; циклический сдвиг Асс влево (признак С не изменяется)

5) Битовые операции

anl c,{bit, /bit} /bit – инверсия бита ;

Например, anl c,/ACC.6

orl c,{bit , /bit} mov c,bit

setb bit,

clr bit,

cpl C

Примеры вычислений с булевскими и битовыми переменными

Примеры использования при вычислениях в С51 поразрядных логических и булевских операций

#include <reg51.h>

char x=-1, y=0, z;

bit xx=1, yy=0, zz;

char xy=55, yx=-33, zxy;

main()

{

zz=xx&&(!yy)||xx||(!yy); // 1 ( !=0)1, ( ==0)0 условные команды

z=x&&(!y)||x||(!y); // 01 поразрядные логические

zz=xx&(~yy)|xx|(~yy); // 1 поразрядные логические

z=x&(~y)|x|(~y); // FF= -1 условные команды

zxy=xy&&(!yx)||(xy-22)||(!yx+5); //01 смешанные вычисления –условные

команды

zxy=xy&(!yx)|(xy-22)|(!yx+5); //25 арифм и поразрядные лог операции

}

(20. Выполнить тестирование примеров и пояснить принцип интерпретации выражений в С51). Предложить надежную запись смешанных выражений и примеры.

zxy=(xy>0)&(!yx==0)|(xy-22<0)|(!yx+5>10);

4. Ввод-вывод численных данных

Численные данные – основная форма представления информации в моделях самого разнообразного типа, ЭВМ предназначена для вычислений и работы с численными данными, к операциям с числами приводятся все

алгоритмические преобразования информации – социально-экономической, логической, лингвистической, графической и др

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

Симметричная проблема преобразования дискретного числового представления информации в непрерывное поле – нагрев, охлаждение, скорость, графика и др

Непрерывное информационное поле дискретизируется в численные данные для обработки в ЭВМ, но всегда представляет информацию с конечной абсолютной погрешностью [1] .

Назначение ввода-вывода – обмен данными между памятью ЭВМ и периферией ввода-вывода, подключаемой к контактам портов. На контактах порта уровни сигналов (H.L) интерпретируются в положительной логике (1,0).

Устройства ввода (клавиатуры, считыватели с магнитных носителей и др.) преобразуют или считывают внешнее естественное представление численных данных в десятичной системе в промежуточной двоично-десятичной форме и выполняется преобразование двоично-десятичных кодов в машинные двоичные форматы данных.

Датчики (сенсоры) в управляющих и измерительных вычислительных системах формируют данные в двоичной или двоично-десятичном форматах на входных портах контроллера. Непрерывное информационное поле, таким образом, дискретизируется в численные данные для обработки в ЭВМ при вводе.

Если измеряемая величина аналоговая +/- 1.5 в, то ADC-преобразователь датчика формирует дополнительный двоичный код значения с

масштабом 3в/2n , где n-разрядность преобразователя. Если вычисления следует выполнять в единицах измерения, то двоичный код S преобразуется в единицы измерения (например, в) –

(S*3в/2n ). , получим дробное число с абсолютной погрешностью 2-n+1 Для вычислений необходимо перевести число в целое с масштабом 1000 мв или

машинное представление может быть получено как результат двоичных вычислений с учетом знаков в дополнительном коде.

(S*3 )*1000 мв. Получим целое двоичное число в дополнительном коде в n-разрядном формате с двоичным масштабом 2-n .

Устройства вывода (например, визуализации данных (дисплеи, индикаторы, принтеры и др)) преобразуют промежуточный двоично-десятичный формат чисел в десятичное изображение. При выводе машинные двоичные целые форматы преобразуются программами в двоично-десятичные (2/10 преобразование) с учетом знака и масштаба. Проблема преобразования дискретного числового представления информации в непрерывное поле – нагрев, охлаждение, скорость, графика и др осуществляется специальными исполнительными устройствами

Соседние файлы в папке mcs51_1