Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



I2C CLOCK+ALARM

Сообщений 121 страница 150 из 326

121

Andrusha написал(а):

А я на индикатор наклеиваю пленку, для тонирования стекол авто

Аналогично, только использую цветной, прозрачный ракал.

Смеху было, когда подбирал цвет плёнки, барышни в офисе собрали консилиум на предмет итогового цвета. Как результат: для красного индикатора - тёмно фиолетовая, даёт красивый малиновый цвет, для зелёного - тёмно зелёная, но нужен индикатор с изумрудным цветом, иначе сильно теряется яркость.

0

122

Andrusha написал(а):

А я на индикатор наклеиваю пленку, для тонирования стекол авто.

Для небольших площадей очень неплохой результат получается при использовании "дымчатого" скотча.
Не коричневого, как картонная коробка, а серого.

Можно использовать цветные, благо их сейчас лепят море разных.

+1

123

пытаюсь переписать прошивку так, что бы время выводилось на одну группу индикаторов, а дата\температура на другую. прописал еще 4 порта для анодов, но никак не пойму как выбираются аноды для включения. в подпрограмме Pulse: они просто перебираются по очереди, а как указать что на первые 4 пусть будет дата\температура, а на 5-8 надо выводить время? подскажите, кому не лень

0

124

IDok написал(а):

как выбираются аноды для включения. в подпрограмме Pulse: они просто перебираются по очереди, а как указать что на первые 4 пусть будет дата\температура, а на 5-8 надо выводить время? подскажите, кому не лень

Саму программу не листал, но могу предложить разделить п/п Pulse на ххх1 и ххх2.
По сути, сделать две одинаковые п/п, но в одной будут перебираться аноды 1 - 4, а в другой - 5 - 8.

0

125

Nord
я думал этот вариант, но никак не вкурю, откуда она берет данные "что зажигаем"

0

126

Делал в машину вольтметр, термометр, датчик давления масла на одной Mega 8. Используются три трехразрядных семисегментных индикатора. Вот код индикации, ковыряйтесь.

Код

0

127

Andrusha
ну, попробую. пока понял, что мне нужно два цикла для перебора массива 1-4 и 5-8

0

128

IDok написал(а):

Nordя думал этот вариант, но никак не вкурю, откуда она берет данные "что зажигаем"

Надо копать листинг... ;)
Эти данные ("что показываем") формируются в программе.
А уж куда их перенаправить - вот про это я и веду речь.
В зависимости от того, что надо показать и вызываем п/п "что зажигаем".

0

129

Nord написал(а):

Надо копать листинг

у меня скорее харакири лопатой получится :)

0

130

IDok написал(а):

у меня скорее харакири лопатой получится

С какой страницы темы используется исходник ?
Полистаю на досуге.

Для наводки: начинать копать надо с того места, откуда вызывается п/п Pulse, упомянутая ранее.

0

131

с первой. для общего анода. завтра на работе попробую по новой вкопаться. видимо, надо переменные разделять для часов отдельно, для даты\температуры отдельно, буду стараться понимать как.
будильник и все с ним связанное я уже отломал (скрипач не нужен)

0

132

Nord написал(а):

начинать копать надо с того места, откуда вызывается п/п Pulse, упомянутая ранее.

она по переполнению таймера всплывает. в явном виде нигде не вызывается.

0

133

IDok написал(а):

она по переполнению таймера всплывает. в явном виде нигде не вызывается.

Мозг МК не настолько мудр, чтоб сообразить, что по событию таймера надо вызвать именно эту п/п. ;)
Искать надо строку с событием таймера.

Вот она:

Код:
Config Timer0 = Timer , Prescale = 8 : On Timer0 Pulse :    ' конфигурируем таймер 0 и назначаем подпрограмму которая выполняется при переполнении таймера

Можно в ней указать имя п/п, которая уже будет определять, какие аноды нужно использовать и вызывать соответствующие п/п.

Отредактировано Nord (2017-10-18 20:46:36)

0

134

Nord
ну, таймер останавливается, переменные получают некие значения, потом таймер снова запускается.

0

135

IDok написал(а):

с первой. для общего анода.

Тот исходник не рабочий. На первой странице для ОК это рабочий для ОА.

0

136

Andrusha написал(а):

На первой странице для ОК это рабочий для ОА.

ну, да. его и имел ввиду. но костяк программы одинаковый

0

137

sasha_1973

Ссылка, по которой Вы пришли неверная или устаревшая

:(

0

138

IDok написал(а):

пытаюсь переписать прошивку так, что бы время выводилось на одну группу индикаторов, а дата\температура на другую. прописал еще 4 порта для анодов, но никак не пойму как выбираются аноды для включения. в подпрограмме Pulse: они просто перебираются по очереди, а как указать что на первые 4 пусть будет дата\температура, а на 5-8 надо выводить время? подскажите, кому не лень

Посмотрите здесь или здесь может, что и пригодится.

_http://bascomavr.ru/viewtopic.php?id=1127_

_http://bascomavr.3bb.ru/viewtopic.php?id=1127_

0

139

IDok написал(а):

ну, таймер останавливается, переменные получают некие значения, потом таймер снова запускается.

Таймер просто молодец ! ;)

Выберу время, полистаю поглубже.

0

140

Nord написал(а):

Таймер просто молодец !

а то!

' Запрос по i2c времени и пересчет его в четырехзначное число а также мигалка двух средних точек 22:03) For X = 1 To 40   'вот тут мне не понятно, откуда эти 40 берутся
If View_menu > 3 Then Exit For  'это пока не важно
Set Clock_flag                            ' этот флаг учитывается в подпрограмме прерывания
Gosub Getdatetime                    'здеся мы получаем данные от 1307
Stop Timer0                              ' таймер молодец раз
Viv_peremennaya = Chasi * 100                           
Viv_peremennaya = Viv_peremennaya + Minuti
Start Timer0                             'таймер молодец два. по идее именно тута мы должны перейти в                  подпрограмму прерывания
Migalka = Secundi Mod 2          'это разделительная точка
If Migalka <> 0 Then
Portb.7 = 1
Else
Portb.7 = 0
End If
Waitms 80
Next

т.е. как мне видится, все это работает так:
есть циклы времени и других режимов. в каждом останавливается таймер и переменные получают некие значения. потом таймер запускается и по идее наверное должен вызывать свою подпрограмму индикации, иначе как?

0

141

так. пол-дела сделано, осталось уговорить Рокфеллера.
в смысле - температуру вынес на второй индикатор, осталось тудой же дату поместить

0

142

IDok написал(а):

так. пол-дела сделано

Запасаемся попкорном и ждем отчета о путях/направлениях решения задачи... ;)

0

143

вторую половину сделал. осталась третья....

0

144

IDok написал(а):

вторую половину сделал. осталась третья....

Попкорн вовремя... ;)
"Третья половина"...  o.O :)

0

145

Nord
есть еще четвертая и пятая, но это потом ;)
в смысле - в протеусе вроде зажужжало, но надо проверить в железе, навести красоту и задокументировать :)

+1

146

IDok написал(а):

Nordесть еще четвертая и пятая, но это потом в смысле - в протеусе вроде зажужжало, но надо проверить в железе, навести красоту и задокументировать

Ждемс...  :cool:

0

147

пока так:

код

а файл тут напрямую никак не прикрепить? только через файлообменники?

0

148

все, в железе тоже работает. единственно - на основном индикаторе (цифры 5-8) периодически вполнакала мигают выключенные сегменты. а включенные сегменты просто мерцают. попробовать частоту таймера увеличить?

0

149

IDok написал(а):

единственно - на основном индикаторе (цифры 5-8) периодически вполнакала мигают выключенные сегменты. а включенные сегменты просто мерцают. попробовать частоту таймера увеличить?

Может попробовать ввести задержки ?
Видимо, где-то вкл/откл пересекаются по времени.

0

150

Nord
да вот да. оно работает-работает, потом некоторое время мерцает, потом снова работает-работает, потом снова мерцает. понять бы, где пересекаются и кто... задержки в программе есть, 80, 1800 и 700мс. эмпирически подбирать - нет гарантии, что не вылезет через час или два. а как рассчитать - я не знаю. если есть время - гляньте код, он стал чуточку короче чем исходный

0