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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Есть задумка добавить вот сюда выбор МК с помощью кнопок.
Здесь уже кое-что посоветовали.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

а может использовать для этого мультиплексор?, или ту же un2003.
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

По ссылке выше мультиплексор и посоветовали.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

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

Сообщение TRIOD »

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

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

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

Сообщение Igor_67 »

To MAX50: Я для подобных целей часто использую м/с электронных ключей, например КР590КН2 или КР190 КН1 (2) П. Замечательно работают даже при наших сибирских морозах (практически на улице) вот уже на протяжении нескольких лет (3 года - точно). Управляется все от МК, управление по типу мультиплексора - адресное.
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

TRIOD писал(а):Доброе время суток.

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

Более удобно, наверное, использовать вход захвата таймера и выход по переполнению его же.
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Выбор ключа пал на MAX4583AUE+. Здесь стоит 60.23 руб. Уже заказал.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Решил проблему пульта, с которой столкнулся раньше. Как оказалось, после команды "Getrc5(address , Command)" Переменные сохраняют информацию только до первой проверки их, потом, после нового "Getrc5" в цикле если ничего не пришло то там будет только 255. Цикл так быстро повторяется, что ЖКИ просто не успевал вывести мне значения этих переменных.

Вопрос; Есть переменная "А", как мне записать в эту переменную последовательность цифр? Прим: жмякаю кнопки "1", "2", "3", если приравнивать то переменная будет равна последовательно - 1, потом 2, потом 3. Мне надо чтобы она была равна "123". Короче ввод как на калькуляторе.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

max50 писал(а):Выбор ключа пал на MAX4583AUE+. Здесь стоит 60.23 руб. Уже заказал.

Да, не бюджетно как-то получается. :(
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

kip96 писал(а):Да, не бюджетно как-то получается. :(

Возможно Вы правы, но в этой микре три переключающие группы(как у реле), а у остальных рассмотренных экземплярах четыре группы НР контактов, итого надо 5 таких(средняя цена 30руб., разница не большая).
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
telefonist
Родился
Сообщения: 18
Зарегистрирован: Вс май 09, 2010 23:15:14
Откуда: Minsk
Контактная информация:

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

Сообщение telefonist »

Bascom AVR 2.0.7.1
При использовании команды Getrc5 (прочесть команду ИК пульта) - контроллер УВИСАЕТ намертво.
Делал всё как в хелпе. Может кто-нибудь знает решение?
У кота четыре ноги - вход, выход, земля и питание :)
Аватара пользователя
Alex_Megavolt_79
Грызет канифоль
Сообщения: 262
Зарегистрирован: Пт окт 30, 2009 22:33:56
Откуда: Санкт-Петербург

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

Сообщение Alex_Megavolt_79 »

telefonist писал(а):Bascom AVR 2.0.7.1
При использовании команды Getrc5 (прочесть команду ИК пульта) - контроллер УВИСАЕТ намертво.
Делал всё как в хелпе. Может кто-нибудь знает решение?

ага как в хелпе. Товарищи коты есть здесь кто телепат или сновидящий? Прошу прощения за флуд. То что Вы делали как в хелпе ещё ни че не значит, все мы люди и можем ошибаться. Исходники в студию. :kill:
Аватара пользователя
telefonist
Родился
Сообщения: 18
Зарегистрирован: Вс май 09, 2010 23:15:14
Откуда: Minsk
Контактная информация:

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

Сообщение telefonist »

Ничего сверхестественного - родной баскомовский хелп из комплекта, описание функции Getrc5. Не вижу смысла приводить.

Отчасти - решилось установкой параллельно СТАРОЙ версии баскома, 1.9.х.х , в ней - всё работает. Но хотелось бы узнать - может какие-то настройки компилятора поменять надо?
У кота четыре ноги - вход, выход, земля и питание :)
Аватара пользователя
raf65
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс сен 27, 2009 20:49:06
Откуда: Советск

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

Сообщение raf65 »

telefonist писал(а): Отчасти - решилось установкой параллельно СТАРОЙ версии баскома, 1.9.х.х , в ней - всё работает. Но хотелось бы узнать - может какие-то настройки компилятора поменять надо?


возможно нужно поменять имена переменных, это помогает при переходе с версии 1 на 2, иногда имена переменных совпадают именами подпрограмм, это тоже причина неработоспособности

возможно в непиратской версии всё нормально
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

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

Сообщение BoRtO »

а каким образом организовать переключение скорости? ну например сначала 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 в вопросах и ответах

Сообщение Av4arik »

Waitms 200
потом цифра меняется на 150
потом меньше и меньше....на ваш выбор
З.Ы. это одно из немногих кодов которые я разобрал спокойно и без проблем.
:))
Быстро, Качественно, Недорого.
Выбрать можно только 2 варианта.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Через Select Case.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

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

Сообщение BoRtO »

Av4arik писал(а):Waitms 200
потом цифра меняется на 150 :))

забыл дописать: чтоб при нажитии на кнопку менялось в какую либо сторону
max50 писал(а):Select Case

Спасибо! Сейчас почитаю что это за зверь :)
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Вот пример нашел:

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

$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
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Opie
Родился
Сообщения: 4
Зарегистрирован: Чт янв 19, 2012 14:36:33

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

Сообщение Opie »

Вот скажите что не так? Сижу битый час не могу понять в чем проблема.

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

$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
Ответить

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