BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
WOLF666
Прорезались зубы
Сообщения: 220
Зарегистрирован: Сб авг 25, 2007 19:52:50
Откуда: Санкт-Петербург

Сообщение WOLF666 »

Секретный кот
датчик ds18b20.пока в протеусе пытаюсь заставить работать.в железе еще не пробовал
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Доброго всем времени суток!
Есть небольшая заморока с директивой DEBOUNCE. Можно ли по этой директиве отсылать программу не по GOTO, а по адресу подпрограммы, т.е. GOSUB? нужно ли для этого прописать в начале DECLARE SUB? И ещё вопрос: можно ли DEBOUNCE вставлять в программу обработки прерывания, например, от таймера? Эффективен ли такой опрос кнопок?
Аватара пользователя
Gryphon
Нашел транзистор. Понюхал.
Сообщения: 152
Зарегистрирован: Пн ноя 03, 2008 12:08:42
Откуда: Владивосток
Контактная информация:

Сообщение Gryphon »

Кто может мне сказать, как мне подключить и использовать PS/2 клавиатуру (как мне написать программу)
Вы получаете от людей больше, если им противоречите
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

Как можно отлечить демку от полной версии 1.11.9.0?
Где для этой версии можно найти русификатор?
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

PB_EXPERT писал(а):Где для этой версии можно найти русификатор?
Это вопрос снимается, так как эта версия поддерживает русский язык. :shock:
Для русификации достаточно в меню Options выбрать пункт Environment и перйти на закладку IDE.
Язык выбираем в выпадающем списке Language
Аватара пользователя
pavel123
Грызет канифоль
Сообщения: 268
Зарегистрирован: Чт май 17, 2007 09:44:13
Откуда: Украина, г. Кривой Рог

Сообщение pavel123 »

Во блин, сколько пользуюсь, только сейчас узнал. Уже привык к латыни. :)
Спасибо. :))
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

В примерах можно увидеть такие строки

Код: Выделить всё

$hwstack = 32 
$swstack = 10
$framesize = 40
что они значат?
Первые две это похоже что за стек отвечают, но ведь стек один, и зачем две строки?
Нижняя вообще непонятно для чего... :(
Из справки что-то не совсем понятно. Пишется за аппаратный и программный стек. Но насколько мне изветсно, стек один и находится в ОЗУ.
А за что отвечает $framesize вообще непонятно.
Аватара пользователя
Деня
Открыл глаза
Сообщения: 43
Зарегистрирован: Вс дек 07, 2008 00:45:10
Откуда: Задворки родины

Сообщение Деня »

Igor_67
По поводу DEBOUNCE вопрос не понят, это время на дребезг контактов
например кнопки подключённой к пину ( не забудь поттяжку ).
GOSUB и GOTO операторы условного и безусловного перехода.
А DECLARE SUB декларирование функции к GOSUB и GOTO никаким боком не относятся.

PB_EXPERT
$hwstack = 32
$swstack = 10
$framesize = 40

Это действительно стеки и размер программы лично оно нужно только для лучшей работы Bascom"a
Я такие строки в программу не ввожу и проблем нет.
Аватара пользователя
Shuriks
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт дек 30, 2008 20:51:09
Откуда: Россия, г. Брянск
Контактная информация:

Сообщение Shuriks »

Я такие строки в программу не ввожу и проблем нет.


to Деня : Не скажи ... Эти строки описывают стек для работы как самой программы ($swstack) , так и стек для работы "железа" МК (UART и т.д. директива $hwstack) Один раз при работе с UART пришлось повозиться подбирая вручную эти значения, и только после этого он начал работать без глюков , замечу однако , что в программе было прерывание (постоянно) по таймеру .. И в тоже время данные передавались (и принимались) по UART. Вот для таких вещей собственно это и предназначенно :)
Кстати , в одном примере который идет в комплекте с программой примерно тоже самое и было написанно ... Поищу - выложу :)
Аватара пользователя
Gryphon
Нашел транзистор. Понюхал.
Сообщения: 152
Зарегистрирован: Пн ноя 03, 2008 12:08:42
Откуда: Владивосток
Контактная информация:

Сообщение Gryphon »

Доброго времени, форумчане! Кто знает, как на тиньки2313 в BASCOM-AVR на один из выходов вывести частоту 1500000 Гц (мне нужно подтактировать YM2149F или AY-3-8910). А, ну раз разговор пошел, кто поможет YM2149F или AY-3-8910 подключить к меге8 на BASCOM-AVR (если надо, образец на CodeVisionAvr могу дать).
Вы получаете от людей больше, если им противоречите
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Gryphon писал(а):Доброго времени, форумчане! Кто знает, как на тиньки2313 в BASCOM-AVR на один из выходов вывести частоту 1500000 Гц (мне нужно подтактировать YM2149F или AY-3-8910). А, ну раз разговор пошел, кто поможет YM2149F или AY-3-8910 подключить к меге8 на BASCOM-AVR (если надо, образец на CodeVisionAvr могу дать).

Нужно смотреть либо в сторону таймера настроенного в режим СТС, с выходом на ногоу контроллера (см. описание регистров нужного таймера в ДШ), и есть еще вариант - затактировать контроллер на частоте 1,5 МГц и выводить эту частоту наружу на вывод CKOUT - это делается с помощью фьюза CKOUT.
Аватара пользователя
Gryphon
Нашел транзистор. Понюхал.
Сообщения: 152
Зарегистрирован: Пн ноя 03, 2008 12:08:42
Откуда: Владивосток
Контактная информация:

Сообщение Gryphon »

Нужно смотреть либо в сторону таймера настроенного в режим СТС, с выходом на ногоу контроллера (см. описание регистров нужного таймера в ДШ), и есть еще вариант - затактировать контроллер на частоте 1,5 МГц и выводить эту частоту наружу на вывод CKOUT - это делается с помощью фьюза CKOUT.
А если у меня тинька на 4МГц, то как организовать все это дело. Напишите пожалуйста саму программу, а то я не очень владею языком.
Вы получаете от людей больше, если им противоречите
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Gryphon писал(а):Напишите пожалуйста саму программу, а то я не очень владею языком.

Я пас. Во-первых у меня нет времени, во-вторых, я считаю что программировать на бесике контроллер (тем более тиньку2313) - то еще извращение.
pomidor
Открыл глаза
Сообщения: 70
Зарегистрирован: Сб дек 27, 2008 15:40:06

Сообщение pomidor »

2Gryphon
в последнем посте Luciano

http://www.mcselec.com/index2.php?optio ... quare+wave
Аватара пользователя
Тихан
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Пн апр 14, 2008 19:57:20
Контактная информация:

Сообщение Тихан »

Повторяю вопрос:
А возможно с помощью электретного микрфона , барсика, и AVR'а сделать звукопереключатель?
Скажем если есть сигнал то включить какойто выход.
Или както подругому?Мозет кто знает?
Съел сам, помоги соседу. Соседу мясо вредно:)
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Тихан писал(а):Повторяю вопрос:
А возможно с помощью электретного микрфона , барсика, и AVR'а сделать звукопереключатель?
Скажем если есть сигнал то включить какойто выход.
Или както подругому?Мозет кто знает?


В принципе, возможно всё! Только надо сперва сформировать входной сигнал от электретного микрофона и задать какой-то порог срабатывания. Опять же сигнал надо усилить до нужного напряжения, чтобы AVR его увидел. То есть больше заморочек с аналоговой частью, чем с цифровой. А уж если аналоговая часть правильно заработает, тогда зачем вообще контроллер нужен? Просто подать сигнал на обыкновенный триггер и будет вам счастье! :))
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Деня писал(а):Igor_67
По поводу DEBOUNCE вопрос не понят, это время на дребезг контактов
например кнопки подключённой к пину ( не забудь поттяжку ).
GOSUB и GOTO операторы условного и безусловного перехода.
А DECLARE SUB декларирование функции к GOSUB и GOTO никаким боком не относятся.

PB_EXPERT
$hwstack = 32
$swstack = 10
$framesize = 40

Это действительно стеки и размер программы лично оно нужно только для лучшей работы Bascom"a
Я такие строки в программу не ввожу и проблем нет.


Декларирование (объявление) функции - это ИМХО DECLARE FUNCTION, а вот DECLARE SUB - это объявление подпрограммы. Так вот, я и спрашивал, надо ли объявлять какую либо ПП заранее, если в директиве DEBOUNCE SUB имеется ссылка на эту ПП? И про использование директивы DEBOUNCE в прерывании так никто и не ответил. :( Вопрос остаётся в силе.
Аватара пользователя
Тихан
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Пн апр 14, 2008 19:57:20
Контактная информация:

Сообщение Тихан »

Igor_67, Поддскажи с аналоговой частью! С цифровой думаю разберусь.
Как сформировать сигнал,
че за порог срабатывания,
и как усилять сигнал до нужного напряжения?Резистором уменьшают , а увеличавают?
Съел сам, помоги соседу. Соседу мясо вредно:)
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Тихан писал(а):Igor_67, Поддскажи с аналоговой частью! С цифровой думаю разберусь.
Как сформировать сигнал,
че за порог срабатывания,
и как усилять сигнал до нужного напряжения?Резистором уменьшают , а увеличавают?


Вобче-то увеличивают сигнал УВЕЛИЧИТЕЛЕМ :))) :))) :))) , то бишь усилителем. Можно хоть на транзисторе, хоть на операционнике. Как больше нравится. На операционнике проще - там сразу и порог нужный задать можно. На сайте где-то есть про операционники статья. Почитай внимательно. Думаю найдёшь похожую схемку.
А вообще, такой вопрос лучше задать в разделе "ТЕОРИЯ". Наверняка подскажут умные люди , то есть коты, как правильно надо сделать... :)))

...сейчас вот специально посмотрел. Действительно в разделе "СТАТЬИ" есть "Применение операционных усилителей" в трёх частях. ИМХО, в твоём случае нужен неинвертирующий усилитель + компаратор (а ещё лучше триггер Шмитта). Неинвертирующий усилитель предпочтительней потому, что у микрофона довольно высокое выходное сопротивление (хотя, смотря какой микрофон), а компаратором задаётся нужный порог включения/выключения (за счёт изменения опорного напряжения на неинвертирующем входе ОУ) подбором резисторов делителя. Думаю, здесь можно применить один сдвоенный ОУ, например К157УД2 или К140УД20, а ещё лучше - импорт!
Аватара пользователя
Деня
Открыл глаза
Сообщения: 43
Зарегистрирован: Вс дек 07, 2008 00:45:10
Откуда: Задворки родины

Сообщение Деня »

Igor_67
Извини сначала не туда.
Подпрограмму объявлять не нужно, ты указываеш на нее здесь-
Debounce Pind.0 , 0 , Pr , Sub
DEBOUNCE в прерывании работает, но в программе в момент наступления события, подтормаживает.
Это очень тяжело поймать.
Я чтоб не заморачиватся пользуюсь циклом
(FOR, NEXT), и прерывания проходят и дребезг контролирую.
Ответить

Вернуться в «AVR»