Генератор без Delay attiny13a

AVR версия программы

Генератор без Delay attiny13a

Сообщение роман (роман) » 26 янв 2019, 20:15

Генератор работает на лету. С данным значением первой переменной chast и стандартными low bit - выдаёт 0.5 Гц
При отключеном делителе на 8 - 4 Гц. Для повышения частоты, уменьшаем переменную chast. Добавив кнопочный узел который будет изменять состояние переменной chast, получим перестраиваемый генератор.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: роман
Имя: роман
(Соликамск)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Генератор без Delay attiny13a

Сообщение Yushik (Андрей) » 26 янв 2019, 21:04

Спасибо за ваш труд, ничего необычного здесь нет обычный классический декрементный счётчик циклов. У них есть минус если дописывать программу время срабатывания увеличивается, вдобавок если МК тактируется от внутреннего генератора точности от него не ждите.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Суперконсульт
Суперконсульт
Информация о пользователе

Re: Генератор без Delay attiny13a

Сообщение роман (роман) » 26 янв 2019, 22:10

Дописали код и убавили значение переменной chast до нужной частоты. Минусов нет, только плюсы :lol:
Ник: роман
Имя: роман
(Соликамск)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Генератор без Delay attiny13a

Сообщение agent_serg (agent_serg) » 27 янв 2019, 11:28

роман писал(а):Генератор работает на лету. С данным значением первой переменной chast и стандартными low bit - выдаёт 0.5 Гц
При отключеном делителе на 8 - 4 Гц. Для повышения частоты, уменьшаем переменную chast. Добавив кнопочный узел который будет изменять состояние переменной chast, получим перестраиваемый генератор.

Delay - это вообще вселенское зло, но и игнорировать использование прерываний по таймеру - тоже нехорошо.
Тиня имеет внутренний генератор 9,6 МГц. Исходя и этого можем получить 4687,5 прерываний в секунду.
Ваши 0,5 Гц получим при значении переменной chast = 9375, только чуть более стабильные и при дополнении программы не "уплывающие".
У вас нет доступа для просмотра вложений в этом сообщении.
Делай не как хочется, а как надо и тогда всё будет как хочется...
-------------------------------------------------------------------------------------------------------
FC AVR v5.5.2.1 / Proteus v7.8 SP2 / AVRISP mkII и Triton+ / Win7 SP1 x64
Аватар пользователя
Ник: agent_serg
Имя: agent_serg
(White City)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Генератор без Delay attiny13a

Сообщение vicur4lqx (vicur4lqx) » 27 янв 2019, 11:40

agent_serg , d Вашем коде присутствует запись $PORTB.0 = 0. Если не трудно, поясните начинающему, что означает знак $ и PORTB.0? Хочу взять на вооружение.
Ник: vicur4lqx
Имя: vicur4lqx
(UA)
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Генератор без Delay attiny13a

Сообщение Yushik (Андрей) » 27 янв 2019, 12:50

Команда $PORTB.0 = 0 означает вывести на ножку РВ0 лог. 0 тоже самое что в Фловкоде поставить кубик выход и вывести в РВ0 лог. 0. В программе автора с первого поста минус всё равно есть, если используются другие ветви программы через условия, а там к примеру стоит больше или меньше операций тогда период однозначно изменится. Я в процессе обучения это понял, но это не означает что ваш алгоритм не имеет права на жизнь, я подобные алгоритмы использую при опросе кнопок для подавления дребезга, потому что в родных макросах кнопок в ФК встроены в основном паузы со своим подциклом. Так что ваша программа вполне имеет место в жизни, кроме тех ситуаций о которых я писал выше, аппаратный ШИМ и таймеры прерываний в этом отношении имеют преимущество, в том что они автономны и не зависят от основного цикла.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Генератор без Delay attiny13a

Сообщение agent_serg (agent_serg) » 27 янв 2019, 13:01

Yushik писал(а):Команда $PORTB.0 = 0 означает вывести на ножку РВ0 лог. 0 тоже самое что в Фловкоде поставить кубик выход и вывести в РВ0 лог. 0

Только в "кубиках" много лишнего. Компилируемый код больше и это сказывается на времени выполнения задуманного действия.
Делай не как хочется, а как надо и тогда всё будет как хочется...
-------------------------------------------------------------------------------------------------------
FC AVR v5.5.2.1 / Proteus v7.8 SP2 / AVRISP mkII и Triton+ / Win7 SP1 x64
Аватар пользователя
Ник: agent_serg
Имя: agent_serg
(White City)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Генератор без Delay attiny13a

Сообщение Yushik (Андрей) » 27 янв 2019, 13:09

Да вы правы agent_serg, только нужно не забывать ещё делать конфигурацию порта (вход-выход) командой DDRX=XX ну и незабывать про регистр PINX в случае входа. Я тоже когда сделал свой макрос для кнопок даже из кубиков с подавлением дребезга, с активацией события при отпускании кнопки тоже заметил что он занимает в 2 раза меньше места.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Генератор без Delay

Сообщение livrena (livrena) » 27 янв 2019, 13:28

добавить дисплей.перевести в частоту и получится генератор
файл в FC8,можно поиграться на осциллографе.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: livrena
Имя: livrena
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Генератор без Delay attiny13a

Сообщение agent_serg (agent_serg) » 27 янв 2019, 15:51

Человек от delay уходит, а Вы, в своём примере, ему этих delay навалили. Это во-первых.
А во-вторых, тинька и мега 328 - это всё-таки разные "весовые категории".
Делай не как хочется, а как надо и тогда всё будет как хочется...
-------------------------------------------------------------------------------------------------------
FC AVR v5.5.2.1 / Proteus v7.8 SP2 / AVRISP mkII и Triton+ / Win7 SP1 x64
Аватар пользователя
Ник: agent_serg
Имя: agent_serg
(White City)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

След.

Вернуться в Flowcode AVR

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

Пользователь просматривает форум: нет зарегистрированных пользователей