Нужна помощь в программировании

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Родился
Сообщения: 7
Зарегистрирован: Чт апр 20, 2023 13:09:00

Сообщение R3PB »

Добрый день!
Залил прошивку для версии часов без транзисторов, на монодисплее.
Часы работают, но яркость сегментов очень низкая.
Автоматическая регулировка яркости не работает.
Подскажите что мне с этим делать?

Версия прошивки STC_15F204EA_simple.hex
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

[uquote="R3PB",url="/forum/viewtopic.php?p=4403939#p4403939"]Часы работают, но яркость сегментов очень низкая.
Автоматическая регулировка яркости не работает.[/uquote]
Попробуйте отключить АРЯ (последнее сообщение на стр.2):
Для отключения/включения авторегулировки яркости обессточьте часы, нажмите и удерживайте НК (FUNC) с последующей подачей питания. После этого кнопку отпустите.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Реклама
Родился
Сообщения: 7
Зарегистрирован: Чт апр 20, 2023 13:09:00

Сообщение R3PB »

[uquote="Zhuk72",url="/forum/viewtopic.php?p=4404372#p4404372"][uquote="R3PB",url="/forum/viewtopic.php?p=4403939#p4403939"]Часы работают, но яркость сегментов очень низкая.
Автоматическая регулировка яркости не работает.[/uquote]
Попробуйте отключить АРЯ (последнее сообщение на стр.2):
Для отключения/включения авторегулировки яркости обессточьте часы, нажмите и удерживайте НК (FUNC) с последующей подачей питания. После этого кнопку отпустите.
[/uquote]

Это делал. Не помогает. АРЯ у меня не работает.
Пробовал пересобрать код с отключенным ADC_CONTR и его различными состояниями - безуспешно.
Изображение
Так же попробовал функцию t1set() использовать без условий;
Изображение
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.
Вложения
Снимок экрана 2023-04-24 014449.png
(26.34 КБ) 174 скачивания
Снимок экрана 2023-04-24 014105.png
(40.24 КБ) 150 скачиваний
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

[uquote="R3PB",url="/forum/viewtopic.php?p=4405931#p4405931"]Пробовал пересобрать код с отключенным ADC_CONTR и его различными состояниями - безуспешно.
Так же попробовал функцию t1set() использовать без условий;
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.[/uquote]
Странно :shock:
А какой в ваших часах МК? 204ЕА? При прошивке частоту генератора выставляете правильную (11.0592 МГц)?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 1
Зарегистрирован: Пн апр 24, 2023 12:26:16

Сообщение inode »

Добрый день. Порекомендуйте номинал токоограничительных резисторов в цепях сегментов белых индикаторов, чтобы уберечь от перегорания. Вариант часов с транзисторными ключами, резисторы по 330 ом. Яркость и алгоритм регулировки яркости устраивают, но на второй день работы в третьем разряде сгорел один сегмент. На mysku.ru рекомендовали 2.2 кОм, но там человек считал яркость завышенной и таким номиналом снизил яркость до устраивющей его. А мне хотелось бы яркость максимально сохранить, но светодиоды уберечь. Плата не очень любит перепайки - дорожки отслаиваются и метаализация вынимается - не наменяешься индикаторов.
Реклама
Родился
Сообщения: 7
Зарегистрирован: Чт апр 20, 2023 13:09:00

Сообщение R3PB »

[uquote="Zhuk72",url="/forum/viewtopic.php?p=4405997#p4405997"][uquote="R3PB",url="/forum/viewtopic.php?p=4405931#p4405931"]Пробовал пересобрать код с отключенным ADC_CONTR и его различными состояниями - безуспешно.
Так же попробовал функцию t1set() использовать без условий;
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.[/uquote]
Странно :shock:
А какой в ваших часах МК? 204ЕА? При прошивке частоту генератора выставляете правильную (11.0592 МГц)?[/uquote]

У меня 404AS
Частота 11.0592 МГц
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

[uquote="R3PB",url="/forum/viewtopic.php?p=4406449#p4406449"]У меня 404AS[/uquote]
Не знаю по какой причине, но на него я писал отдельно.
Только что заглянул в исходники и нашел ваш чип.
Полностью отличия в исходниках изучать совсем не хочется, только заметил, что в 404-м для АРЯ используется Т2 вместо Т1.
Просто залейте прошивку из папки STC15W_clock. Исходники там же.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Чт апр 20, 2023 13:09:00

Сообщение R3PB »

[uquote="Zhuk72",url="/forum/viewtopic.php?p=4407133#p4407133"][uquote="R3PB",url="/forum/viewtopic.php?p=4406449#p4406449"]У меня 404AS[/uquote]
Не знаю по какой причине, но на него я писал отдельно.
Только что заглянул в исходники и нашел ваш чип.
Полностью отличия в исходниках изучать совсем не хочется, только заметил, что в 404-м для АРЯ используется Т2 вместо Т1.
Просто залейте прошивку из папки STC15W_clock. Исходники там же.[/uquote]

Перепробовал все прошивки. Нашёл в одной из прошивок define для 204 и 404. Использовал 404. Но так как у меня часы с упрощённой схемой, без транзисторов на анодах индикатора, то получил краказябры.
Чтобы от них избавиться поправил биты в timer0_isr - вывод на индикатор:

anode &= ~0x3C; //anode |= 0x3C; // Р3[5:2] - clear anode pins to switch off LEDs
//катод - не трогал.
anode |= (1 << (digit + 2)); //anode &= ~(1 << (digit + 2)); // Включаем разряд.

Также исправил в timer2_isr - остановка T2
anode &= ~0x3C; //anode |= 0x3C; // Отключение индикатора.

Яркость с этой прошивкой регулируется - автоматическая и ручная, но она низкая. То есть, максимальная яркость дисплея низкая, и регулируется в сторону уменьшения.
Проблема в том что на анодах устанавливается 0.5 вольт при максимальной яркости - это для схемы с транзисторными ключами как раз... В моём случае схема без них.
Как увеличить это напряжение на анодах я не разобрался.
Прошу помощи!

У меня такая схема часов без транзисторов Изображение

и вот этот индикатор с общими анодами Изображение
Родился
Сообщения: 7
Зарегистрирован: Чт апр 20, 2023 13:09:00

Сообщение R3PB »

Разобрался. Сделал. Теперь яркость дисплея высокая как и было раньше. Днём всё видно.
Изображение

Несколько дней штудирования мануала МК этой серии дали свой результат. Нашёл вот что: "...Перед преобразованием ADC также должны быть соответствующим образом сконфигурированы порты ввода вывода (GPIO), чтобы они работали только как входы, либо только как выход с открытым стоком, на который выведена лог. 1. Тогда схема портов не окажет влияния на результат преобразования сигнала на входе АЦП. ..."
Внёс очередную правку в код в этой части и теперь всё заработало как надо.
Изображение
Правда теперь, на нормальной яркости, мерцание дисплея заметно. Желательно поправить.
Всего несколько исправлений сделано с учётом схемы дисплея без транзисторов:
1 - Битовая маска для включения анода - сделал инверсию.
2 - В прерывании при отключении анода, так же инверсию сделал.
3 - Отключил преобразование символов для перевёрнутого вниз головой сегмента - это неактуально для моей версии дисплея, поскольку у меня монодисплей с двоеточием.
4 - В ADC установил пара-бит M1, M0 для анодных портов в quasi-bidirectional mode.
В общем, у кого вариант часов 15W404AS без транзисторов на монодисплее 2481BS он же 8041BPC, тому эта прошивка.
Спасибо Zhuk72 за исходники Вашей прошивки, за комментарии оставленные в коде. Это очень помогло. Спасибо за ваш труд!
Вложения
new_clear_2.hex
Обновлён 05.05.2023 23:40
Исправил неработающие кнопки.
(8.3 КБ) 172 скачивания
Последний раз редактировалось R3PB Пт май 05, 2023 23:41:04, всего редактировалось 1 раз.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

[uquote="R3PB",url="/forum/viewtopic.php?p=4411212#p4411212"]Разобрался. Сделал.
...
Спасибо Zhuk72 за исходники Вашей прошивки, за комментарии оставленные в коде. Это очень помогло. Спасибо за ваш труд![/uquote]
Рад, что смогли разобраться с проблемой. У меня на 204ЕА и у 404AS (вашей в том числе), фото- и терморезисторы висели на Р1.6 и Р1.7. Соответственно я и конфигурировал порты с учетом АЦП (open drain):

Код: Выделить всё

  
  P1M1 = 0xC0;  // Set Port 1 in quasi-bidirectional mode.
  P1M0 = 0xC0;  // Except for P1.6 (photoresistor) and P1.7 (thermistor) as open-drain output.
Конфиги же остальных портов просто обнулил, т.е. сделал quasi-bidirectional. У меня это работало.
А вы сделали push-pull. Видимо и мне так следовало сделать. Не знаю даже, почему я выбрал именно тот режим. Скорее всего он у меня заработал и я закрыл этот вопрос. Хотя позже у кого-то на упрощенном варианте возникла проблема с DS1302 из-за отсутствия на сигналах подтяжек (у меня они были) и моей неправильной конфигурации порта.

У меня там много чего было странного и неправильного. Это вообще был мой первый в жизни 8051 и первый проект на Си. До этого я имел дело только с ПИКами на асме. Поэтому я так тщательно все комментировал и пояснял, чтобы и самому разобраться, и позже не запутаться :)
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Чт апр 20, 2023 13:09:00

Сообщение R3PB »

Нашёл баг который не сразу заметил. После отключения программатора кнопки перестали реагировать на нажатие. Эта ошибка была незамеченной так как программатор был подключен и не отключался в течении суток после успешного результата. Когда отключил понял что не работает управление кнопками.
Поправил.
Обновление выгрузил.
Вложения
new_clear_2.hex
(8.3 КБ) 174 скачивания
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Сб июл 07, 2012 23:01:25

Сообщение сокол »

Всем доброго дня коллектив! Ребята мне надо в исходнике поправить порог АЦП под разное напряжение.Помогите пожалуйста кто понимает в этом деле. Что бы мне поправили ,до Автора не достучался,ранее он мне ответил так:
в архиве есть исходники программы и Вы можете сами менять порог. Делается это в файле "led_voltage/main.c" в 14 строке "#define TRH2 1064+CORRECTION // 16В (1.143В)".
Здесь 1064 является порогом, получить его можно из файла "Расчет порога АЦП.xlsx" : меняете значение "Порог напряжения" и получаете "Порог АЦП".
у меня контроллер ATtiny13A. Подскажите пожалуйста в какой программе или чем то другим как я могу получить порог АЦП для напряжения : 1 вольт/ 12,59в/12,6в.
СпойлерИзображение
Друг Кота
Аватара пользователя
Сообщения: 15595
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

AVR Studio версии 4.19 или более поздняя версия этой IDE (включая микрочип студию).
8)
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Пн май 04, 2015 16:42:01

Сообщение -danger- »

[uquote="R3PB",url="/forum/viewtopic.php?p=4411212#p4411212"]В общем, у кого вариант часов 15W404AS без транзисторов на монодисплее 2481BS он же 8041BPC, тому эта прошивка.[/uquote]

15W404AS
часы такие https://img.mysku-st.net/uploads/images ... 7914fb.jpg
Может есть у кого-то родная прошивка для них? Я так и не понял как в STC ее сдампить.
Дайте пожалуйста скрин фьюзов и прочего
Мерцание просто вырви глаз. Вернулся бы на родную.
Грызет канифоль
Аватара пользователя
Сообщения: 270
Зарегистрирован: Вс окт 20, 2019 13:03:56

Сообщение Shuspano »

-danger- писал(а):Я так и не понял как в STC ее сдампить.
Никак, просто не предусмотрено.
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Пн май 04, 2015 16:42:01

Сообщение -danger- »

Подскажите или дорисуйте пожалуйста, как можно часы 15W404AS переделать под 14 ног индикатор. Китайцы прислали 14 ног вместо 12 ног.
Вроде все работает, но доветочие не могу задействовать, мигает вместо него 1 точка что под двоеточием.
Можно это как-то колхозно перемычками поправить?
Вложения
15W404AS_1.jpg
(112 КБ) 181 скачивание
led14.png
(140.16 КБ) 171 скачивание
led12.png
(179.07 КБ) 168 скачиваний
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

у 14-выводного: 7 соединить с 11, вместо 3 подключить 8.
но никакие больше точки у цифр светиться не смогут, они нужны?

Или так: 7 соединить с 11, 3 соединить с 8. Тогда получится как по схеме для 12-лапового, но она странная: всегда будут три точки моргать, невозможно десятичную от двоеточия зажечь отдельно.
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Пн май 04, 2015 16:42:01

Сообщение -danger- »

Нужна еще последняя точка (она индицирует будильник)
Спасибо, завтра попробую - добавлю ответ. Я типа пока подключил без 7-8 ног (которые как раз 2 точки).
Вложения
led.png
(27.91 КБ) 156 скачиваний
Родился
Сообщения: 7
Зарегистрирован: Чт апр 20, 2023 13:09:00

Сообщение R3PB »

[uquote="-danger-",url="/forum/viewtopic.php?p=4448456#p4448456"]Подскажите или дорисуйте пожалуйста, как можно часы 15W404AS переделать под 14 ног индикатор. Китайцы прислали 14 ног вместо 12 ног.
Вроде все работает, но доветочие не могу задействовать, мигает вместо него 1 точка что под двоеточием.
Можно это как-то колхозно перемычками поправить?[/uquote]

Наверное поздно, но вот тут тот самый дисплей 12 ног с общим анодом с точками и двоеточием - https://www.wildberries.ru/catalog/1780 ... etail.aspx
Родился
Сообщения: 2
Зарегистрирован: Вт дек 19, 2023 18:12:07

Сообщение Aggarti »

Zhuk72,
Приветствую!
Попытался прошить часы, аналогичные в статье "Китайские "сделай сам" часы на микроконтроллере STC15F204EA", Автор: Zhuk72. В итоге - светится только последняя цифра и точка. Часы без фото и терморезистора, с перевёрнутым третьим знаком, мк 20 ног.
Вопрос к автору статьи: "Уважаемый Zhuk72, вы написали - если будут вопросы пишите. Я пишу - не подскажите, что дальше делать?"
Ответить

Вернуться в «Разные вопросы по МК»