Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы начинающих PIC ASM
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 11:47:37

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 440 ]     ... , , , 16, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн мар 04, 2019 17:45:58 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1192
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Пораскинул тут мозгами, хотя и так работает, но вызов процедуры тут совсем не нужен, можно обойтись безусловными переходами, и никаких стеков.
Код:
Init:
--
Start: call Delay
--
GOTO TrueFalse
PostTrFls: --
--
TrueFalse: --
--
goto Start
--
goto Start
--
GOTO PostTrFls
Delay:
--
return

Только лишнюю метку добавить.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн мар 04, 2019 18:10:14 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14054
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Ежли по флаг-битам как результату исполнения проверки (или по битам STATUS как частный случай) то есть весьма удобненькие
btfsc f,b / btfss f,b обход последующей инструкции при выполнении условия.
А ежли неверно - исполняется следующая команда.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт мар 05, 2019 08:34:08 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21797
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
вызов процедуры тут совсем не нужен

Еще раз предлагаю ознакомить почтеннейшую публику со своей КОНЕЧНОЙ задачей.
Копания типа"нужен-не нужен" не имеют никакого смысла.
Структура кода должна позволять легко оперировать сущностями алгоритма, а не состоять из сплошных "конгениальных" заплаток, разобраться в которых невозможно уже на следующий день самому автору. О модификации кода тут даже речи не идет.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт мар 05, 2019 09:26:49 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14054
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Разговоры о "как может быть" без учета конкретики в недавнем прошлом стали основой моей "винной"
(https://radiokot.ru/forum/viewtopic.php?f=62&t=94201) - программы без схемы и конкретной задачи НЕ БЫВАЕТ.
Поскольку один и тот же алгоритм может иметь множество прикладных реализаций - зависит от того, что в данном конкретном случае удобнее. Даже в рамках одного семейства (не говоря уже о различных).
Вот потому и "затык" - без конкретики обсуждать наиболее удобное решение бессмысленно.
Ибо ВСЕ ПРАВЫ будут.
:beer:


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт мар 29, 2019 18:01:15 
Родился

Зарегистрирован: Чт дек 27, 2018 00:30:34
Сообщений: 12
Рейтинг сообщения: 0
Ну с высоты профессионализма Вы можете, конечно, смотреть свысока :-) Как это не экономит, )


памяти для команд хватит с лихвой. вообще нет смысла экономить при написании алгоритма. оптимизация должна происходить позже. да и то не всегда оправдана. так как МК уже не те что были раньше. просто подбираете под свои нужды нужны контроллер.
особенно важно если этим зарабатываете на хлеб. где время решающий фактор.

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


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вс июн 11, 2023 21:20:08 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1192
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Здравия!
Правильно ли я понимаю, что 16-и разрядный таймер TMR1 (pic16f627/628/648) можно использовать как 8-и разрядный, эксплуатируя только младший байт, а старший заполнив единицами? Вроде больше тонкостей нет?

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн июн 19, 2023 06:22:17 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 14
Зарегистрирован: Чт мар 05, 2009 05:31:16
Сообщений: 600
Откуда: г. Кемерово
Рейтинг сообщения: 0
yor писал(а):
Вроде больше тонкостей нет?


Вроде нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт июн 23, 2023 13:06:06 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1192
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
А правильно ли я понимаю, что запретив прерывания глобально, но разрешив по таймерам, по окончании счёта PC не уйдёт по вектору прерывания 0x04, а выставятся флаги прерывания TMRxxIF (как-то так), и можно их проверкой установить факт переполнения? Чтобу не читать сами таймеры. pic16f628-648

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт июн 23, 2023 13:11:44 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21797
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Флаги взводятся независимо от разрешения прерываний.
Разрешения прерываний расположены в контроллере прерываний, а флаги генерирует периферия.
Поэтому прежде,чем разрешить прерывания, нужно сбросить флаги.
Иначе вы получите генерацию прерываний по всем ранее взведенным флагам.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт июн 23, 2023 18:57:36 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 14
Зарегистрирован: Чт мар 05, 2009 05:31:16
Сообщений: 600
Откуда: г. Кемерово
Рейтинг сообщения: 0
А также сбрасывать флаги при обработке прерываний.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 02:11:34 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 121
Зарегистрирован: Ср окт 04, 2017 20:47:40
Сообщений: 768
Рейтинг сообщения: 0
yor писал(а):
можно их проверкой установить факт переполнения? Чтобу не читать сами таймеры. pic16f628-648
Данный вопрос (как собственно его же и предыдущий) говорят лишь о том, что человек, увы, :( совсем не разобрался как работать с таймерами и как правильно их использовать.
Правда это так же относиться и к общему пониманию составления алгоритма программы, исходя из возможностей выбранного МК.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 04:30:33 
Друг Кота
Аватар пользователя

Карма: 76
Рейтинг сообщений: 768
Зарегистрирован: Чт мар 07, 2013 20:39:17
Сообщений: 3653
Откуда: Краснодар
Рейтинг сообщения: 0
По поводу алгоритма. А как правильно всё расставлять если процессы по времени часто пересекают друг друга? Например задержка от дребезга контактов (кнопок, энкодера) и обработка формирования меандра (с регулируемой частотой).
С пиками знакомлюсь несколько дней (16f628 и т.п.), но похожих примеров на ассемблере пока не попадалось.

_________________
„Выживает не самый сильный и не самый умный, а тот, кто лучше всех приспосабливается к изменениям.“
— Чарлз Дарвин


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 05:56:44 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7214
Откуда: 845-й км.
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
Правильное планирование - наше всё. Разделить процессы по степени критичности по времени и соответственно реализовывать. Особо критичные по времени процессы делать или аппаратно, или по прерыванию от аппаратуры. Кнопки/энкодеры и дребезг - это не те процессы, которыми надо заморачиваться. Обычно их можно сделать как машину состояний, которую можно вызывать где угодно и сколько раз угодно и совсем не обязательно со строгой периодичностью. А вот чтобы это привязать ко времени, достаточно чтобы в системе был один таймер, который просто отбивал такт. Например в прерывании от TMR0 можете просто инкрементировать переменную systime или/и декрементировать переменную kbd_delay, если она имеет не нулевое значение. И их значения проверять в подпрограмме, которая и сообщит нажата ли кнопка или сделал ли шаг энкодер.

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

примеров на ассемблере не будет - я уже давно на нём не пишу, а старые сырцы где-то канули в лету.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 07:36:44 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21797
Откуда: Московская область, Фрязино
Рейтинг сообщения: 3
По поводу алгоритма.

Перечисленные вами функции сами по себе мешать друг другу не будут.
Обработка энкодера и кнопок вообще не является функцией реального времени. Никаких задержек там не требуется. Защита от дребезга достигается простым чтением портов с интервалом превышающим время дребезга. Для кнопок это примерно 20мс, для энкодера - примерно 3...5мс.
Управление частотой меандра зависит от скорости управления. То есть как часто и с какой задержкой допустимо изменять параметры ШИМ.

Добавлено after 8 minutes 18 seconds:
нормального бесплатного инструмента для создания программ у них нет.

Комбинируя код на С и ассемблере можно очень эффективно программировать 8-битные ПИКи в бесплатной версии компилятора. Это очень простая платформа, поэтому ничего сверхестественного от компилятора не требуется. Скажем, задачи озвученные автором можно сделать на ХС8 с нулевой оптимизацией. И без всякого ассемблера. Можно и на голом ассемблере...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 08:44:37 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1192
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Данный вопрос говорят о том, что человек совсем не разобрался как работать с таймерами и как правильно их использовать.
Истинно так! Но я ж не трясу дипломом, тема для начинающих. Учусь, люди помогают, а сообщение Ваше хоть и правильное, но бесполезное.

Разделить процессы по степени критичности по времени и соответственно реализовывать. Особо критичные по времени процессы делать или аппаратно, или по прерыванию от аппаратуры.
А если критичность одинакова? От одного зависит другой, и могут пересекаться? Вот например, от периода зависит время задержки. Аппаратно недоступно, не хватит входов прерываний, да и уже спаяно, использую старую базу. Использовать не экстенсивный подход (другой мощный богатый контроллер), а интенсивный? Пища для ума, предвосхищая справедливые обвинения))

Изображение

Защита от дребезга достигается простым чтением портов с интервалом превышающим время дребезга. Для кнопок это примерно 20мс, для энкодера - примерно 3...5мс.
А оптопара с модулятором-шторкой, надеюсь, не имеет дребезга?

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 09:57:40 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21797
Откуда: Московская область, Фрязино
Рейтинг сообщения: 3
Зависит от помех. В такой конфигурации скорость нарастания фронта мала и потому помехи могут создавать дребезг.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 10:22:15 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14054
Откуда: ДОНЕЦК
Рейтинг сообщения: 3
МК штука вредная.
Для того, чтобы чего-то обсуждать на уровне ассемблерных программ надо не "теорию с потолка" иметь в обсуждении, а конкретную схему устройства и описание того, что данное устройство должно выполнять.
Ибо возможных решений огромное множество.
Посему - делаем схемку, закладываем МК и алгоритм желаемой работы устройства - выкладываем для обсуждения.
Далее на уже проработанный материал начинаем программу прилаживать (и, вполне возможно, схемку править) с учетом использования особенностей системы команд МК и его аппаратной начинки.
Так что...
8)
Антидребезг можно и "внешний" - к примеру на R-S триггерах, собранных на 555ЛА3 да "перекидных" кнопках
https://img.radiokot.ru/files/20529/1ci6nvk6db.JPG
Да много еще чего (смотри к примеру https://sunduk.radiokot.ru/view/?id=1487946626 )... Зачем весь функционал на МК вешать при возможности внешней аппаратной предобработки данных?
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 11:27:35 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21797
Откуда: Московская область, Фрязино
Рейтинг сообщения: 3
Зачем весь функционал на МК вешать при возможности внешней аппаратной предобработки данных?

Хотя бы из эстетических соображений. Зачем иметь лишнюю комплектацию на схеме?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 12:17:25 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 121
Зарегистрирован: Ср окт 04, 2017 20:47:40
Сообщений: 768
Рейтинг сообщения: 3
yor писал(а):
Учусь, люди помогают, а сообщение Ваше хоть и правильное, но бесполезное
Для того, чтоб понять про что было моё замечание, см. очень верное:
BOB51 писал(а):
Для того, чтобы чего-то обсуждать на уровне ассемблерных программ надо не "теорию с потолка" иметь в обсуждении, а конкретную схему устройства и описание того, что данное устройство должно выполнять.
Ибо возможных решений огромное множество.
Посему - делаем схемку, закладываем МК и алгоритм желаемой работы устройства - выкладываем для обсуждения.Далее на уже проработанный материал начинаем программу прилаживать ...
Причём алгоритм желателен не описанием типа словесного ля-ля и даже не в каком либо языке, а сначала, к примеру, в виде графа. И когда решение вашей задачи будет соответствовать нужной логике процесса в данном виде, вот тогда уже можно будет давать какие-то рекомендации. Хотя замечу, что в данном случае (при достаточной самостоятельной подготовке вопрошающего 8) ) частенько уже помощи почти и не требуется. Ну если только чуть-чуть. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 24, 2023 13:08:56 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21797
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
в виде графа. И когда решение вашей задачи будет

Это имеет смысл для машины состояний. Я пока ни в каком месте не увидел для нее шансов.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 440 ]     ... , , , 16, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y