Например TDA7294

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



Текущее время: Вс янв 26, 2020 18:21:51

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


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



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

Карма: 1
Рейтинг сообщений: 6
Зарегистрирован: Вс сен 09, 2018 06:42:27
Сообщений: 8
Рейтинг сообщения: 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 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


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

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

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

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

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


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

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

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

Карма: 1
Рейтинг сообщений: 6
Зарегистрирован: Вс сен 09, 2018 06:42:27
Сообщений: 8
Рейтинг сообщения: 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 раз.

Вернуться наверх
 
DC/DC-преобразователи: принципы работы и уникальные решения Maxim Integrated

Что нового можно сказать про DC/DC? Написаны десятки статей, а самостоятельное изготовление преобразователя мощностью от единиц Вт до нескольких кВт даже в домашних условиях не составляет большого труда. Тем не менее, когда речь идет о микро-, или даже нано-ваттах, проектировщик может столкнуться с рядом трудностей. Грамотная схемотехника системы питания не возможна без знания основ работы DC/DC преобразователей. Освежить базовые знания и узнать об особенностях проектирования узлов питания мобильного устройства с оптимальным энергопотреблением можно из следующей статьи.

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

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


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

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

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

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


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


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

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


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


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

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

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


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

Заходите в раздел акции и спецпредложения на сайте prist.ru, покупайте измерительные приборы, инструмент и паяльно-ремонтное оборудование по специальным ценам.
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 8


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

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


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