BASCOM AVR в вопросах и ответах
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- mr4ester
- Держит паяльник хвостом
- Сообщения: 900
- Зарегистрирован: Чт авг 27, 2009 20:09:01
- Откуда: Приднестровье г.Бендеры
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
а может использовать для этого мультиплексор?, или ту же un2003.
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
По ссылке выше мультиплексор и посоветовали.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Доброе время суток.
Посоветуите как наиболее правильно организовать подчёт прямоугольных импульсов с частатой до 1000Гц.
Мне надо сравнивать количество прешедщих ипульсов с заданым пользователем и как только оносравнается подовать сигнал на исплнительное устороиство.
Я собараюсь делать через внешние прерывание, но может есть лутчщий вариант.
Посоветуите как наиболее правильно организовать подчёт прямоугольных импульсов с частатой до 1000Гц.
Мне надо сравнивать количество прешедщих ипульсов с заданым пользователем и как только оносравнается подовать сигнал на исплнительное устороиство.
Я собараюсь делать через внешние прерывание, но может есть лутчщий вариант.
Только абсолютная пустота бездны принесёт мне покой.
Re: BASCOM AVR в вопросах и ответах
To MAX50: Я для подобных целей часто использую м/с электронных ключей, например КР590КН2 или КР190 КН1 (2) П. Замечательно работают даже при наших сибирских морозах (практически на улице) вот уже на протяжении нескольких лет (3 года - точно). Управляется все от МК, управление по типу мультиплексора - адресное.
Цапу крутить надо!!! Ку или не ку?
Re: BASCOM AVR в вопросах и ответах
TRIOD писал(а):Доброе время суток.
Посоветуите как наиболее правильно организовать подчёт прямоугольных импульсов с частатой до 1000Гц.
Мне надо сравнивать количество прешедщих ипульсов с заданым пользователем и как только оносравнается подовать сигнал на исплнительное устороиство.
Я собараюсь делать через внешние прерывание, но может есть лутчщий вариант.
Более удобно, наверное, использовать вход захвата таймера и выход по переполнению его же.
Цапу крутить надо!!! Ку или не ку?
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Выбор ключа пал на MAX4583AUE+. Здесь стоит 60.23 руб. Уже заказал.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Решил проблему пульта, с которой столкнулся раньше. Как оказалось, после команды "Getrc5(address , Command)" Переменные сохраняют информацию только до первой проверки их, потом, после нового "Getrc5" в цикле если ничего не пришло то там будет только 255. Цикл так быстро повторяется, что ЖКИ просто не успевал вывести мне значения этих переменных.
Вопрос; Есть переменная "А", как мне записать в эту переменную последовательность цифр? Прим: жмякаю кнопки "1", "2", "3", если приравнивать то переменная будет равна последовательно - 1, потом 2, потом 3. Мне надо чтобы она была равна "123". Короче ввод как на калькуляторе.
Вопрос; Есть переменная "А", как мне записать в эту переменную последовательность цифр? Прим: жмякаю кнопки "1", "2", "3", если приравнивать то переменная будет равна последовательно - 1, потом 2, потом 3. Мне надо чтобы она была равна "123". Короче ввод как на калькуляторе.
- kip96
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Ср авг 26, 2009 08:24:50
- Откуда: 1300км от Пупа
Re: BASCOM AVR в вопросах и ответах
max50 писал(а):Выбор ключа пал на MAX4583AUE+. Здесь стоит 60.23 руб. Уже заказал.
Да, не бюджетно как-то получается.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
kip96 писал(а):Да, не бюджетно как-то получается.
Возможно Вы правы, но в этой микре три переключающие группы(как у реле), а у остальных рассмотренных экземплярах четыре группы НР контактов, итого надо 5 таких(средняя цена 30руб., разница не большая).
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
- telefonist
- Родился
- Сообщения: 18
- Зарегистрирован: Вс май 09, 2010 23:15:14
- Откуда: Minsk
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Bascom AVR 2.0.7.1
При использовании команды Getrc5 (прочесть команду ИК пульта) - контроллер УВИСАЕТ намертво.
Делал всё как в хелпе. Может кто-нибудь знает решение?
При использовании команды Getrc5 (прочесть команду ИК пульта) - контроллер УВИСАЕТ намертво.
Делал всё как в хелпе. Может кто-нибудь знает решение?
У кота четыре ноги - вход, выход, земля и питание 
- Alex_Megavolt_79
- Грызет канифоль
- Сообщения: 262
- Зарегистрирован: Пт окт 30, 2009 22:33:56
- Откуда: Санкт-Петербург
Re: BASCOM AVR в вопросах и ответах
telefonist писал(а):Bascom AVR 2.0.7.1
При использовании команды Getrc5 (прочесть команду ИК пульта) - контроллер УВИСАЕТ намертво.
Делал всё как в хелпе. Может кто-нибудь знает решение?
ага как в хелпе. Товарищи коты есть здесь кто телепат или сновидящий? Прошу прощения за флуд. То что Вы делали как в хелпе ещё ни че не значит, все мы люди и можем ошибаться. Исходники в студию.

- telefonist
- Родился
- Сообщения: 18
- Зарегистрирован: Вс май 09, 2010 23:15:14
- Откуда: Minsk
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Ничего сверхестественного - родной баскомовский хелп из комплекта, описание функции Getrc5. Не вижу смысла приводить.
Отчасти - решилось установкой параллельно СТАРОЙ версии баскома, 1.9.х.х , в ней - всё работает. Но хотелось бы узнать - может какие-то настройки компилятора поменять надо?
Отчасти - решилось установкой параллельно СТАРОЙ версии баскома, 1.9.х.х , в ней - всё работает. Но хотелось бы узнать - может какие-то настройки компилятора поменять надо?
У кота четыре ноги - вход, выход, земля и питание 
Re: BASCOM AVR в вопросах и ответах
telefonist писал(а): Отчасти - решилось установкой параллельно СТАРОЙ версии баскома, 1.9.х.х , в ней - всё работает. Но хотелось бы узнать - может какие-то настройки компилятора поменять надо?
возможно нужно поменять имена переменных, это помогает при переходе с версии 1 на 2, иногда имена переменных совпадают именами подпрограмм, это тоже причина неработоспособности
возможно в непиратской версии всё нормально
Re: BASCOM AVR в вопросах и ответах
а каким образом организовать переключение скорости? ну например сначала 200 миллисекунд, потом 150 , 100, 50...
Код: Выделить всё
$regfile = "2313def.dat"
$crystal = 1000000
Config Portb = Output
Config Pind.0 = Input
Do
If Pind.0 = 1 Then
Portb.0 = 1
Waitms 200
Portb.0 = 0
Waitms 200
Else
Portb.0 = 0
Waitms 100
Portb.0 = 1
Waitms 100
End If
Loop
End- Av4arik
- Поставщик валерьянки для Кота
- Сообщения: 1954
- Зарегистрирован: Чт янв 20, 2011 16:47:18
- Откуда: Старый Оскол
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Waitms 200
потом цифра меняется на 150
потом меньше и меньше....на ваш выбор
З.Ы. это одно из немногих кодов которые я разобрал спокойно и без проблем.

потом цифра меняется на 150
потом меньше и меньше....на ваш выбор
З.Ы. это одно из немногих кодов которые я разобрал спокойно и без проблем.
Быстро, Качественно, Недорого.
Выбрать можно только 2 варианта.
Выбрать можно только 2 варианта.
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Через Select Case.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Av4arik писал(а):Waitms 200
потом цифра меняется на 150
забыл дописать: чтоб при нажитии на кнопку менялось в какую либо сторону
max50 писал(а):Select Case
Спасибо! Сейчас почитаю что это за зверь
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
КПІ РТФ!
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: BASCOM AVR в вопросах и ответах
Вот пример нашел:
Код: Выделить всё
$regfile = "ATtiny2313.DAT"
'$regfile = "m48def.dat" 'установка модели микроконтроллера
$crystal = 20000000 'частота генератора 1МГц
Enable Interrupts
Config Portb.1 = Output 'настройка пина b1 на выход (LED2)
Config Portb.2 = Output 'настройка пина b2 на выход (LED3)
Config Portb.3 = Output 'настройка пина b3 на выход (LED4)
Config Portd.6 = Output
Config Pind.0 = Input : Set Portd.0 'настройка пина d0 на вход (S1)
Config Pind.1 = Input : Set Portd.1 'настройка пина d1 на вход (S2)
Config Pind.5 = Input : Set Portd.5 'настройка пина d5 на вход (S3)
Dim A As Eram Byte
'Dim B As Eram Byte
Dim Effect As Byte
Dim Temp As Word
Dim T As Byte
'Effect = 0
'Temp = 100
'инициализация светодиодов
Set Portd.6
Portb = 14 '@@@@'
Waitms 300
Portb = 0 'OOOO'
Waitms 300
Portb = 14 '@@@@'
Waitms 300
Portb = 0 'OOOO'
Waitms 300
Portb = 14 '@@@@'
Waitms 300
Portb = 0 'OOOO'
Waitms 300
'----------
Do 'начало цикла
'Readeeprom Effect , 1
'If Effect > 0 or Effect < 255 Then
'Effect = 0
'End If
'If Effect > 2 Or Effect < 1 Then
Effect = A
'End If
Readeeprom T , 2
If T > 10 Or T < 1 Then
T = 1
End If
'опрос кнопок и присвоение переменной Effect соответствующего значения
If Pind.0 = 0 Then
If T < 10 Then
Waitms 100
Incr T
Writeeeprom T , 2
End If
End If
If Pind.1 = 0 Then
If T > 1 Then
Waitms 100
Decr T
Writeeeprom T , 2
End If
End If
Select Case T
Case 1 : Temp = 100
Case 2 : Temp = 200
Case 3 : Temp = 300
Case 4 : Temp = 400
Case 5 : Temp = 500
Case 6 : Temp = 600
Case 7 : Temp = 700
Case 8 : Temp = 800
Case 9 : Temp = 900
Case 10 : Temp = 1000
End Select
If Pind.5 = 0 Then
Waitms 100
Toggle Effect
A = Effect
'Writeeeprom Effect , 1
End If
'бегущий огонь вправо
If Effect = 0 Then
'If Effect = 1 Then
Portb = 2 '@OO'
Waitms Temp
Portb = 4 'O@O'
Waitms Temp
Portb = 8 'OO@'
Waitms Temp
'Loop
End If
'бегущая тень вправо
If Effect = 255 Then
'If Effect = 2 Then
Portb = 253 'O@@'
Waitms Temp
Portb = 251 '@O@'
Waitms Temp
Portb = 247 '@@O'
Waitms Temp
End If
Loop 'конец цикла
EndТого, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: BASCOM AVR в вопросах и ответах
Вот скажите что не так? Сижу битый час не могу понять в чем проблема.
Выдает ошибку 101 на строчку
Config Portc = Input
И ошибку 41 на строчку
Set Portc.5
Часы с индикатором с ОА. Сам в этом Bascome не силен но код приблизительно понимаю.
Брал отсюда http://atmega.blog.ru/84807315.html
Код: Выделить всё
$regfile = «m8def.dat»
$crystal = 8000000
'Настройка поттов
Config Portb = Output
Config Portc = Input
Config Portd = Output
'Подтяжки к портам
Set Portc.5
Set Portc.4
'Задаем рабочие пременные
Dim X As Byte , Y As Byte , Cifri(4) As Byte , Num As Byte , Tochka As Byte
'Настройка часов
Config Clock = Soft
_sec = 0 : _min = 0 : _hour = 0
Config Timer0 = Timer , Prescale = 8
Config Timer1 = Counter , Edge = Falling , Prescale = 1
On Timer1 Pulse
Enable Interrupts
Enable Timer0
Config Debounce = 20
'Цикл
Do
Debounce Pinc.4 , 0 , Minuti , Sub
Debounce Pinc.5 , 0 , Chasi , Sub
If_hour = 24 Then_hour = 00
If_min = 60 Then_min = 00
Tochka = _sec Mad 2
Loop
Pilse:
Incr X
Cifri(1) = _hour / 10
Cifri(2) = Cifri(1) * 10 ‘2 * 10 = 20
Cifri(2) = _hour — Cifri(2) ’21 – 20 = 1
Cifri(3) = _min / 10
Cifri(4) = Cifri(3) * 10 ‘5 * 10 = 50
Cifri(4) = _min — Cifri(4) ’56 – 50 = 6
'Индикация
Portd = &H00
Portd = &HFF
If X = 1 Then
Portb = &H77
Portb = &H8
Cifra = Cifri(1)
End If
If X = 2
Portb = &H7B
Portb = &H4
Cifra = Cifri(2)
End If
If X = 3 Then
Portb = &H7D
Portb = &H2
Cifra = Cifri(3)
End If
If X = 4 Then
Portb = &H7E
Portb = &H1
Cifra = Cifri(4)
End If
If X > 4 Then X = 0
Select Case Cifra
Case 0 : Y = &HEF
Case 1 : Y = &H8C
Case 2 : Y = &HB7
Case 3 : Y = &HBE
Case 4 : Y = &HDC
Case 5 : Y = &H7E
Case 6 : Y = &H7F
Case 7 : Y = &HAC
Case 8 : Y = &HFF
Case 9 : Y = &HFE
End Select
Select Case Cifra
Case 0 : Y = &H10
Case 1 : Y = &H73
Case 2 : Y = &H48
Case 3 : Y = &H41
Case 4 : Y = &H23
Case 5 : Y = &H81
Case 6 : Y = &H80
Case 7 : Y = &H53
Case 8 : Y = &H00
Case 9 : Y = &H1
End Select
Portd = Y
If Portb.2 = 0 And Tochka = 0 Then Set Portd.2 Else Reset Portd.2
If Portb.2 = 1 And Tochka = 0 Then Reset Portd.2 Else Set Portd.2
Return
Minuti:
Incr _min
_sec = 00
If _min = 60 Then _min = 00
Return
Chasi:
Incr _hour
_sec = 00
If _hour > 23 Then _hour = 00
Return
Выдает ошибку 101 на строчку
Config Portc = Input
И ошибку 41 на строчку
Set Portc.5
Часы с индикатором с ОА. Сам в этом Bascome не силен но код приблизительно понимаю.
Брал отсюда http://atmega.blog.ru/84807315.html