реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Преобразовать упакованный 5-ти символьный ВСВ в 16BIN, на asm
ILYAUL
сообщение Apr 1 2012, 21:44
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Всем доброй ночи!

Коллеги , никто не писал такой преобразователь. Поделитесь , а то как-то мыслей никаких. smile3046.gif
Спасибо!!


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Apr 1 2012, 22:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(ILYAUL @ Apr 2 2012, 00:44) *
Всем доброй ночи!

Коллеги , никто не писал такой преобразователь. Поделитесь , а то как-то мыслей никаких. smile3046.gif
Спасибо!!


Код
unsigned char bcd[5];
__flash unsigned short dec[5]={1, 10, 100, 1000, 10000};
unsigned short BcdToBin(unsigned char *bcd_ptr)
{
    unsigned short bin=0;
    
    for (i=0; i<5; i++)
        bin+=dec[i]*bcd_ptr[i];

    return bin;
}

Подойдёт?
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Apr 1 2012, 23:05
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Артём, спасибо большое!
Код , конечно не пропадёт , переписал его в свою записную книжку. Но прект на asm.

Я конечно перелопатил извесный APP AVR204 сохранив оригинальные названия ,но убрав "лишнее" под MEGA, но как-то, какой-то завершённости не хватает. И мысли пока кончились.

Код
ldi  MUL_TEN,10
BCD2BIN16:
;/Перевод упакованного  5 символьного ВСD в 16 BIN

  andi fBCD2,0x0F
  clr  TbinH
  mov  tBINL,fBCD2
  mov  adder,fBCD1
  rcall mul10a
  mov  adder,fBCD1
  rcall mul10b
  mov  adder,fBCD0
  rcall mul10a
  mov  adder,fBCD0
  rcall mul10b
check: rjmp check

mul10a:
   swap adder
mul10b:
  mul  tbinH,MUL_TEN
   mov  tbinH,R0
  mul  tBINL,MUL_TEN
   mov  tbinL,R0
  add  tbinH,R1
  andi adder,0x0F
  add  tBINL,adder
  brcc m10_1
  inc  tBINH
m10_1:
ret




--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016