Кто нибудь мозет обьяснить понятно как динамическую индикацию сотворить?Вроде той которая в обучалки....или ссылку где об этом мона подрообно почитать....
"Проектирование цифровых устройств на однокристальных микроконтроллерах. Сташин и др."
Страница 162 и далее.
Общие принципы и алгоритмы индикации, в том числе и динамической.
В сети находится на ура, или, в крайнем случае, с моего сайта, но с него долго и не очень удобно.
Более подробно для конкретного МК - апликухи на сайте производителя.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
Привет,
У меня в протеусе ничегоне засветилось.
Может скажу глупость,
в строке
Portb = Lookup(0 , Martix)
попробуй ввести переменную , ну типа Lookup( i , Martix), и в цикле меняй i по своему усмотрению.
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
Я не о задержке говорю.
В строке Lookup(0 , Martix)
0 - это обсолютный (явный) адрес элемента массива Martix
если, например, вместо явного 0, поставит переменную, например "единицы" , то примерно будет выглядеть так
единицы = 0
десятки = 1
Portb = Lookup(единицы , Martix)
Portb = Lookup(десятки , Martix)
А уже в цикле переменным единицы и десятки присваивать нужные значения или вычислять их.
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
Ну так да, цыфры будут очень быстро пробегать.
Вопрос не в задержке основного цикла, а в задержке значения переменных.
Ну скажем, на 1 тыс(или миллион) основного цикла - 1 раз изменять значение переменных.
Введи еще одну переменную, которая считает количество основных циклов, и по переполнению изменяй значение переменных Count и Count2. Ну типа:
Если и=100........ то Count= Count+1 : Count2=Count2+1 : и=0
Цифирьку количества циклов подбери по приемлемой величине.
Или еще проще - Считай одну цифру, а уже ее разкладывай на единици и десятки
Если и=100........ то Цифра=Цифры+1 : и=0
Вопрос, А что ты хочеш выводить? Или просто разбираешся в принципе работы?
Я просто хочу отображать цифры от 0 до 60 секунд.Как учебно, так и для дела.
Чет я не понял а как разделить задержки динамической индикации(waitms 1), и счета секунд(wait 1)?
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
Не, опять же не про это.
Основной цикл ДО...ЛООП сам по себе, а вот цикл изменения переменных сам по себе.
А для времени в баском есть встроенные часы CONFIG CLOCK = soft
и там есть системная переменная _sec
вот ее и можно выводить на экран.
Т.е. _sec разделяеш на десятки и единици и выводиш в соответствующий разрад индикатора.
посмотри хелп по CONFIG CLOCK. там написано.
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
Я, честно говоря не понял, что ты хочеш получить в итоге.
Вот набросал два варианта для тини - в виде простого счетчика (тини CONFIG CLOCK не поддерживает), и для меги (мега CONFIG CLOCK поддерживает).
Будут вопросы, спрашивай, вместе разберемся.
Вложения:
Комментарий к файлу: два варианта для тини и меги dinam1.rar [26.93 KiB]
Скачиваний: 541
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
Да ничего сложного нет. Поскольку переменные типа байт, то деление на 10 дает целое число - разряд десятков, умножаем снова на 10 - получаем ровные десятки (2 разряда), потом от переменной счета отнимаем десятки - получаем единицы.
Например есть счетчик - 36
36 / 10 = 3 (целое поскольку переменная - байт)
3 * 10 = 30 (десятки без единиц)
6 = 36 - 30 (теперь только единицы)
Итого - старший разряд 3 (десятки), младший 6 (единицы).
Баском не делает более одного вычисления за один раз, каждая операция вычисления делается отдельно.
Зарегистрирован: Чт май 17, 2007 09:44:13 Сообщений: 268 Откуда: Украина, г. Кривой Рог
Рейтинг сообщения:0
Правильно поставленная задача - шаг к успешному ее решению.
Если хочеш построить часики с динамической индикацией в баскоме, то, как по мне лучше взять мегу8, она поддерживает системные часы (это я уже говорил) и меньше мороки с подсчетом. А если всетаки на тини - то надо считать секундные интервалы - 60 сек * 60 мин * 24 часа = 86400 циклов за сутки. И обратным счетом вычислять часы (2 разряда) минуты (2 разряда) секунды (2 разряда, если нужно)
В итоге получится как минимум 4 переменных (десятки и единици часов и десятки и единици минут)
Можно попробовать с таймером.
Это так, что сразу заметил.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения