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

 
 
> Преобразвание bin-hex, Из bin на 7-сегментный индикатор
Kuznec9999
сообщение Apr 29 2008, 22:42
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 29-04-08
Пользователь №: 37 157



Проблема следующая. После оцифровки сигнала в АЦП, в регистре имеется 8бит данных. Задача преобразовать этот двоичный регистр в три, к которые будут отображаться на трёх семисегментных индикаторах соответственно. В индикаторах должен отображаться десятичный эквивалент сигнала (0-255). Подскажите, легко ли это реализовать на ассемблере, и где про это можно почитать? Спасибо.

Сообщение отредактировал Kuznec9999 - Apr 29 2008, 22:43
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
singlskv
сообщение Apr 30 2008, 15:30
Сообщение #2


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Kuznec9999 @ Apr 30 2008, 02:42) *
После оцифровки сигнала в АЦП, в регистре имеется 8бит данных. Задача преобразовать этот двоичный регистр в три,

Ну вот, такое отдающее "новизной" обсуждение, чуть было не прошло мимо меня smile.gif
Для одного байта я бы сделал как-нить так:
Код
;Input:  r16 - 8bit Binary
;Output: r18:r17:r16 unpacked BCD

    ldi     r18,51
    ldi     r19,10

    mov     r17,r16
    lsr     r17
    inc     r17
    mul     r17,r18
    mov     r17,r1
    mul     r1,r19
    sub     r16,r0
    mov     r1,r17
    lsr     r1
    inc     r1
    mul     r1,r18
    mov     r18,r1
    mul     r1,r19
    sub     r17,r0

16 слов и 20 тактов
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 30 2008, 18:43
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(singlskv @ Apr 30 2008, 19:30) *
16 слов и 20 тактов
Не, чего-то первый раз не очень получилось, пробуем еще:
Код
;Input:  r16 - 8bit Binary
;Output: r18:r17:r16 unpacked BCD

    ldi     r17,41
    mul     r16,r17
    swap    r0
    swap    r1
    movw    r16,r0
    mov     r18,r17
    andi    r18,0x0F
    andi    r17,0xF0
    andi    r16,0x0F
    or      r17,r16
    inc     r17
    ldi     r16,10
    mul     r16,r17
    mov     r17,r1
    mul     r0,r16
    mov     r16,r1

16 слов 19 тактов, ну и регистров меньше используем


Нда..., подумал еще..., все нужно делать по-другому sad.gif
Код
;Input:  r16 - 8bit Binary
;Output: r18:r17:r16 unpacked BCD

    ldi     r17,164
    mul     r16,r17
    clr     r18
    lsl     r0
    rol     r1
    rol     r18
    lsl     r0
    rol     r1
    rol     r18
    inc     r1
    ldi     r16,10
    mul     r1,r16
    mov     r17,r1
    mul     r0,r16
    mov     r16,r1

15 слов 18 тактов
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kuznec9999   Преобразвание bin-hex   Apr 29 2008, 22:42
- - rezident   Ключевое слово для поиска по форуму - BCD. Вот в т...   Apr 29 2008, 22:59
|- - Kuznec9999   Цитата(rezident @ Apr 30 2008, 02:59) Клю...   Apr 29 2008, 23:03
|- - Сергей Борщ   Цитата(Kuznec9999 @ Apr 30 2008, 02:03) Ж...   Apr 29 2008, 23:49
|- - rezident   Цитата(Kuznec9999 @ Apr 30 2008, 05:03) С...   Apr 29 2008, 23:54
|- - 777777   Цитата(Kuznec9999 @ Apr 30 2008, 03:03) С...   Apr 30 2008, 04:52
- - domowoj   Есть много методов преобр. Самый быстрый - табличн...   Apr 30 2008, 01:33
|- - MrYuran   Цитата(domowoj @ Apr 30 2008, 04:33) Есть...   Apr 30 2008, 05:24
|- - 777777   Цитата(MrYuran @ Apr 30 2008, 09:24) не п...   Apr 30 2008, 05:43
- - TarasH   Смотри сюда http://www.atmel.ru/Articles/Atmel1...   Apr 30 2008, 06:26
|- - 777777   Цитата(TarasH @ Apr 30 2008, 10:26) Смотр...   Apr 30 2008, 06:40
|- - ReAl   Цитата(777777 @ Apr 30 2008, 09:40) Че-то...   Apr 30 2008, 08:34
- - blackfin   Ещё пару ссылок: int >> str itoa на asm, и...   Apr 30 2008, 06:58
- - MrYuran   ЦитатаЭто, конечно, быстрее, чем делением на 10 А ...   Apr 30 2008, 08:49
|- - ReAl   Цитата(MrYuran @ Apr 30 2008, 11:49) А чт...   Apr 30 2008, 13:00
- - Kuznec9999   Попробовал avr204.asm, а именно bin2bcd8... На вых...   Apr 30 2008, 12:08
- - Kuznec9999   Цитата(singlskv @ Apr 30 2008, 22:43) Код...   Apr 30 2008, 19:27
- - 777777   Цитата(singlskv @ Apr 30 2008, 22:43) Код...   May 2 2008, 15:07
- - singlskv   Цитата(777777 @ May 2 2008, 19:07) А нель...   May 2 2008, 16:38


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:30
Рейтинг@Mail.ru


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