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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

edm2007 писал(а):Если Вы про код Gordon Shumway, то так и должно быть. Пин кнопки опрашивается в замкнутом цикле, и пока кнопка нажата, состояние светодиода будет меняться каждые 100 мс.
Да, наверное задержка мала. Можно увеличить waitms, а можно добавить проверку на отпускание кнопки: перед end if добавить

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

waitms 200
while pinb.3 = 0
wend

end if
тогда исполнится только одно нажатие, и до отпускания будем в while-wend болтаться.

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

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

Сообщение BoRtO »

Спасибо. В протеусе работает! :))
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Реклама
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Gordon Shumway писал(а):edm2007, буду вам благодарен, если про debounсe подскажете - есть непонятки...
Запросто. Что интересует?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

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

Сообщение BoRtO »

Спойлер$regfile = "attiny13.dat"
$crystal = 400000
$hwstack = 32
$swstack = 8
$framesize = 16
Config Pinb.3 = Input
Config Portb.1 = Output
Config Portb.2 = Output
Portb.2 = 1
Do
If Pinb.3 = 0 Then
Toggle Portb.1
Toggle Portb.2
Waitms 200
while pinb.3 = 0
Wend
End If
Loop
End
Работает! edm2007, Gordon Shumway Спасибо за помощь! :beer:
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

edm2007 писал(а):
Gordon Shumway писал(а):edm2007, буду вам благодарен, если про debounсe подскажете - есть непонятки...
Запросто. Что интересует?
Я как обычно поторопился паниковать :) Нашел ваше объясненние пару страниц назад. Так что я напишу, что понял, а вы поправите.

DEBOUNCE Pinb.3 , 0 , keylabel [ , SUB]

Сканируем pinb.3 на предмет 0 или 1 (второй параметр), если 0 - идем в keylabel. Не понял про sub, и про то, как задается задержка для debounce.

И, если у нас кнопка по прерыванию, то эту команду мы пишем в подпрограмме прерывания ?
С уважением,
Алексей.
Реклама
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Все просто, SUB - это переход к подпрограмме. То бишь если Вы не указываете SUB, то переходите просто по метке (GOTO), и дальше можете шагагать куда вздумается. Если же указываете SUB, то при нажатии вызываете подпрограмму (GOSUB). И обязаны завершить вызов командой Return (после чего вернетесь на следующую строку, после опроса кнопки).

Задержка антидребезга задается командой Config Debounce = 100 (в мс). Если не указывать, то выставлена задержка по умолчанию - 25 мс.

В смысле кнопка по прерыванию? Если она на внешнем прерывании, то и команда эта не нужна. Там уже другие заботы (сброс флага прерывания, неизбежного при дребезге и проч.).
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Реклама
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

edm2007 писал(а):Все просто, SUB - это переход к подпрограмме. То бишь если Вы не указываете SUB, то переходите просто по метке (GOTO), и дальше можете шагагать куда вздумается. Если же указываете SUB, то при нажатии вызываете подпрограмму (GOSUB). И обязаны завершить вызов командой Return (после чего вернетесь на следующую строку, после опроса кнопки).

Задержка антидребезга задается командой Config Debounce = 100 (в мс). Если не указывать, то выставлена задержка по умолчанию - 25 мс.
Вот теперь ясно, спасибо ! А то с SUB не въехал сначала...
С уважением,
Алексей.
Radan
Мучитель микросхем
Сообщения: 465
Зарегистрирован: Ср июн 21, 2006 08:24:32
Откуда: Лисичанск
Контактная информация:

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

Сообщение Radan »

vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Подскажите пожалуйста, как подключить и сконфигурировать порты мк для дисплея wh4004 с двумя пинами - Е1 и Е2?
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Я вот снова с глупым вопросом. Уже голову сломал. Как заставить считать регистр контроллера? На выходе по нажатию кнопок + и - должно увеличиваться или уменьшаться значение в 16-ричном коде. Ну как например у микросхемы 561ие11 или 561ие16. Я набросал чуток но так и не вьехал как правильно сделать. Вроде простая операция :cry:

Вот кусочек


Declare Sub Plus1
Declare Sub Minus1

Plus Alias Pinb.6 : Minus Alias Pinb.7

Locate 1 , 1
Lcd "Rx band 1"
Do

If Plus = 0 Then Call Plus1
If Minus = 0 Then Call Minus1
Loop

Plus1:
If Plus = 0 Then N = N + 5
Return


Minus1:
If Minus = 0 Then Portd = 0
Return

Ну не получается.. Ошибок явно куча :facepalm:
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Мда... Судя по коду, Вы явно в дурную компанию попали за последнее время...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Да нет. Я знаю что всё не правильно. Это я пробовал просто. Я до 3-45 утра просидел. Я знаю что плохо учусь. Я уже многое узнал. Но опыта очень мало. Я стараюсь но толку. Хотя многое получается и в протеусе работает и в железе. Мне просто поздно наверное учиться. Возраст то говорит о себе. Мне конечно стыдно но я стараюсь как могу. Желание научиться огромное.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

осторожно! леоныч!!! писал(а):Я вот снова с глупым вопросом. Уже голову сломал. Как заставить считать регистр контроллера? На выходе по нажатию кнопок + и - должно увеличиваться или уменьшаться значение в 16-ричном коде. Ну как например у микросхемы 561ие11 или 561ие16... :facepalm:



Так - я полагаю. А по моему вопросу, кто то подскажет?

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

$regfile = "m8515.dat"
$Crystal=4000000
$hwstack=40
$swstack=16
$framesize = 32

Config Porta = Output
Config Portc = Output
Config Pinb.0 = Input
Config Pinb.1 = Input
Plus Alias Pinb.0
Minus Alias Pinb.1
Dim W As Word , W_h As Byte , W_l As Byte


Do
If Plus = 1 Then : Waitms 150 : Incr W : End If
If Minus = 1 Then : Waitms 150 : Decr W : End If
W_h = High(w)
W_l = Low(w)
Porta = W_h
Portc = W_l
Loop
end
В порт А уйдут старшие 8 бит и в порт С - младшие.
Последний раз редактировалось vanyap1 Ср окт 31, 2012 18:24:11, всего редактировалось 2 раза.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

vanyap1 писал(а):Подскажите пожалуйста, как подключить и сконфигурировать порты мк для дисплея wh4004 с двумя пинами - Е1 и Е2?
А можно даташит? Я с дисплеями подружился не плохо вроде.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Вот информация. Думаю что не бесполезная http://noc-isu.tti.sfedu.ru/attachments ... %D1%8B.pdf

Вот на "С" но тоже можно будет помозговать http://www.microchip.su/showthread.php?t=13063

А вообще по этому дисплею ничего нет. Не популярен он среди радиолюбителей как я понял.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

О! Нашел в протеусе почти этот дисплей! Это уже начало. MDLS40466 да он двухстрочный но можно хотя бы с этими загадочными входами разобраться :shock:
Аватара пользователя
amv2000
Опытный кот
Сообщения: 724
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

vanyap1 писал(а):как подключить и сконфигурировать порты мк для дисплея wh4004 с двумя пинами - Е1 и Е2?
Помнится edm2007 как то отвечал, сейчас видно стесняется :)
Вообще для этого есть библиотека $lib "Lcd4e2.lib". Что в первом что во втором случае 2 линии E и два контроллера HD44780
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Ой я вообще виноват. Сейчас именно этот 4 строчный дисплей подключил в протеусе и вывел пару слов. Сейчас всё выложу сюда. :facepalm:
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

В общем вот набросок проекта
индикатор.rar
Да код смешной но работает. Я так понял что у этого дисплея 2 контроллера, каждый на 2 строки дисплея. В ходе работы это не трудно понять. Думаю разобраться не трудно будет.

В архиве проект для протеуса и прошивка.

(пришлось править. Исходник забыл положить)
Ответить

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