Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

преобразование числа для занесения его в регистр на PIC16F84

Непрочитано 10.01.2007, 10:17  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию преобразование числа для занесения его в регистр на PIC16F84

Начал изучать пики на ассамблере,попалась програмка сложения двух трехбайтовых чисел,все понятно там,но мне хочется занести свои числа в регистры и сложить потом проверить правельность результата, не могу преобразовать число из десятичного в двоичный и положить в регистры например 25555

как преобразовать число из регистров в десятичное понял: по формуле (regh*256+regm)*256+regl
где regh-старший регистр числа
regm-средний регистр числа
regl-младший рестр числа

как из десятичного в регистры пока не понял,но если подумать и поломать голову пойму,мож кто поможет быстрей
Реклама:
CERGEI1982 вне форума  
Непрочитано 10.01.2007, 14:46  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: преобразование числа для занесения его в регистр на PIC1

Сообщение от CERGEI1982
как из десятичного в регистры пока не понял,но если подумать и поломать голову пойму,мож кто поможет быстрей
Запускаете обычный виндовский калькулятор в инженерном режиме, вводите число, переключаетесь в HEX формат. Не, ну конечно можно и ручками, но все же так проще.

Кстати если взять NumLock калькулятор, так он даже в римские переводить умеет
nml вне форума  
Непрочитано 10.01.2007, 16:43  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

ну попробуй переведи например два числа 25555 и 16000 шестидеричные ,внеси в пик,пусть он сложит их и проверь ответ,вот я о чем
CERGEI1982 вне форума  
Непрочитано 10.01.2007, 16:49  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от CERGEI1982
ну попробуй переведи например два числа 25555 и 16000 шестидеричные ,внеси в пик,пусть он сложит их и проверь ответ,вот я о чем
?????

25555.*=*0x63D3, то есть мл. байт 0xD3, следующий 0x63, старший 0x00 (речь шла о трехбайтных)

Или я таки чего не понял?
nml вне форума  
Непрочитано 10.01.2007, 17:24  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

ДА ОБ ЭТОМ ,КАК ПРЕОБРАЗОВАЛ?
CERGEI1982 вне форума  
Непрочитано 10.01.2007, 17:47  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от CERGEI1982
ДА ОБ ЭТОМ ,КАК ПРЕОБРАЗОВАЛ?
Ну ладно, мне не влом и повторить...

Запускаете обычный виндовский калькулятор в инженерном режиме, вводите число, переключаетесь в HEX формат. Увидите то же число в HEX формате.
nml вне форума  
Непрочитано 10.01.2007, 18:17  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

ИЗВИНЯЙ СРАЗУ НЕ СООБРАЗИЛ,СПАСИБО ЗА ПОМОЩЬ
CERGEI1982 вне форума  
Непрочитано 10.01.2007, 18:44  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

ВСЕ СХОДИТСЯ,ОКАЗЫВАЕТСЯ ВСЕ ПРОСТО
CERGEI1982 вне форума  
Непрочитано 11.01.2007, 12:30  
paha1956
Временная регистрация
 
Регистрация: 17.05.2006
Сообщений: 71
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
paha1956 на пути к лучшему
По умолчанию

Извиняйте, если не в тему, но вообще есть стандартный алгоритм перевода чисел из одной системы счисления в другую.
Нагляднее всего перевести десятичное число в другую систему, например по основанию 16. Делим наше число (25555) на основание системы счисления, в которую нужно перевести число (16). Результат сохраняем как целое число и остаток: 25555/16=1597 и 3 в остатке. Этот остаток будет самой младшей цифрой нашего нового числа по основанию 16.
Далее делим целую часть результата деления на основание 16 и получаем снова целое и остаток, который будет второй цифрой нашего нового числа: 1597/16=99 и 13, т.е. D.
Далее повторяем до тех пор, пока после очередного деления не останется число, меньшее основания нашей новой системы, т.е. меньшее 16:
99/16=6 и 3 в остатке, 3 – следующая цифра нашего числа;
6 ‹ 16, поэтому 6 – последняя, самая старшая, цифра нашего 16-ричного числа.
В конечном итоге получаем:
25555=0х63D3.

Ву а ля!

PS Таким способом можно перевести число из любой системы счисления в любую другую, только делить надо по правилам той системы, из которой переводят число. Нагляднее всего перевести число в десятичную систему, а уже потом переводить его в другую систему счисления.
__________________
"Имею честь иметь Вашу честь в своём доме..."
paha1956 вне форума  
Непрочитано 11.01.2007, 17:47  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

сложновато,но в общем понятно,но калькулятор всегда есть в компе,и не надо делить число ,так как только через комп можно запрограмировать
CERGEI1982 вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простая программа для PIC16F84 eleorka Микроконтроллеры, АЦП, память и т.д 16 31.03.2008 07:16
mikroC компилятор для пиков как его крякнуть ctefan Proteus, KiCAD и другие ECAD 7 01.01.2008 16:22
Сдвиговый регистр - как организовать цепочку elcreator TTL и CMOS логика 8 30.10.2007 20:39
ЖКИ, микроконтроллер и сдвиговый регистр? SergeyM_V Микроконтроллеры, АЦП, память и т.д 1 08.06.2005 21:44
Помогите написать программу для микросхемы pic16f84 lexacs Микроконтроллеры, АЦП, память и т.д 0 26.01.2005 23:45


Часовой пояс GMT +4, время: 11:27.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.