Например TDA7294

Форум РадиоКот • Просмотр темы - Команда sbis
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вс сен 20, 2020 08:05:00

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


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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Команда sbis
СообщениеДобавлено: Вс дек 01, 2019 08:36:34 
Родился

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Вс сен 09, 2018 06:42:27
Сообщений: 16
Рейтинг сообщения: 0
Всем привет !
Наблюдаю не способность мк avr attiny13 - отработать команду sbis или sbic в прерывание таймера.
Среда avr studio 4, симулятор proteus 8, отладочная плата attiny13 - на всякий случай проверяю в реальном железе.
Решил для закрепления навыков в программирование avr написать программу спец сигнал. Задаём режим работы таймера (Phase correct PWM)
В прерывание меняем число до скольки считать - сколько будет по времени выставлена 1, а сколько 0 в течение одного импульса
Решил добавить кнопочку - по нажатию которой будет менятся шаг модуля отсчета таймера - влияет на характер звука.
Возникла идея с экономить на обработке антидребезга. Нашёл место в программе - куда она попадает максимально редко - и там
проверять нажатие кнопки - это в прерывние таймера там есть условие которое выполняется через 10-15 срабатываний прерывания.
Но увы там это команда не срабатывает - может мк на время прерывания что-то отключает по чтению порта командый sbis ?

_________________
Работа - продажа электронных компонентов. А для души - есть Ассемблер, дочка и сын.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Команда sbis
СообщениеДобавлено: Вс дек 01, 2019 10:18:15 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1751
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15350
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
рассказы о проблемах без приложения кода - пустая трата времени

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

В сети
 Заголовок сообщения: Re: Команда sbis
СообщениеДобавлено: Вс дек 01, 2019 17:39:54 
Держит паяльник хвостом

Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 931
Рейтинг сообщения: 0
С чего взято, что команды не работают? Как это проверено? На железе? В симуляторах? Доказательства и код в студию.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Команда sbis
СообщениеДобавлено: Вс дек 01, 2019 18:06:59 
Родился

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Вс сен 09, 2018 06:42:27
Сообщений: 16
Рейтинг сообщения: 0
*******************************************
.include "tn13def.inc"
;****** РЕГИСТРЫ
.def tmp0=r16 ; используется везде
.def period=r17 ; Шаг увеличения длительности уровня сигнала

;*******************************************
rjmp RESET ;Reset Handle
reti ;Внешнее настраиваемое прерывание External InterruptO Vector Address
reti ;Внешнее прерывание по изменению состояния вывода External Interruptl Vector Address
reti ;Прерывание по переполнению таймера/счетчика 0
reti ;EE_READY_vect EEPROM готова
reti ;ANALOG_COMP_vect Аналоговый компаратор переключился
reti ;TIMER0_COMPA_vect Прерывание по сравнению, канал A таймера/счетчика 0
rjmp timer ;TIMER0_COMPB_vect Прерывание по сравнению, канал B таймера/счетчика 0
reti ;WDT_vect Сторожевой таймер (если используется в качестве источника прерывания)
reti ;ADC_vect Преобразование АЦП завершено

reset:
ldi tmp0, low(RAMEND) ; Стандартная инициализация стека
out SPL,tmp0
ldi tmp0,(0<<CS02)|(0<<CS01)|(1<<CS00)|(0<<WGM02) ; 1 - активации делителя таймера. Максимальный делитель 1024 - 1.2 мгц./1024 = 1171 гц.
out tccr0B,tmp0 ; Выставляем делитель на 1024, Задаём режим работы таймера (Phase correct PWM)
ldi tmp0,(1<<OCIE0B)|(0<<TOIE0) ; Включаем прерывания по сравнению с значениями OCIE0B и переполнение
out TIMSK0,tmp0
ldi tmp0,(1<<WGM00)|(1<<WGM01)|(0<<COM0B0)|(1<<COM0B1) ; Задаём режим работы таймера (WGM02 уже установили в 1, режим переключ ) ;
out tccr0A,tmp0 ;
ldi tmp0,(1<<DDB1)|(0<<DDB2) ; Шестую ногу порта на выход это OC0B и порт pb2 на вход для кнопки изменения периода
out DDRB,tmp0 ; Это - OCR0B - Выход B схемы сравнения таймера/счетчика T0
ldi tmp0,(1<<PB2)
out portb,tmp0 ; Нужно подтянуть вывод PB0 к + питания, что бы не ловил помехи - кнопку на землю
;ldi tmp0,240 ; Модуль отсчета, задание частоты переключения вывода OC0B, 6 ножка
;out OCR0B,tmp0 ; 128 даёт частоту 291 гц.
ldi period,10 ; Переменная period - регулирует шаг изменения отношения уровня 1 и 0 т.е. Он же ШИМ.
sei ; сколько будет по времени выставлена 1, а сколько 0 в течение одного импульса (прерыван таймера)
rep: nop
sbis PORTB,PB2
dec period
rjmp rep ; ; Переход назад на 1 шаг - бесконечный цикл (программа работает по прерыванию таймера)

; ************* ***********************
timer: brts uvelich ; проверяем флаг Т если установлен уходим на увеличение периода
sub tmp0,period ; Вычитание из TMP0 до скольки считать таймеру от 0 до 255, модуль отсчёта OCR0B
out OCR0B,tmp0 ; Заносим в регистор сравнения новое значение до скольки считать
brcs perenos ; проверяем флаг переноса если установлен - устанавливаем флаг Т
reti ; Возвращаемся из подпрограммы
perenos: set ; Фиксируем факт переноса флагом Т
;sbis PORTB,PB2 ; Смотрим состояние порта pb2 и пропускаем следующую команду еслии установлен в 1
;dec period ; Увеличиваем период если кнопка нажата, порт DDB0 в 1 устав. (дребезг должен компенсир прерыв по таймеру)
reti ; возвращаемся из прерывания
uvelich: add tmp0,period ; увеличиваем модуль отсчёта на величину периода (шаг прироста)
out OCR0B,tmp0 ;
brvs umenshen ; проверяем флаг переполнения - если установлен - сбрасываем свой флаг Т
reti
umenshen: clt
reti ;

_________________
Работа - продажа электронных компонентов. А для души - есть Ассемблер, дочка и сын.


Последний раз редактировалось neitrino777 Вс дек 01, 2019 19:19:22, всего редактировалось 1 раз.

Вернуться наверх
 
Пополнение и новинки линейки ViperPlus от STMicroelectronics

Компания ST обновила семейство ШИМ-регуляторов со встроенным ключом ViperPlus, выпустив новые бюджетные микросхемы VIPER122 и VIPER222, микросхемы VIPER265K и VIPER267K, имеющие встроенный ключ MOSFET напряжением 1050 В, и самый мощный VIPer31x. С их помощью возможно реализовать топологии: изолированный и неизолированный обратноходовой преобразователь (flyback), понижающий преобразователь (buck), повышающе-понижающий преобразователь (buck-boost).

Подробнее>>
В сети
 Заголовок сообщения: Re: Команда sbis
СообщениеДобавлено: Вс дек 01, 2019 18:39:01 
Держит паяльник хвостом

Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 931
Рейтинг сообщения: 0
Меня умиляет наивность начинающих ассемблерщиков. По выложеннойму портянке коду мы должны телепатировать и угадывать назначение устройства. Вы ТЗ изложите. Что за устройство, примерный алгоритм работы УСТРОЙСТВА (не программы!).


Вернуться наверх
 
Все о хитах и новинках Mean Well 2020 года!

Компания Mean Well выпускает настолько широкий спектр продукции, что бывает трудно разобраться в этом многообразии и выбрать оптимальный вариант для своего изделия или приложения. Для облегчения выбора и более ясного понимания различий между сериями продукции Mean Well мы представляем вашему вниманию подборку материалов по данной теме.

Видео и другие материалы>>
Не в сети
 Заголовок сообщения: Re: Команда sbis
СообщениеДобавлено: Вс дек 01, 2019 19:27:09 
Родился

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Вс сен 09, 2018 06:42:27
Сообщений: 16
Рейтинг сообщения: 0
Прошу прощения слишком рано задал вопрос. Разберусь. Не работает как я хотел в любом случае.
А идея была такая. Генерируется сигнал с постепенным увеличением а затем уменьшения периода импульса. А кнопка должна менять шаг увеличения периода.
Просто забавный звуковой эффект. В дальнейшим сигнал сглаживается - что больше походить на синусоиду

_________________
Работа - продажа электронных компонентов. А для души - есть Ассемблер, дочка и сын.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Команда sbis
СообщениеДобавлено: Пн дек 02, 2019 04:48:47 
Друг Кота

Карма: 58
Рейтинг сообщений: 816
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3781
Откуда: Ижевск
Рейтинг сообщения: 0
Может так.
Код:
rep: nop
   sbis PINB,2   ;PB2
;sbis PORTB,2   ;PB2
dec period
rjmp rep ; ; Переход назад на 1 шаг - бесконечный цикл (программа работает по прерыванию таймера)


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Команда sbis
СообщениеДобавлено: Пн дек 02, 2019 05:53:53 
Родился

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Вс сен 09, 2018 06:42:27
Сообщений: 16
Рейтинг сообщения: 0
Спасибо большое AKL и всем кто потратил время на меня. Элементарная невнимательность - не тот регистор смотрел. (Летел крокодил - один зелёный другой на север)

_________________
Работа - продажа электронных компонентов. А для души - есть Ассемблер, дочка и сын.


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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


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