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

Обсуждаем контроллеры компании Atmel.
Advent
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт дек 17, 2009 21:42:13

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

Сообщение Advent »

Уважаемые гуру языка BASCOM AVR, мне очень нужно собрать фотореле с таймером на 5 часов, т.е после срабатывания реле свет должен гореть 5 часов а после отключиться и реле снова должно перейти в первоначальное состояние
Нашёл только программку на фотореле помогите пожайлуста добавить в неё таймер, я в программированиии полный 0 , могу только паять
Вложения
схема реле.gif
(23.19 КБ) 501 скачивание
Program.txt
(12.52 КБ) 365 скачиваний
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

Сообщение aleksandr-zh »

уважаемый, судя по схеме Вы не верно ставите нам задачу :)
если просто : пропал свет - включи на 5 часов реле, то это просто. и Мега для этого - слишком жирный МК, любой Tiny хватит с избытком!

а если по указанной схеме, то программа не самая простая будет! - тут и динамическая индикация, и компаратор\ацп...

это на халяву слишком круто... день надо только ПО отлаживать ;)
vladik-bob
Родился
Сообщения: 4
Зарегистрирован: Сб ноя 06, 2010 14:59:22
Откуда: Владивосток

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

Сообщение vladik-bob »

Здравствуйте форумчане, помогите начинающему я пока что еще в школе учусь, поэтому может вопрос глупым покажется. Ни как не могу сообразить, как ШИМ работает. Хочу заставить тини2313 и одну кнопку регулировать яркость светодиода. Помогите разжевать, как это в васком выразить? :dont_know:
Advent
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт дек 17, 2009 21:42:13

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

Сообщение Advent »

aleksandr-zh писал(а):уважаемый, судя по схеме Вы не верно ставите нам задачу :)
если просто : пропал свет - включи на 5 часов реле, то это просто. и Мега для этого - слишком жирный МК, любой Tiny хватит с избытком!

а если по указанной схеме, то программа не самая простая будет! - тут и динамическая индикация, и компаратор\ацп...

это на халяву слишком круто... день надо только ПО отлаживать ;)


Мне без разницы на чём собирать, может быть у вас есть подобная программка на Tiny ?
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

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

Сообщение TRIOD »

Народ а Bascom AVR под Windows7 64 с STK200&300 работает или нет.
Только абсолютная пустота бездны принесёт мне покой.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

Сообщение aleksandr-zh »

Advent писал(а):
aleksandr-zh писал(а):уважаемый, судя по схеме Вы не верно ставите нам задачу :)
если просто : пропал свет - включи на 5 часов реле, то это просто. и Мега для этого - слишком жирный МК, любой Tiny хватит с избытком!

а если по указанной схеме, то программа не самая простая будет! - тут и динамическая индикация, и компаратор\ацп...

это на халяву слишком круто... день надо только ПО отлаживать ;)


Мне без разницы на чём собирать, может быть у вас есть подобная программка на Tiny ?

а где задача? напишите
просто то, что вы написали ну ни как не вяжется с той сложной схемой, что на рисунке показано...
Advent
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт дек 17, 2009 21:42:13

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

Сообщение Advent »

Алгоритм таков
Наступила ночь - лампочка загорелась и горит в течении 5 часов и отключается - устройство снова сработает когда пройдёт этот остаток ночи, наступит день и в ночь снова сработает на пять часов и т.д.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

Сообщение aleksandr-zh »

хорошо, на неделе постараюсь заняться...
пока не могу понять, как работать с фото-резистором
укажите его сопротивление без освещения, при тусклом освещении и при естественном дневном освещении
Advent
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт дек 17, 2009 21:42:13

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

Сообщение Advent »

aleksandr-zh без освещения - 15 МОм
при тусклом - 12 МОм
при дневном свете - 6 МОм


Если можно то напишите программу для Attiny13 они самые дешёвые ножек думаю хватит, можно без индикаторов, без регулировки времени, в программе зафиксировать 5 часов и всё :)
Огромно СПАСИБО буду ждать программку :))
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

Сообщение aleksandr-zh »

мда, надо будет мудрить с резисторами...
напомните мне о вашем задании во вторник на мой email
он указан на сайте, сайт - в подписи (см выше)
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

У меня подобная задача стояла, когда нужно было летний душ заправлять утром. Но резистор был от фотоаппарата, и разброс был 10Ком-100Ом(примерно). сначала думал через компаратор тиньки, а оказалось достаточно на Int0 делитель из резистора 1Ком и фоторезистора.
А с таким разбросом в МОм, без внешнего компаратора или хотя-бы эмит. повторителя- не обойтись, ибо от помех трудно будет уберечся.
Проще резистор куить:
Изображение
Вложения
fr48_1m_t.jpg
(908 байт) 1665 скачиваний
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Kesha
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вс мар 04, 2007 14:38:49

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

Сообщение Kesha »

Опять вопросы :) Теперь правда не по баскому а по самой 74HC595.
Вот снял скан с рабочего устройства:
74hc595_1.png
Скан с оригинального устройства
(2.62 КБ) 635 скачиваний

Не знаю на каком языке там написано и вообще как реализовано, не важно. Теперь делаю то же самое на баскоме с помощью Shiftout:
74hc595_2.png
Написанное на баскоме
(1.38 КБ) 590 скачиваний

Правильно я понимаю что на выходе 74hc595 я буду иметь то же самое что и в оригинальном устройстве?
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

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

Сообщение ВНН »

В архиве 4и исходника для 74hc595
Удачи
Вложения
74hc595.rar
Исходники для 74hc595
(3.75 КБ) 350 скачиваний
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Kesha
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вс мар 04, 2007 14:38:49

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

Сообщение Kesha »

Спасибо, это тоже пригодится :)
А по своему вопросу разобрался, конечно что в первом случае, что во втором результат одинаков.
user2007
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт дек 10, 2010 18:29:26

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

Сообщение user2007 »

vladik-bob писал(а):Здравствуйте форумчане, помогите начинающему я пока что еще в школе учусь, поэтому может вопрос глупым покажется. Ни как не могу сообразить, как ШИМ работает. Хочу заставить тини2313 и одну кнопку регулировать яркость светодиода. Помогите разжевать, как это в васком выразить? :dont_know:

ШИМ работает так: при непрерывной подаче напряжения на светодиод на нем выделяется самая большая мощность и диод светится наиболее ярко; для ШИМ делается прерывание энергии с частотой не менее 50 Гц(чтобы глаз не замечал моргания светодиода).То есть на светодиод подаются импульсы прямоугольного напряжения с частотой не менее 50 Гц (периодом 20 миллисекунд).В течение этого времени напряжение на светодиод подается, например, в течение 5 миллисекунд, а в остальное время его нет.Через 20 миллисекунд процесс возобновляется ит.д.Регулируя время подачи энергии от 0 до 20 миллисекунд,мы регулируем кажущееся свечение от 0 до максимума, так как зрение усредняет световую энергию во времени.
Это и должна делать программа на BASCOM автоматически.Естественно, для этого нужно ее составить и записать в память МК.
Таким образом, нужно:
1)обозначить какой-либо вывод как ВЫХОД - к нему будет подключен светодиод;
2)обозначить какой-либо вход как ВХОД "Увеличить" - к нему будет подключена кнопка "УВ"для увеличения длительности импульса подачи энергии;
3)обозначить какой-либо вход как ВХОД "Уменьшить" - к нему будет подключена кнопка "УМ"для уменьшения длительности импульса подачи энергии.
Если кнопки не трогать, диод должен "гореть" с одной и той же яркостью.В принципе, можно записать во FLASH-памяти "величину яркости". :)
Последний раз редактировалось user2007 Пт дек 24, 2010 13:21:01, всего редактировалось 2 раза.
vladik-bob
Родился
Сообщения: 4
Зарегистрирован: Сб ноя 06, 2010 14:59:22
Откуда: Владивосток

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

Сообщение vladik-bob »

Спасибо огромное, а можно исходничек какой-нибудь набросать так, поковырять да поразмыслить. :)
user2007
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт дек 10, 2010 18:29:26

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

Сообщение user2007 »

vladik-bob писал(а):Спасибо огромное, а можно исходничек какой-нибудь набросать так, поковырять да поразмыслить. :)

Пожалуйста.Надеюсь, Вам это поможет.Для схемы: 1)посадить входы D.0 и D.1 через резисторы
10 КОм на -5В(землю),2)2 кнопки соединить с +5В и этими входами, чтобы при нажатии кнопки
на вход подавалось +5В - лог.единица,3)к выходу В.0 подключить резистор 510 Ом,к нему
светодиод на землю -5В.Данную программу можно "прогнать" на симуляторе BASCOM-AVR.
$crystal = 8000000 'используем внутренний генератор на 8 МГц.
Const N = 40 ' 40 микросекунд

Dim A As Byte ' переменные - см.ниже, для чего
Dim A1 As Word
Dim N1 As Word

Config Pinb.0 = Output 'порт В.0 задаем как ВЫХОД
Config Portd = Input 'порт D задаем как ВХОД


A1 = 250 'при включении питания - среднее свечение:50% времени горит, 50%
'времени не горит

Inputcircle: 'вход в основной программный цикл
A = Pind 'считываем двоичный код на входах порта D,записываем в
переменную А

If A = 1 Then 'если нажата кнопка, подающая +5В на вход D.0, код равен 1, А=1
Incr A1 'увеличиваем переменную А1 на 1 каждые 20 мс , яркость растет(УВ)
If A1 => 500 Then 'ограничиваем величину А1 цифрой 500
A1 = 500 'общее число циклов - 500 по 40 микросекунд = 20 миллисекунд
End If
End If

If A1 => 1 Then 'если А1 больше или равно единице, то, если нажата кнопка, подающая +5В
' на вход D.1(УМ), яркость падает ,ограничим минимум величиной А=0
If A = 2 Then
Decr A1 'в этом случае A1 уменьшается на единицу каждые 20 мс,яркость падает
End If
End If
Set Portb.0 'порт В.0 устанавливаем в 1 - на светодиод подается напряжение, он горит
N1 = A1 'входим в подпрограмму цикла, N1 - (см.стр.48 данного форума, там я
Gosub Circle1 'расписал работу подпрограммы)время горения= 40хN1 микросекунд

Reset Portb.0 'порт В.0 устанавливаем в 0 - светодиод гаснет
N1 = 500 - A1 'входим в подпрограмму цикла, (см.стр.48 данного форума, там я
Gosub Circle1 'расписал работу подпрограммы), N1 задает количество циклов до 20
'миллисекунд - мы оговорили частоту импульсов 50 Гц, время 1 импульса
'20 мс,время гашения =40х(500-А1) микросекунд
Goto Inputcircle 'возврат в исходную точку и бесконечное повторение
Circle1: 'подпрограмма временной регулируемой задержки, см.стр.48 данного форума
While N1 > 0 'пока N1 больше нуля,вход в цикл
Waitus N 'задержка 40 микросекунд
Decr N1 'уменьшение N1 на единицу, общее время задержки - 40хN1 микросекунд
Wend
Return 'возврат в программу
Время основного цикла неизменно - 20 мс. :)
Последний раз редактировалось user2007 Пт дек 24, 2010 13:23:46, всего редактировалось 5 раз.
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

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

Сообщение TRIOD »

Доброе время суток.

Подскажите в bascome есть функция для инвертирования битов.
Только абсолютная пустота бездны принесёт мне покой.
Kesha
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вс мар 04, 2007 14:38:49

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

Сообщение Kesha »

Вот, из справочника М.Л. Кулиша.
NOT.png
(30.26 КБ) 627 скачиваний

И поищи еще в справке по слову toggle, вот оттуда:
TOGGLE can also be used on numeric variables. It will invert all bits in the variable. It has the same effect as NOT.
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

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

Сообщение TRIOD »

Подскажите что нетак.
вобщем только начал изучать мк.
Сделал пробную мегалку на светодиодах с регистрами 74HC595.
При нажатии на кнопку должна менятся прграмма мигания в определёной последовательности, но выбор идёт случайно. Где ошибка.

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

$regfile = "m8def.dat "
$crystal = 1000000


Ddrb = &B000111
Config Portd.3 = Input
Config Int0 = Low Level
Ds Alias Portb.0
Sh_cd Alias Portb.1
St_cp Alias Portb.2
Buton Alias Pind.3

On Int0 Butonp
Enable Interrupts
Enable Int0

Declare Sub 74hc595(byval Pin As Integer)


Dim Led As Integer
Dim Ifect As Byte
Led = Rnd(32767)
Ifect = 0

Do

Call 74hc595(led)
Rotate Led , Right , 1
Waitms 80

Loop

End

Sub 74hc595(byval Pin As Integer)                           'Процедура загрузки даных врегистр

Shiftout Ds , Sh_cd , Pin , 3 , 16
Set St_cp
Waitms 1
Reset St_cp

End Sub


Butonp:                                                     'Обработка нажатия кнопки
 Waitms 20
 While Buton = 1                                            'Ожидание отпускания кнопки
 Wend
 Ifect = Ifect + 1                                          'Выбр эфекта
 If Ifect = 4 Then Ifect = 0
Select Case Ifect
Case 0
Led = &B0111111111111111
Case 1
Led = &B1000000000000000
Case 2
Led = &B1010101010101010
Case 3
Led = &B0011001100110011
End Select
Gifr = 64
Waitms 1
Return
Только абсолютная пустота бездны принесёт мне покой.
Ответить

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