BASCOM AVR в вопросах и ответах
Re: BASCOM AVR в вопросах и ответах
Доброго всем времени суток. Извините за а вторжение и наверное за глупый вопрос, ткните носом или скиньте на почту описание команд на русском (ksv.iv@yandex.ru), как то видел всё в одном файле, а найти не могу. Несколько дней сижу, пытаюсь нарыть инфу и упорядочить для дальнейшей работы. Решил перейти на BASCOM, пишу проги в ФЛОВ КОДе, для небольших проектов нормально, но есть ограничения и вес прошивок получается не малый. На бейсике раньше писал , правде ещё на SPECTRUM, а за каждым оператором лазить в инет или по разным описаниям, время не напасёшься. Сильно не ругайте, я понимаю, чтоб что то написать, нужно потрудится.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
ksv68 писал(а):ткните носом или скиньте на почту описание команд на русском.
Я начинал с этого. Вполне понятно для начала.
С уважением,
Алексей.
Алексей.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Декада это хорошо для начала, да. Касаемо команд, так тут у баскома шикарная справка. Да, на английском, так и документация на МК в оригинале тоже не на русском. Так что лучше бы руководствоваться оригиналом, слишком уж часто встречаются ошибки в переводах. Тем более что там все более чем понятно.
А если по вопросу, то есть в сети перевод мануала к BASCOM8051, там каждая команда переведена с примерами. Но с AVR довольно много различий (хоть и для освоения тоже пойдет). Еще на форуме баскома были попытки перевести справку, но что-то все сошло на нет...
А если по вопросу, то есть в сети перевод мануала к BASCOM8051, там каждая команда переведена с примерами. Но с AVR довольно много различий (хоть и для освоения тоже пойдет). Еще на форуме баскома были попытки перевести справку, но что-то все сошло на нет...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Спасибо за столь оперативный ответ, BASCOM8051 я нашёл, там разница в командах. Буду пробовать. Язык я всё что то выбираю не из популярных 
Re: BASCOM AVR в вопросах и ответах
Я как то скачивал какую то версию и там была таблица команд с синтаксисом в файле ворд, но из за любви к прядку на компе я её стёр, а было уже давненько.
- zero648
- Вымогатель припоя
- Сообщения: 650
- Зарегистрирован: Пн июн 18, 2012 12:01:04
- Откуда: Челябинская область, Копейск
Re: BASCOM AVR в вопросах и ответах
dimon-ru-80 писал(а):Уважаемые коты помогите кодом организовать регулировку яркости в часах . Контроллер Atmega8 тактируется от внутреннего генератора 8 мГц.
Хочется по переполнению TIMER0 выполнять динамическую индикацию, а по совпадению того же таймера гасить порт, не могу осилить код
Если другие таймеры планируете занять чем-то другим, то можно делать динамику с регулировкой яркости и на одном прерывании таймера, для этого нужно аппаратный прескллер сделать меньше, например 1:8, и добавить в обработчик программный прескаллер, вот этим программный прескаллером и регулируется яркость.
Re: BASCOM AVR в вопросах и ответах
Засвечиваем разряд-задержка-гасим разряд. Регулируя задержку меняем яркость свечения, я делал так, только не в баском.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Регулировать яркость нужно изменением скважности а не частоты. Так что Ваш метод в корне неверен. 

"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- zero648
- Вымогатель припоя
- Сообщения: 650
- Зарегистрирован: Пн июн 18, 2012 12:01:04
- Откуда: Челябинская область, Копейск
Re: BASCOM AVR в вопросах и ответах
Почему не верен? Обьясните пожалуйста.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Частота обновления индикации должна быть постоянной. Прерывание будет вызываться достаточно часто для индикации, и не слишком часто чтобы мешать остальному. Или вы всерьез рассматриваете вариант с индикацией в основном цикле? Самым же очевидным и удобным способом регулировки яркости светодиодов является ШИМ. При этом можно быть точно уверенным, что не появятся баги в виде мерцаний и прочего. Что тут мудрить...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- zero648
- Вымогатель припоя
- Сообщения: 650
- Зарегистрирован: Пн июн 18, 2012 12:01:04
- Откуда: Челябинская область, Копейск
Re: BASCOM AVR в вопросах и ответах
Про основной цикл речи нет, все работает в прерывании, для наглядности диаграмка с двумя вариантами:


- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Не совсем понятно. Здесь же и меняется скважность? Я так подозреваю, речь идет о программной ШИМ...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- zero648
- Вымогатель припоя
- Сообщения: 650
- Зарегистрирован: Пн июн 18, 2012 12:01:04
- Откуда: Челябинская область, Копейск
Re: BASCOM AVR в вопросах и ответах
Вот именно! только одним прерыванием, а не двумя. Вот для этого и нужно частоту повысить.
В одном проекте у меня на одном таймере и на одном его прерывании обрабатывается динамика с регулировкой яркости плюс опрос кнопок плюс выводится звук в формате wav 8000 kHz и ничего не мерцает и не троит.
В одном проекте у меня на одном таймере и на одном его прерывании обрабатывается динамика с регулировкой яркости плюс опрос кнопок плюс выводится звук в формате wav 8000 kHz и ничего не мерцает и не троит.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Так это понятно, программная ШИМ имеет право на жизнь, и позволяет на одном таймере кучу каналов реализовать при необходимости. Частота высокая, но она не меняется. Об этом речь. Выше же был пост, когда предлагалось изменять яркость именно меняя частоту. А это уже совсем другое...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- zero648
- Вымогатель припоя
- Сообщения: 650
- Зарегистрирован: Пн июн 18, 2012 12:01:04
- Откуда: Челябинская область, Копейск
Re: BASCOM AVR в вопросах и ответах
По-моему Я и писал про частоту, в другом посте предлагалось менять задержку.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
В ШИМ частота неизменна. Предлагая менять задержку по-сути и предлагалось изменять частоту обновления индикации.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Задержку менял, когда индикатор был в основном цикле, вводя задержку тормозился цикл, делал это ради эксперимента, потом индикацию сделал через прерывание и до регулировки как то руки не дошли.
Подскажите, как подключить подтягивающие резисторы на порт при опросе кнопок, чтоб не вешать резюки.
Подскажите, как подключить подтягивающие резисторы на порт при опросе кнопок, чтоб не вешать резюки.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Когда порт настроен на вход (DDRX = 0), регистр PORT отвечает за подтяжку. В баскоме так:
Можно так:
Оба варианта равнозначны. Можно записью в регистры наглядно:
Код: Выделить всё
Config PORTB.1 = Input ' вывод PB1 - вход
PORTB.1 = 1 ' включаем внутренний подтягивающий резистор
Можно так:
Код: Выделить всё
Set PORTB.1 ' включаем внутренний подтягивающий резистор
Оба варианта равнозначны. Можно записью в регистры наглядно:
Код: Выделить всё
DDRB = &B00000000 ' весь порт на вход
PORTB = &B11001100 ' подтяжка у выводов PB7, PB6, PB3, PB2
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Подскажите, а можно два сравнения сделать по функции ИЛИ , И ,и как правильно написать
If Keynim = 0 and If Key = 0 then Return пример
If Keynim = 0 and If Key = 0 then Return пример
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
ksv68 писал(а): как правильно написать
If Keynim = 0 and If Key = 0 then Return пример
Второй IF убрать нужно.
Но я делал так:
Код: Выделить всё
if keymin = 0 then
if key = 0 then return
end ifНе претендую на оптимальность, но работает.
С уважением,
Алексей.
Алексей.