Страница 1 из 1

Преобразование

Добавлено: 24 апр 2019, 18:44
Dmitrey_59
Подскажите пожалуйста как выполнить преобразование 16 битного слова в 2 байта и обратно в Step 7?

Re: Преобразование

Добавлено: 25 апр 2019, 09:17
mr_Frodo
:shock:
Назначение "преобразования" ?!?
Вы в курсе, что слово это уже 2 готовых байта? Вся загвоздка только в том, какой из полученных байтов соотнести старшему или младшему байту слова.
Для наглядности откройте симулятор и сделайте 6 окон с адресами: 4 байта подряд (например MB0, MB1, MB2, MB3) в битовом виде и 2 слова (МW0 и МW2) в двоичном виде и потыкайте биты в байтах. Думаю вы будете приятно удивлены увиденным и поймёте как вам поступить. Если нет - загружаете требуемое входное слово в локальную переменную, и считываете побитно эти локальные биты, относящиеся к этому слову в выходные байты. Это чтобы заморочиться.
А если по- простому, то просто имеющееся слово прочитать побайтно )))))) Word X ( bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) = Byte X ( 7 6 5 4 3 2 1 0) + Byte [X+1](15 14 13 12 11 10 9 8 )Т.е. фактически биты слова побайтно распределяются задом наперёд - bytex 7 6 5 4 3 2 1 0 и bytex+1 15 14 13 12 11 10 9 8

Re: Преобразование

Добавлено: 02 май 2019, 07:13
SMax
Например так:

Код: Выделить всё

//  IN : WORD
//  OUT_L : BYTE - младший байт
//  OUT_H : BYTE - старший байт

      L     #IN
      T     #OUT_L
      SRW   8
      T     #OUT_H

Re: Преобразование

Добавлено: 02 май 2019, 17:19
Dmitrey_59
Благодарю за совет. На днях попробую.