-
21.03.2004, 01:23 #1
- Регистрация
- 21.03.2004
- Сообщений
- 53
- Поблагодарили
- 1
- Поблагодарил
- 0
ЦШ Ra3rbe изменение прошивки???
Как правильно исправить исходник цифровой шкалы на LED http://ra3rbe.qrz.ru/digiscal.htm , чтобы запрограммировать ее с нужной ПЧ. Например 500 кгц, 8867 кгц.
В исходном тексте программы есть строки:
;=============================================
org 2100h
; частота ПЧ по умолчанию
DE 008h,064h,070h ; 5.5 мгц
;
DE 0h,0h,0h
DE "Copyright (C) 1999 Alexander Y Denisov"
;
;=============================================
-
21.03.2004, 08:52 #2
- Регистрация
- 30.04.2002
- Адрес
- Липецк, Россия
- Возраст
- 55
- Сообщений
- 935
- Записей в дневнике
- 16
- Поблагодарили
- 64
- Поблагодарил
- 4
Ну вообще-то, если цель просто ввести значение ПЧ , то программировать ничего не надо.
Надо подать "0" выводы J3 и J4 и через 1 сек шкала перейдет в режим записи константы ПЧ. После чего надо подать на вход шкалы сигнал от опорника и измерим эту частоту.
Далее снова подать "0" на те же выводы и измеренная частота запишется в память как значение ПЧ.
Если интересует именно программирование, так сказать из любви к искусству , то делается это так.
Предположим , надо задать ПЧ 5,5 Мгц. Для шкалы это будет число "0550000". Переводим это число в двоичное.
Это будет 10000110010001110000 .
Разбиваем его на три байта начиная справа.
Получаем 00001000 01100100 01110000 (в левом байте добавили четыре незначащих нуля впереди)
Переводим каждый байт в шестнадцатиричную систему.
Получаем 008h 064h 070h --- т.е. в точности как у автора.
Это просто алгоритм получения трех констант для любой ПЧ.
Если надо , то могу объяснить почему делается именно так, но думаю это должно быть понятноПоследний раз редактировалось RU3GA; 21.03.2004 в 11:29.
-
22.03.2004, 17:29 #3
- Регистрация
- 21.03.2004
- Сообщений
- 53
- Поблагодарили
- 1
- Поблагодарил
- 0
Интерес практический. С опорника сигнал подавать не хочется - проводки в ТРХ уже распаяны и красиво уложены. Проще PIC запрограммировать сразу с нужной ПЧ.
За алгоритм спасибо. Вроде все понятно.
73!
-
23.03.2004, 16:09 #4
- Регистрация
- 20.08.2003
- Адрес
- Владивосток
- Возраст
- 74
- Сообщений
- 43
- Поблагодарили
- 14
- Поблагодарил
- 0
Проще сделать пересчет с помощью калькулятора.
у Вас на компьютере должен быть стандартный калькулятор.
устанавливаете его в инженерный режим.
Там емть переключение систем исчисления.
В десятичной системе (Dec) набираете значение пч 550000,
затем переключаете калькулятор в режим Hex и
на его индикаторе появляется это число в шеснадцатиричном виде.
-
23.03.2004, 19:03 #5
- Регистрация
- 30.04.2002
- Адрес
- Липецк, Россия
- Возраст
- 55
- Сообщений
- 935
- Записей в дневнике
- 16
- Поблагодарили
- 64
- Поблагодарил
- 4
Ну все правильно, только это всего лишь техника перевода чисел в различные системы исчисления.
А перед этим надо знать что, куда и как переводить.
-
24.03.2004, 17:28 #6
- Регистрация
- 21.03.2004
- Сообщений
- 53
- Поблагодарили
- 1
- Поблагодарил
- 0
А я только и пользуюсь инженерным калькулятором. Непредставляю как это число руками можно перевести в двоичный код.
000 - 0
001 - 1
010 - 2
011 - 3
и так 550 тыс. раз???
-
24.03.2004, 19:16 #7
- Регистрация
- 30.04.2002
- Адрес
- Липецк, Россия
- Возраст
- 55
- Сообщений
- 935
- Записей в дневнике
- 16
- Поблагодарили
- 64
- Поблагодарил
- 4
Первоначальное сообщение от Maestro
А я только и пользуюсь инженерным калькулятором. Непредставляю как это число руками можно перевести в двоичный код.
000 - 0
001 - 1
010 - 2
011 - 3
и так 550 тыс. раз???
Еще лет десять назад я спрашивал у конструкторов в области аэродинамики самолетов про их расчеты --- там же интегралы дикие. Так вот мне сказали , что руками не считают ничего уже лет двадцать пять (это при всей убогости российской компьютерной техники). И главный аргумент был такой --- "да ну , еще ошибешься где-нибудь в вычислениях, проблем будет гораздо больше"...Последний раз редактировалось RU3GA; 24.03.2004 в 19:56.
-
24.03.2004, 23:45 #8
- Регистрация
- 21.03.2004
- Сообщений
- 53
- Поблагодарили
- 1
- Поблагодарил
- 0
Да уж в руках правды нет.
У меня есть еще один вопросик. Для ПЧ 500КГц получается:
0050000 (для шкалы) > 11000011 01010000 (Bin)
итого ровно два байта. Третий байт, как я понимаю, дописывать уже не надо?
-
25.03.2004, 09:54 #9
- Регистрация
- 30.04.2002
- Адрес
- Липецк, Россия
- Возраст
- 55
- Сообщений
- 935
- Записей в дневнике
- 16
- Поблагодарили
- 64
- Поблагодарил
- 4
Для 500 кГц три константы такие
00000000 11000011 01010000
-
04.04.2004, 01:03 #10
- Регистрация
- 21.03.2004
- Сообщений
- 53
- Поблагодарили
- 1
- Поблагодарил
- 0
Все заработало. Спасибо за помощь.
|
Социальные закладки