Чем можно вывести двоичный код с контроллера PIC16F876
Создана: 02 Мая 2015 Суб 20:14:12.
Раздел: "Радио и электроника"
Сообщений в теме: 157, просмотров: 44974
-
Есть контроллер PIC16F876, над ним работает техник, он может с него вывести данные только в виде двоичного кода.
Как можно вывести эти данные в текстовом виде?
Есть аппарат, который может эти данные (двоичные) преобразовать в текстовый вид?
Можно выводить и в шестнадцатиричном виде. -
pictele писал : Вся цифровая техника работает ТОЛЬКО в двоичном коде.
Вот бесплатная таблица перевода двоичного кода в шестнадцатиричный:
0000:0
0001:1
0010:2
0011:3
0100:4
0101:5
0110:6
0111:7
1000:8
1001:9
1010:A
1011:B
1100:C
1101:D
1110:E
1111:F
Все эти числа обычно не числа,а команды.
Получил приемник 1000:8 -это может означать включить-выключить утюг,
а вот для радио это может быть число-слово 1010:A -
Вот пример кода.
:020000040000FA
:100000003E2546288207FF344234DD34DB34623437
:10001000BB34BF34D234FF34FB34F634BF34C6347F
:10002000BD346634DB3466342434C234663466341A
:10003000FF34F634F434BD34F6346B346F34F234B8
:1000400000343334F0340034820700340034113487
:100050001134113411341134003411341134113489
:1000600011345134103455340134883492344834C6
:10007000A4341134003400341134003444341134C5
:1000800044341934003455341134FF34A62107198F
:100090001421A621071914217F2007191421952066
:1000A00007191421AB2007191421AB2007191421BB
:1000B0008221071914217F2007191421952007197F
:1000C0001421AB2007191421AB2007191421822118
:1000D00007191421BC2007191421D2200719142153
:1000E000E82007191421FE2007191421822107197D
:1000F000142146282A2140215621822108001D3042
:10010000B3001D30B4001D30B5001A30B6001730F2
:10011000B7001430B8000A30B9001D30BA001D30E5
:10012000BB001D30BC00B92108000F30B3000A30FD
:10013000B4001630B5001530B6001230B7001430D8
:10014000B8000D30B9001430BA000A30BB001D30C1
:10015000BC00B921080025241D30B3001D30B400B7
:100160001430B5000A30B6001D30B7001E30BB0099
:100170001D30BC00B92108001D30B3000F30B400A1
:100180000A30B5001D30B6000230B7001D30B8008F
:100190000C30B9001430BA001C30BB001D30BC005C
:1001A000B92108001C30B3001D30B4001830B50070
:1001B0001530B6000B30B7001730B8000A30B90060
:1001C0001230BA000A30BB001D30BC00B921080053
:1001D0001D30B3000330B4001D30B5001130B6003F
:1001E0001A30B7000B30B8001D30B9001330BA0018 -
pictele писал : Вся цифровая техника работает ТОЛЬКО в двоичном коде.
Ну не умеют процессоры говорить.
Если это одна однобитовая шина (один проводок),то чтобы передать число,скажем 16, передатчик должен выставить на шине четыре единицы.
По одному "проводку" можно выставить только "0" или "1", если конечно речь о двоичной системе.
Чтобы выставить четыре единицы, соответственно и нужно четыре "проводка" (бита).
Четыре единицы (она же "F") - это 15.
16=0x10
pictele писал :
Четырехбитная шина (четыре проводка) передаст уже число 0x FFFFH.
или в двоичном B'1111 1111 1111 1111' или в десятичном 65535.
Это 16-ти битная шина. -
Кстати, сейчас из-за миниатюризации цифровая электроника всё ближе и ближе к квантовому пределу, и очень остро стоит вопрос об увеличении производительности без нм и ГГц.
Одно из перспективных направлений - переход на римские цифры. Если в 16-ричной системе используются 16 знаков - цифры от 0 до 9 и ABCDEF, то в римской нотации - всего 7: I V X L C D M.
Вот умножение римскими цифрами:
II * II = IV
V * X = L
X * X = C
XXV * XXV = DCXXV
C * X = M
Если сравнить это с десятиричной системой:
2 * 2 = 4
5 * 10 = 50
10 * 10 = 100
25 * 25 = 625
100 * 10 = 1000
, то видно, что в первом случае задействовано 26 знакомест, а во втором - 31, т.е на 20 % больше. -
-
-
Тема однозначно уже перешла в юмор
Но тут думаю автор вина.
Вы что хотите и куда вывести - лично я не чего не понял,
думаю и многие так же.
По первому запросу у меня впечатление только одно получилось:
1) Есть контроллер PIC16F876.
В нём какие то данные (программа или другое)
Допустим прошивая его не закрыли (или он закрыт, а данные те
что надо вы сумели достать, ваш техник) и вы получаете данные
в двоичном коде или HEX, но как и тог просто символику.
2) Теперь вам надо понять что это и как.
Очень удивляет если техник смог их достать, но не знает
как их прочитать, ну да ладно - допустим у него задача только
доставать, на большее ему на заплатили
Тогда
2.1) Если это программа, то хотя бы тут -> [внешняя ссылка]
вы узнаёте, команды, хотя что их знать, ну просто знаете.
И потом уже понимая что всё это УГУ,
беретесь за это -> [внешняя ссылка]
Да - это Дизассемблер для Microchip PIC контроллеров.
И вот подумав, попробовав...
глядишь и получаем свой "текстовый" вид программы.
2.2) Если это не программа, а какие то данные:
- текстовые открытые - проверяем на соответствие совпадения по ASII и т.п. таблицам,
дабы получить какой то текст..
- текстовые крипто - тут только попытка найти какое то соответствие
и если есть возможность, то менять данные и снова и снова их считывать и сверять..
в надежде понять что изменяется и как... но если там реально что то с крипто, то не зная
ключа и алгоритма лучше оставить эту затею.
- если там что то другое, то вам должно быть больше известно, что всё же там можно ожидать
и исходя из этого уже предпринимать дальнейшие действия.
====
а так - что вы там выводили и куда,
если вам показали LCD и на него что то вывести так
запрос PIC16F876 + LCD и получите и схемы и программы.
не понятно. -
Системы счисления - школьная программа.
"F" - это 15,
а "16 бит информации" - это 16 бит информации!
Никогда не поздно учиться... -
-
Vector писал : Тема однозначно уже перешла в юмор
Но тут думаю автор вина.
Вы что хотите и куда вывести - лично я не чего не понял,
думаю и многие так же.
Я не виноват! :)
Я вообще по web специализируюсь :)
Есть плата, на ней всякие датчики, финтифлюшки, свистелки и т.п. и информация с них поступает в тот микроконтроллер, который все выводит только в двоичном виде, вот нужно каким-то образом эти данные преобразовать в понятный вид и записать в файл или в базу данных.
Вот pictele кстати и есть наш техник... -
Ну тема то тут вот какая. Каждой команде мы присваиваем какое-то понятное человеческому глазу значение. И контроллер это делает и уже готов нам выдать, только принимайте на том конце провода! Допустим контроллер хочет выдать нам вот что:
0000 - это Х
0001 - это Р
0010 - это Е
0100 - это Н
Теперь задача! Как сделать так, чтобы эта инфа скооперировалась в "Х Р Е Н", записалась допустим в файл *.txt, и передалась по воздуху на сервак или сразу в БД, посредством GSM связи? Наверняка есть готовые модули?!
Метеостанции в поле по какому то принципу же работают?! Вот оно и нужно соорудить)