двоеточие конечно мигает но не так как надо.
Двоеточие нужно выводить на экран на пол-секунды.
Пол-секунды светиться, вторые пол-секунды не светиться.
Отредактировано pavel1969 (2018-02-04 19:38:29)
Программирование ATMEL в BASCOM. |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Помогите с алгоритмом!
двоеточие конечно мигает но не так как надо.
Двоеточие нужно выводить на экран на пол-секунды.
Пол-секунды светиться, вторые пол-секунды не светиться.
Отредактировано pavel1969 (2018-02-04 19:38:29)
А так как я хочу разве не лучше ?
У DS1307 есть выход с секундным импульсом - лучше не пожелаешь в данном случае.
Уже же ж написали - есть секундные импульсы от DS1307.
От них и вся пляска...
Так это нужно использовать порт мк, и наверное по внешнему прерыванию ловить эти импульсы. Мне всего то нужно чтобы по четных двоеточие светилось по не четных нет.
Отредактировано olegkaras (2018-02-04 20:56:16)
Ну тогда первый раз отлови чет или нечет а потом по оператору
TOGGLE var
просто меняй флажок - 0-чет и 1-нечет.
Спасибо , попробую.
Так это нужно использовать порт мк, и наверное по внешнему прерыванию ловить эти импульсы.
А вот интересно, а как у вас организована синхронизация мк и часов?
$regfile = "attiny2313.dat"
$crystal = 4000000Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Lcd = 16 * 2Config Pind.5 = Input
Config Pind.4 = InputConfig Sda = Portd.1
Config Scl = Portb.0Dim Seco As Byte
Dim Mine As Byte
Dim Hour As ByteInitlcd
Cls
Cursor OffDo
I2cstart
I2cwbyte &HD0
I2cwbyte &H00
I2cstart
I2cwbyte &HD1
I2crbyte Seco , Ack
I2crbyte Mine , Ack
I2crbyte Hour , Nack
I2cstop
Seco = Makedec(seco)
Mine = Makedec(mine)
Hour = Makedec(hour)
Locate 1 , 1
Lcd Hour ; ":" ; Mine ; ":" ; Seco ; " "If Pind.5 = 0 Then
Incr Mine
Mine = Makebcd(mine)
I2cstart
I2cwbyte &HD0
I2cwbyte 1
I2cwbyte Mine
I2cstop
Waitms 100
End IfIf Pind.4 = 0 Then
Incr Hour
Hour = Makebcd(hour)
I2cstart
I2cwbyte &HD0
I2cwbyte 2
I2cwbyte Hour
I2cstop
Waitms 100
End IfLoop
End
За основу взял вот этот пример.
Кстати говоря, курсор обычно мигает не раз в секунду, а в половину (500мс). 
там ещё есть 2^15 выход, 32768 гигагерц
на таймер с делилкой повесить, шоб квынты выдавал... 
там ещё есть 2^15 выход, 32768 гигагерц
на таймер с делилкой повесить, шоб квынты выдавал...
ГИГА или Гц ?
пЕнтаГерц. 
За основу взял вот этот пример.
Это насилие над ЛСД и часиками.
Зачем с частотой 4МгЦ постоянно опрашивать часы и выводить на ЛСД?
Есть же ж секундный импульс. Заведи на любое свободное прерывание INT(*), и по этому прерыванию 1 раз в секунду опрашивай часы и выводи на ЛСД.
Есть же ж секундный импульс. Заведи на любое свободное прерывание INT(*), и по этому прерыванию 1 раз в секунду опрашивай часы и выводи на ЛСД.
Добавлю:
..., а через 500ms в знакоместо, где печатается ":", напечатать " ".
Через секунду все повторится.
Вот и будет двоеточие мигать... 
Это насилие над ЛСД и часиками. Зачем с частотой 4МгЦ постоянно опрашивать часы и выводить на ЛСД?
Есть же ж секундный импульс. Заведи на любое свободное прерывание INT(*), и по этому прерыванию 1 раз в секунду опрашивай часы и выводи на ЛСД.
Я планирую по инт0 мерять частоту вращения, по инт1 ловить переход фазы через ноль, по инт2 RC5 и есче нужно частоту мерить от пресостата.
На счет 4Мгц этг всего пример ,но я на это не обратил внимания ,надо будет както снизить время опроса.
Отредактировано olegkaras (2018-02-05 19:48:18)
olegkaras
INT(2) у тини2313 нет, но....
Зато у тини2313 есть порт Бы, и там можно повесить аж целых 8 внешних прерываний PCINT(0....7)
Кажись так, но если я не прав, старшие товарищи меня поправят...
olegkaras
INT(2) у тини2313 нет, но....
Зато у тини2313 есть порт Бы, и там можно повесить аж целых 8 внешних прерываний PCINT(0....7)
Кажись так, но если я не прав, старшие товарищи меня поправят...
Это всего лишь примеры, проект я планирую делать на Atbanned28.
Я планирую по инт0 мерять частоту вращения, по инт1 ловить переход фазы через ноль, по инт2 RC5
"понтов" то хватит для "интов", а???
Хоть чёнить путное написал бы, слова одни да и только... 
olegkaras
Так у Atbanned28 на борту целых 8 полноценных прерываний INT.
Мало?
-NMi-
8-мь штук INT-в, по идее, должно хватить. 
Базаришь, 8 шт хватит, да только хватит ли времени у процессора стока "интов" переварить... 38 кГц однако 
-NMi-
Откуда взялась эта частота? -
38 кГц однако
olegkaras
Так у Atbanned28 на борту целых 8 полноценных прерываний INT.
Мало?
-NMi-
8-мь штук INT-в, по идее, должно хватить.
Что значит полноценных ? Я так понимаю все они работают последовательно ?
Базаришь, 8 шт хватит, да только хватит ли времени у процессора стока "интов" переварить... 38 кГц однако
Ну это уже по делу, на счет времени , так я сюда и зашел чтобы спросить у знатоков.
Я так понимаю все они работают последовательно ?
Это если STM32 раскуришь, там да, по приоритетам прерывания работают. В атмеле всё проще - первый пришёл - первым ушёл.
Ты-б хоть в протеусе чего наковырял железного то, ато у и от тебя только слова пустые исходят...
И про RC5 мне прям вот оОООочень интересно, как же ты его реализуешь на "интах"
Могу ссылку на гугл диск дать.
Вот ссылки только и научился раздавать...
Мне не надо, напиши что-нибудь небольшое и РАБОЧЕЕ - посмотрим, на что ты способен. Реально вот только слава от тебя. Покажи свои способности.
Вот ссылки только и научился раздавать...
Мне не надо, напиши что-нибудь небольшое и РАБОЧЕЕ - посмотрим, на что ты способен. Реально вот только слава от тебя. Покажи свои способности.
Я пытаюсь сделать контроллер стиральной машины , есть наработки и в протеусе и в баском могу выложить на гугл диске , контроллер меряет обороты барабана и стабилизирует их .
Я вот тебе сколько раз уже говорил - не пытайся объять необъятное и тд...
РАЗБИВАЙ задачу на кусочки и собирай всю задачу ЦЕЛИКОМ!
Молодец, сделал регулятор оборотов двигателя. Давай, покажи нам. Надеюсь там полноценный ПИД-регулятор. Ждём.
Я пытаюсь сделать контроллер стиральной машины...
ИМХО, для этого "за глаза" хватит 16-й Меги, если подойти с опытом и знаниями, возможно даже 8-й...
А тут уже ради мигания двоеточия в STM32 полезли... 
Ставлю флакон коня на то, шо атмелина не успеет отработать ПИД регулятор оборотов + RC5 на 35 или 38 кГц одновременно, ибо ещё нужен ЕЩЁ один опорный таймер для отсчёта единиц времени. А ещё нужно ПИД посчитать, а он не целочисленный наверняка а с плавающей точкой.
А с пульта будут валиться стройные пачки импульсов с частотой почти 40 тысяч раз в секунду!
Давай в железе его наваяй, правда я не представляю как в протеусе всё это просчитать...
Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Помогите с алгоритмом!