Нужна помощь в программировании
Очень низкая яркость
Добрый день!
Залил прошивку для версии часов без транзисторов, на монодисплее.
Часы работают, но яркость сегментов очень низкая.
Автоматическая регулировка яркости не работает.
Подскажите что мне с этим делать?
Версия прошивки STC_15F204EA_simple.hex
Залил прошивку для версии часов без транзисторов, на монодисплее.
Часы работают, но яркость сегментов очень низкая.
Автоматическая регулировка яркости не работает.
Подскажите что мне с этим делать?
Версия прошивки STC_15F204EA_simple.hex
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: Очень низкая яркость
[uquote="R3PB",url="/forum/viewtopic.php?p=4403939#p4403939"]Часы работают, но яркость сегментов очень низкая.
Автоматическая регулировка яркости не работает.[/uquote]
Попробуйте отключить АРЯ (последнее сообщение на стр.2):
Автоматическая регулировка яркости не работает.[/uquote]
Попробуйте отключить АРЯ (последнее сообщение на стр.2):
Для отключения/включения авторегулировки яркости обессточьте часы, нажмите и удерживайте НК (FUNC) с последующей подачей питания. После этого кнопку отпустите.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: Очень низкая яркость
[uquote="Zhuk72",url="/forum/viewtopic.php?p=4404372#p4404372"][uquote="R3PB",url="/forum/viewtopic.php?p=4403939#p4403939"]Часы работают, но яркость сегментов очень низкая.
Автоматическая регулировка яркости не работает.[/uquote]
Попробуйте отключить АРЯ (последнее сообщение на стр.2):
Это делал. Не помогает. АРЯ у меня не работает.
Пробовал пересобрать код с отключенным ADC_CONTR и его различными состояниями - безуспешно.

Так же попробовал функцию t1set() использовать без условий;

Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.
Автоматическая регулировка яркости не работает.[/uquote]
Попробуйте отключить АРЯ (последнее сообщение на стр.2):
[/uquote]Для отключения/включения авторегулировки яркости обессточьте часы, нажмите и удерживайте НК (FUNC) с последующей подачей питания. После этого кнопку отпустите.
Это делал. Не помогает. АРЯ у меня не работает.
Пробовал пересобрать код с отключенным ADC_CONTR и его различными состояниями - безуспешно.
Так же попробовал функцию t1set() использовать без условий;
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.
- Вложения
-
- Снимок экрана 2023-04-24 014449.png
- (26.34 КБ) 169 скачиваний
-
- Снимок экрана 2023-04-24 014105.png
- (40.24 КБ) 146 скачиваний
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: Очень низкая яркость
[uquote="R3PB",url="/forum/viewtopic.php?p=4405931#p4405931"]Пробовал пересобрать код с отключенным ADC_CONTR и его различными состояниями - безуспешно.
Так же попробовал функцию t1set() использовать без условий;
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.[/uquote]
Странно
А какой в ваших часах МК? 204ЕА? При прошивке частоту генератора выставляете правильную (11.0592 МГц)?
Так же попробовал функцию t1set() использовать без условий;
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.[/uquote]
Странно
А какой в ваших часах МК? 204ЕА? При прошивке частоту генератора выставляете правильную (11.0592 МГц)?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: Нужна помощь в программировании
Добрый день. Порекомендуйте номинал токоограничительных резисторов в цепях сегментов белых индикаторов, чтобы уберечь от перегорания. Вариант часов с транзисторными ключами, резисторы по 330 ом. Яркость и алгоритм регулировки яркости устраивают, но на второй день работы в третьем разряде сгорел один сегмент. На mysku.ru рекомендовали 2.2 кОм, но там человек считал яркость завышенной и таким номиналом снизил яркость до устраивющей его. А мне хотелось бы яркость максимально сохранить, но светодиоды уберечь. Плата не очень любит перепайки - дорожки отслаиваются и метаализация вынимается - не наменяешься индикаторов.
Re: Очень низкая яркость
[uquote="Zhuk72",url="/forum/viewtopic.php?p=4405997#p4405997"][uquote="R3PB",url="/forum/viewtopic.php?p=4405931#p4405931"]Пробовал пересобрать код с отключенным ADC_CONTR и его различными состояниями - безуспешно.
Так же попробовал функцию t1set() использовать без условий;
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.[/uquote]
Странно
А какой в ваших часах МК? 204ЕА? При прошивке частоту генератора выставляете правильную (11.0592 МГц)?[/uquote]
У меня 404AS
Частота 11.0592 МГц
Так же попробовал функцию t1set() использовать без условий;
Яркое свечение всех сегментов можно увидеть только при зажатых кнопках при включении часов.
Похоже у меня код этой в части не работает, по какой то причине.[/uquote]
Странно
А какой в ваших часах МК? 204ЕА? При прошивке частоту генератора выставляете правильную (11.0592 МГц)?[/uquote]
У меня 404AS
Частота 11.0592 МГц
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: Очень низкая яркость
[uquote="R3PB",url="/forum/viewtopic.php?p=4406449#p4406449"]У меня 404AS[/uquote]
Не знаю по какой причине, но на него я писал отдельно.
Только что заглянул в исходники и нашел ваш чип.
Полностью отличия в исходниках изучать совсем не хочется, только заметил, что в 404-м для АРЯ используется Т2 вместо Т1.
Просто залейте прошивку из папки STC15W_clock. Исходники там же.
Не знаю по какой причине, но на него я писал отдельно.
Только что заглянул в исходники и нашел ваш чип.
Полностью отличия в исходниках изучать совсем не хочется, только заметил, что в 404-м для АРЯ используется Т2 вместо Т1.
Просто залейте прошивку из папки STC15W_clock. Исходники там же.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: Очень низкая яркость
[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 вольт при максимальной яркости - это для схемы с транзисторными ключами как раз... В моём случае схема без них.
Как увеличить это напряжение на анодах я не разобрался.
Прошу помощи!
У меня такая схема часов без транзисторов
и вот этот индикатор с общими анодами
Не знаю по какой причине, но на него я писал отдельно.
Только что заглянул в исходники и нашел ваш чип.
Полностью отличия в исходниках изучать совсем не хочется, только заметил, что в 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 вольт при максимальной яркости - это для схемы с транзисторными ключами как раз... В моём случае схема без них.
Как увеличить это напряжение на анодах я не разобрался.
Прошу помощи!
У меня такая схема часов без транзисторов
и вот этот индикатор с общими анодами
Re: Нужна помощь в программировании
Разобрался. Сделал. Теперь яркость дисплея высокая как и было раньше. Днём всё видно.

Несколько дней штудирования мануала МК этой серии дали свой результат. Нашёл вот что: "...Перед преобразованием ADC также должны быть соответствующим образом сконфигурированы порты ввода вывода (GPIO), чтобы они работали только как входы, либо только как выход с открытым стоком, на который выведена лог. 1. Тогда схема портов не окажет влияния на результат преобразования сигнала на входе АЦП. ..."
Внёс очередную правку в код в этой части и теперь всё заработало как надо.

Правда теперь, на нормальной яркости, мерцание дисплея заметно. Желательно поправить.
Всего несколько исправлений сделано с учётом схемы дисплея без транзисторов:
1 - Битовая маска для включения анода - сделал инверсию.
2 - В прерывании при отключении анода, так же инверсию сделал.
3 - Отключил преобразование символов для перевёрнутого вниз головой сегмента - это неактуально для моей версии дисплея, поскольку у меня монодисплей с двоеточием.
4 - В ADC установил пара-бит M1, M0 для анодных портов в quasi-bidirectional mode.
В общем, у кого вариант часов 15W404AS без транзисторов на монодисплее 2481BS он же 8041BPC, тому эта прошивка.
Спасибо Zhuk72 за исходники Вашей прошивки, за комментарии оставленные в коде. Это очень помогло. Спасибо за ваш труд!
Несколько дней штудирования мануала МК этой серии дали свой результат. Нашёл вот что: "...Перед преобразованием 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 КБ) 168 скачиваний
Последний раз редактировалось R3PB Пт май 05, 2023 23:41:04, всего редактировалось 1 раз.
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: Нужна помощь в программировании
[uquote="R3PB",url="/forum/viewtopic.php?p=4411212#p4411212"]Разобрался. Сделал.
...
Спасибо Zhuk72 за исходники Вашей прошивки, за комментарии оставленные в коде. Это очень помогло. Спасибо за ваш труд![/uquote]
Рад, что смогли разобраться с проблемой. У меня на 204ЕА и у 404AS (вашей в том числе), фото- и терморезисторы висели на Р1.6 и Р1.7. Соответственно я и конфигурировал порты с учетом АЦП (open drain):
Конфиги же остальных портов просто обнулил, т.е. сделал quasi-bidirectional. У меня это работало.
А вы сделали push-pull. Видимо и мне так следовало сделать. Не знаю даже, почему я выбрал именно тот режим. Скорее всего он у меня заработал и я закрыл этот вопрос. Хотя позже у кого-то на упрощенном варианте возникла проблема с DS1302 из-за отсутствия на сигналах подтяжек (у меня они были) и моей неправильной конфигурации порта.
У меня там много чего было странного и неправильного. Это вообще был мой первый в жизни 8051 и первый проект на Си. До этого я имел дело только с ПИКами на асме. Поэтому я так тщательно все комментировал и пояснял, чтобы и самому разобраться, и позже не запутаться
...
Спасибо 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.
А вы сделали push-pull. Видимо и мне так следовало сделать. Не знаю даже, почему я выбрал именно тот режим. Скорее всего он у меня заработал и я закрыл этот вопрос. Хотя позже у кого-то на упрощенном варианте возникла проблема с DS1302 из-за отсутствия на сигналах подтяжек (у меня они были) и моей неправильной конфигурации порта.
У меня там много чего было странного и неправильного. Это вообще был мой первый в жизни 8051 и первый проект на Си. До этого я имел дело только с ПИКами на асме. Поэтому я так тщательно все комментировал и пояснял, чтобы и самому разобраться, и позже не запутаться
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: Нужна помощь в программировании
Нашёл баг который не сразу заметил. После отключения программатора кнопки перестали реагировать на нажатие. Эта ошибка была незамеченной так как программатор был подключен и не отключался в течении суток после успешного результата. Когда отключил понял что не работает управление кнопками.
Поправил.
Обновление выгрузил.
Поправил.
Обновление выгрузил.
- Вложения
-
- new_clear_2.hex
- (8.3 КБ) 168 скачиваний
Re: Нужна помощь в программировании
Всем доброго дня коллектив! Ребята мне надо в исходнике поправить порог АЦП под разное напряжение.Помогите пожалуйста кто понимает в этом деле. Что бы мне поправили ,до Автора не достучался,ранее он мне ответил так:
в архиве есть исходники программы и Вы можете сами менять порог. Делается это в файле "led_voltage/main.c" в 14 строке "#define TRH2 1064+CORRECTION // 16В (1.143В)".
Здесь 1064 является порогом, получить его можно из файла "Расчет порога АЦП.xlsx" : меняете значение "Порог напряжения" и получаете "Порог АЦП".
у меня контроллер ATtiny13A. Подскажите пожалуйста в какой программе или чем то другим как я могу получить порог АЦП для напряжения : 1 вольт/ 12,59в/12,6в.
в архиве есть исходники программы и Вы можете сами менять порог. Делается это в файле "led_voltage/main.c" в 14 строке "#define TRH2 1064+CORRECTION // 16В (1.143В)".
Здесь 1064 является порогом, получить его можно из файла "Расчет порога АЦП.xlsx" : меняете значение "Порог напряжения" и получаете "Порог АЦП".
у меня контроллер ATtiny13A. Подскажите пожалуйста в какой программе или чем то другим как я могу получить порог АЦП для напряжения : 1 вольт/ 12,59в/12,6в.
Re: Нужна помощь в программировании
AVR Studio версии 4.19 или более поздняя версия этой IDE (включая микрочип студию).

Re: Нужна помощь в программировании
[uquote="R3PB",url="/forum/viewtopic.php?p=4411212#p4411212"]В общем, у кого вариант часов 15W404AS без транзисторов на монодисплее 2481BS он же 8041BPC, тому эта прошивка.[/uquote]
15W404AS
часы такие https://img.mysku-st.net/uploads/images ... 7914fb.jpg
Может есть у кого-то родная прошивка для них? Я так и не понял как в STC ее сдампить.
Дайте пожалуйста скрин фьюзов и прочего
Мерцание просто вырви глаз. Вернулся бы на родную.
15W404AS
часы такие https://img.mysku-st.net/uploads/images ... 7914fb.jpg
Может есть у кого-то родная прошивка для них? Я так и не понял как в STC ее сдампить.
Дайте пожалуйста скрин фьюзов и прочего
Мерцание просто вырви глаз. Вернулся бы на родную.
Re: Нужна помощь в программировании
Никак, просто не предусмотрено.-danger- писал(а):Я так и не понял как в STC ее сдампить.
Re: Нужна помощь в программировании
Подскажите или дорисуйте пожалуйста, как можно часы 15W404AS переделать под 14 ног индикатор. Китайцы прислали 14 ног вместо 12 ног.
Вроде все работает, но доветочие не могу задействовать, мигает вместо него 1 точка что под двоеточием.
Можно это как-то колхозно перемычками поправить?
Вроде все работает, но доветочие не могу задействовать, мигает вместо него 1 точка что под двоеточием.
Можно это как-то колхозно перемычками поправить?
- Вложения
-
- 15W404AS_1.jpg
- (112 КБ) 172 скачивания
-
- led14.png
- (140.16 КБ) 164 скачивания
-
- led12.png
- (179.07 КБ) 164 скачивания
Re: Нужна помощь в программировании
у 14-выводного: 7 соединить с 11, вместо 3 подключить 8.
но никакие больше точки у цифр светиться не смогут, они нужны?
Или так: 7 соединить с 11, 3 соединить с 8. Тогда получится как по схеме для 12-лапового, но она странная: всегда будут три точки моргать, невозможно десятичную от двоеточия зажечь отдельно.
но никакие больше точки у цифр светиться не смогут, они нужны?
Или так: 7 соединить с 11, 3 соединить с 8. Тогда получится как по схеме для 12-лапового, но она странная: всегда будут три точки моргать, невозможно десятичную от двоеточия зажечь отдельно.
Re: Нужна помощь в программировании
Нужна еще последняя точка (она индицирует будильник)
Спасибо, завтра попробую - добавлю ответ. Я типа пока подключил без 7-8 ног (которые как раз 2 точки).
Спасибо, завтра попробую - добавлю ответ. Я типа пока подключил без 7-8 ног (которые как раз 2 точки).
- Вложения
-
- led.png
- (27.91 КБ) 150 скачиваний
Re: Нужна помощь в программировании
[uquote="-danger-",url="/forum/viewtopic.php?p=4448456#p4448456"]Подскажите или дорисуйте пожалуйста, как можно часы 15W404AS переделать под 14 ног индикатор. Китайцы прислали 14 ног вместо 12 ног.
Вроде все работает, но доветочие не могу задействовать, мигает вместо него 1 точка что под двоеточием.
Можно это как-то колхозно перемычками поправить?[/uquote]
Наверное поздно, но вот тут тот самый дисплей 12 ног с общим анодом с точками и двоеточием - https://www.wildberries.ru/catalog/1780 ... etail.aspx
Вроде все работает, но доветочие не могу задействовать, мигает вместо него 1 точка что под двоеточием.
Можно это как-то колхозно перемычками поправить?[/uquote]
Наверное поздно, но вот тут тот самый дисплей 12 ног с общим анодом с точками и двоеточием - https://www.wildberries.ru/catalog/1780 ... etail.aspx
Re: Нужна помощь в программировании
Zhuk72,
Приветствую!
Попытался прошить часы, аналогичные в статье "Китайские "сделай сам" часы на микроконтроллере STC15F204EA", Автор: Zhuk72. В итоге - светится только последняя цифра и точка. Часы без фото и терморезистора, с перевёрнутым третьим знаком, мк 20 ног.
Вопрос к автору статьи: "Уважаемый Zhuk72, вы написали - если будут вопросы пишите. Я пишу - не подскажите, что дальше делать?"
Приветствую!
Попытался прошить часы, аналогичные в статье "Китайские "сделай сам" часы на микроконтроллере STC15F204EA", Автор: Zhuk72. В итоге - светится только последняя цифра и точка. Часы без фото и терморезистора, с перевёрнутым третьим знаком, мк 20 ног.
Вопрос к автору статьи: "Уважаемый Zhuk72, вы написали - если будут вопросы пишите. Я пишу - не подскажите, что дальше делать?"