Например TDA7294

Форум РадиоКот • Просмотр темы - декодер для индикации чисел
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 21, 2025 22:25:12

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: декодер для индикации чисел
СообщениеДобавлено: Вт сен 14, 2010 00:31:49 
Родился

Зарегистрирован: Вт сен 07, 2010 02:23:03
Сообщений: 16
Рейтинг сообщения: 0
всем привет. в написании программ я новичок, пишу на асме, и столкнулся с такой проблемой:
иногда бывает надо вывести на индикацию какое либо число - но это понятно: можно сделать массив,
иногда нужно вывести число от одного до двадцати: это тоже рашаемо...
а если потребуется вывести число от одного и до ста? подскажите каким макаром
можно написать код чтоб, скажем в неком регистре лежит число 3C (60) а надо чтоб
программа при обращении к этому регистру выплевовала на индикацию число 60?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Вт сен 14, 2010 01:25:43 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 12, 2009 02:15:45
Сообщений: 392
Рейтинг сообщения: 0
индикация на чем?

если на светодиодных семисегментных индикаторах, то очень просто.
разлаживаешь свое число на единицы и десятки. (сотни, тысячи, и т.д. если нужно) в твоем примере 3с разложится на 0 и 6
создаешь знакогенератор
выводишь на первое знакоместо из знакогенератора десятки (6), на второе единицы (0)
любуешься.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Вт сен 14, 2010 01:44:52 
Родился

Зарегистрирован: Вт сен 07, 2010 02:23:03
Сообщений: 16
Рейтинг сообщения: 0
а чуть по подробнее можно? как разложить 3с на 6 и на 0?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Вт сен 14, 2010 01:53:28 
Потрогал лапой паяльник

Зарегистрирован: Сб дек 12, 2009 02:15:45
Сообщений: 392
Рейтинг сообщения: 0
асм не знаю. но наверное как и на С.
делим число на десять. целая часть результата - десятки.
из числа вычитаем десятки, получаем единицы.
ваш пример.
делим 3с на 10, получаем 6 (десятки).
из 3с вычитаем 60 (десятки), получаем 0(единицы)


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Вт сен 14, 2010 02:47:29 
Родился

Зарегистрирован: Вт сен 07, 2010 02:23:03
Сообщений: 16
Рейтинг сообщения: 0
все понял, спасибо :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Вт сен 14, 2010 09:21:25 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 238
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3868
Откуда: Москва
Рейтинг сообщения: 0
Когда-то написал такую штуку:
Код:
HexToDec:
   CLR   V100      ;clear 100's
   CLR   V10      ;clear 10's
X100:   CPI   TEMP,0x64   ;compare with 100
   BRLO   X10      ;jump to x10 if less
   SUBI   TEMP,0x64   ;sub 100
   INC   V100      ;inc V100
   RJMP   X100      
X10:   CPI   TEMP,0x0A   ;compare with 10
   BRLO   X1      ;jump to x1 if less
   SUBI   TEMP,0x0A   ;sub 10 and repeat
   INC   V10      ;inc V10
   RJMP   X10
X1:   MOV   V1,TEMP      ;copy remain to V1
   RET



V100,V10 и V1 - регистры сотен, десяток и единиц. Входной параметр - temp. Недостаток в том, что время выполнения зависит от входного параметра: минимум (при 0) - 10 циклов, максимум (255) - 62 цикла.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Вт сен 14, 2010 22:51:06 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 889
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6203
Откуда: Minsk
Рейтинг сообщения: 0
Engineer_Keen писал(а):

X100: CPI TEMP,0x64 ;compare with 100
BRLO X10 ;jump to x10 if less
SUBI TEMP,0x64 ;sub 100
INC V100 ;inc V100
RJMP X100
X10: . . . .


; У меня работает быстрее :
Код:
   . . . . . . . . . . .
X100:      SUBI   TEMP,100   
           BRCS   X10
           INC   V100
           RJMP   X100
X10:       SUBI       TEMP,-100


В цикле только SUBI вместо CMPI -- SUBI


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Чт сен 16, 2010 09:16:00 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Вт июн 15, 2010 07:16:42
Сообщений: 299
Откуда: Иркутск
Рейтинг сообщения: 0
Здесь поглядите, может чем поможет. :)


Вложения:
led_dr.asm [4.52 KiB]
Скачиваний: 292
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Чт сен 16, 2010 10:02:10 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 238
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3868
Откуда: Москва
Рейтинг сообщения: 0
Jack_A писал(а):
У меня работает быстрее :


Зачетно! Если перевести числа от 0 до 255 - разница в 730 циклов. Хотя при некоторых числах (0 например) у меня на 2 цикла быстрее :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: декодер для индикации чисел
СообщениеДобавлено: Чт сен 16, 2010 23:26:45 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 889
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6203
Откуда: Minsk
Рейтинг сообщения: 0
Engineer_Keen писал(а):
Jack_A писал(а):
У меня работает быстрее :


Зачетно! Если перевести числа от 0 до 255 - разница в 730 циклов. Хотя при некоторых числах (0 например) у меня на 2 цикла быстрее :)))


За честное признание - решпект и уважуха :-)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y