Обсуждаем контроллеры компании Atmel.
Сб авг 12, 2017 17:27:21
Здравствуйте!
Есть небольшой вопрос
. Собрал я одному хорошему человеку часы-термометр, работает отлично, но есть небольшой дефект в программе: неправильно отражается режим «Рост температуры».
В режиме «Снижение температуры» мигают сегменты F и G (стрелка вниз), а при росте температуры мигают сегменты С и D, хотя, по логике, должны мигать сегменты А и В (стрелка вверх). Обратился к автору конструкции, он разбираться с этим отказался, ссылаясь на нехватку времени. Я, увы, не силён в программировании, может-быть кто-то сможет подправить прошивку. Или хотя-бы укажите, куда копать. Все материалы в архиве, использован индикатор ОА. Заранее благодарен
- Вложения
-
- Часы-термометр для дома.rar
- (205.88 KiB) Скачиваний: 238
Сб авг 12, 2017 19:52:17
Я смогу.
Пт авг 25, 2017 08:55:51
Здравствуйте, уважаемые форумчане!
Есть идеи?
Пт авг 25, 2017 10:01:15
в файле HomeWath.asm
строки 744 и 746 (менять значения после $)
ну и потом пересобрать прошивку
Добавлено after 56 seconds:
просто раз пообещали помочь, то я и не лезу
Добавлено after 20 minutes 7 seconds:
в протеусе куда не кручу - всё CD мигают.
Пт авг 25, 2017 10:02:01
F и G нигде не зажигаются.
в одном случае зажигаются C и D - код $0C,
в другом - A и B - код $03.
в файле HomeWath.asm найдите кусок кода:
- Код:
SBRC RegFlags1,F_TH_Up
LDI R30,$0C
SBRC RegFlags1,F_TH_Down
LDI R30,$03
исправьте на нужный код и перекомпилируйте. если не умеете - скажите какой символ на какой поменять.
- $0C - здесь имеется ввиду, что график темперуты идет снизу вверх
- $03 - здесь наоборот, это не стрелки
- Вложения
-
- p.png
- (2.67 KiB) Скачиваний: 770
-
- m.png
- (2.65 KiB) Скачиваний: 737
Пт авг 25, 2017 10:31:51
Что-то я запутался совсем. Давайте сначала: График температуры идёт снизу вверх, т.е. температура повысилась - следовательно, в значке градуса должны постоянно гореть сегменты F и G, а мигать должны А и В. Соответственно, при снижении температуры постоянно горят сегменты А и В, а мигать должны сегменты F и G. Как-то так на мой взгляд. Индикатор с ОА. Ну конечно стрелки весьма условные.
Пт авг 25, 2017 10:38:14
там же поочерёдно - то значок градуса, то кусок графика.
Пт авг 25, 2017 10:41:17
Ах вот в чём дело!!! Теперь понятна идея автора. Но, как мне кажется, мой вариант более наглядный и простой для восприятия. Поэтому, если конечно есть такая возможность, просьба переделать этот кусок кода именно так (см.выше)
Пт авг 25, 2017 10:54:13
тогда тебе и на "стрелке вниз" тоже градус пририсовать надо:
$0C -> $6F
$03 -> $60
Пт авг 25, 2017 11:22:29
пробуйте. там я еще свой вариант добавил и еще варианты с более быстрым опросом датчика (10 сек вместо 60)
- Вложения
-
- HomeWath.rar
- (51.11 KiB) Скачиваний: 187
Пт авг 25, 2017 12:03:21
А можно-ли сделать так: при понижении температуры значок градуса чередуется с "куском графика вниз" (сегменты А и В) -т.е. здесь всё остаётся как есть. При повышении температуры значок градуса чередуется с "куском графика вверх" (сегменты G и В). Так и наглядно, и сохраняется задумка уважаемого автора статьи
Добавлено after 28 minutes 6 seconds:
И ещё вопрос практический: можно-ли перепрошить запаянный контроллер? Нужно-ли отключать при программировании датчик температуры?
Пт авг 25, 2017 12:09:51
в любом случае что-то чередуется со значком градуса. напишите или лучше нарисуйте, что должно чередоваться со знаком градуса в каждом режиме. а лучше сами попробуйте. это очень просто:
допустим, нужен символ, в котором должны гореть a,b,g. забиваем нужные единицами:
- Код:
h g f e d c b a
0 0 1 0 0 0 1 1
добавляем 0b и получаем двоичное 0b00100011
его пишем в программу вместо $03 или $0C
далее в папке с исходниками запускаем compile.bat и получаем hex (папку с исходными текстами и компилятором приложил)
прошивать можно. датчик отключать не надо. если только последовательным программатором.
- Вложения
-
- HomeWath.rar
- (200.77 KiB) Скачиваний: 184
Пт авг 25, 2017 15:34:49
a_skr, огромное Вам спасибо! Спасибо всем, кто откликнулся! Обязательно отпишусь по результатам.
Добавлено after 3 hours 18 minutes 20 seconds:Переделал пошивку с помощью рекомендаций уважаемого a_skr. Теперь всё стало совсем хорошо
Вот мой вариант для мастерской - грубовато, зато большие цифры и неубиваемый корпус
- Вложения
-
- 1.jpg
- (182.85 KiB) Скачиваний: 351
-
- 2.jpg
- (172.73 KiB) Скачиваний: 195
Пт авг 25, 2017 20:01:34
Очень рад за Вас!!!
Ошибку в моём сообщении кто-нибудь заметил?
Пт авг 25, 2017 20:14:52
Ошибка - двоичное число 0b00100011? Или то, что вместо сегмента f указан g?
a_skr писал(а):должны гореть a,b,g
Сб авг 26, 2017 13:49:51
Интересный стиль программирования. Код неплохо оформлен. Интересно, на форумах он под каким ником?
Сб авг 26, 2017 17:12:09
Это устройство не с Радиокота, с другого сайта (см. выше). Я связался с автором, но он, ссылаясь на нехватку времени, поправить прошивку отказался. Поэтому я и обратился к форумчанам. Вот что у меня в итоге получилось: (но это на мой вкус).
- Вложения
-
- HomeWath 25.8.17.hex
- (5.63 KiB) Скачиваний: 346
Сб авг 26, 2017 17:14:37
Программа на ассемблере. Возможно, автор перешел на си и отказывается поддерживать программы на асме. Лично я бы забил на старые проекты на асме. Кроме коммерческих случаев.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.