Локальные системы управления. Конопелько Г.К. - 41 стр.

UptoLike

Составители: 

41
Кроме рассмотренного способа преобразования чисел из одной системы счисления в
другую можно воспользоваться более медленным, но зато и более простым способом "двух
счетчиков". При этом способе из исходного кода вычитается, а к новому коду прибавляется
по единице до обнуления исходного кода, причем вычитание осуществляется "в старой", а
прибавлениев
"новой" системе счисления. Пример программы преобразования двоичного
числа в двоично-десятичное методом двух счетчиков приводится ниже. Для упрощения
программы принято, что исходное двоичное число, заданное в А, не превышает его
десятичного эквивалента 99:
; Версия для МК 48
BBD: MOV R2,A ; Передача исходного кода в R2
CLR A ; Сброс аккумулятора
CONV: ADD A,R1 ; Инкрементновогокода
DA A ; Коррекция
DJNZ R2,CONV ; Декремент исходного кода
; и цикл, если не ноль
EXIT: . . . ; Выход из процедуры
После выхода из процедуры в А находится двоично-десятичный эквивалент исходного
двоичного кода.
Преобразования параллельных и последовательных кодов
Преобразование данных из параллельного кода в последовательный. Наиболее
важным применением процедур преобразования формы представления данных
"параллельный/последовательный" является связь с
удаленными датчиками,
исполнительными механизмами и другими МК по однопроводным линиям передачи
информации. Обычно при передаче байта данных в прямом последовательном коде для
обеспечения согласования работы приемника и передатчика используют старт-стопный
(асинхронный) режим обмена. Передача последовательного кода байта предваряется
посылкой старт-бита (0) и завершается выдачей стоп-бита (1).
Процедура выдачи одного
бита последовательного кода реализуется выдачей в линию
передачи статического сигнала 0 или 1 и вызовом под программы временной задержки
заданной длительности: