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

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

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

Сообщение vanyap1 »

Я читал даташит, и в курсе, что дисплей имеет два контроллера и работает как два дисплея. Только вот незадача, не видел в баскоме возможности подключить вторую линию Е2 и придумал - поставить два логических элемента "И" на линии Е1 и Е2, и выводить строки по очереди.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

vanyap1 писал(а):не видел в баскоме возможности подключить вторую линию Е2 и придумал - поставить два логических элемента "И" на линии Е1 и Е2, и выводить строки по очереди.

Встречал у иностранцев

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

$regfile = "m1280def.dat"
 $lib "lcd4e2.lib"
 '$lib "lcd4e2.lbx"
 $crystal = 16000000
 $hwstack = 32
 $swstack = 32
 $framesize = 24
 'Bascom kennt keine Display mit 27 * 4 Zeichen, daher 40 * 4 verwenden
 Config Lcd = 40 * 4


 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.0 , _
 Db7 = Porta.2 , E = Porta.3 , Rs = Porta.1 , E2 = Porta.6
 Initlcd
 Cls

 ' Systemvariable der LCD-Bibliothek (wichtig, bloß nicht ändern)
 Dim ___lcdno As Byte 'ohne LIB
 Dim ___lcde As Byte 'Mit LIB

 ' wählt die beiden oberen Zeilen aus
 ___lcde = 0

 ' löscht die beiden oberen Zeilen
 Cls
 ' wählt die obere Zeile aus
 Upperline
 ' schreibt in die erste Zeile an Position 3
 Locate 1 , 2
 ' den Text in Anführungszeichen
 Lcd "Zeile 1"
 ' wählt die zweite Zeile aus
 Lowerline
 ' schreibt in die zweite Zeile an Position 2
 Locate 2 , 2
 ' in diesem Fall den Inhalt der Variablem mit dem Namen Variable
 Lcd "Zeile 2"
 ' unterdrückt den Cursor
 Cursor Off

 ' wählt die beiden unteren Zeilen aus
 ___lcde = 1
 Waitms 100
 Cls
 Thirdline
 Locate 3 , 1
 Lcd "Zeile 3"
 Fourthline
 Locate 4 , 1
 Lcd "Zeile 4"
 Cursor Off

Здесь подробнее http://bascom-forum.de/archive/index.ph ... 43014c3ed4
И в справке http://basavrhelp.mcselec.com/index.html?lcd4e2.htm
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

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

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

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

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

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

Сообщение vanyap1 »

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

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

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

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

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

Сообщение edm2007 »

осторожно! леоныч!!! писал(а):Я знаю что всё не правильно.


Да это видимо я не совсем корректно выразился. Просто вроде же Вы куда лучше писали. А тут такое... Мне не совсем понятна даже такая мелочь как работа с кнопками. Ну откуда берется такое решение, если на каждой странице есть примеры с Debounce. Ну из раза в раз об одном речь идет. А тут плюем на дребезг, не обращаем внимание на то, что при нажатой кнопке с дикой скоростью будем к подпрограмме обращаться, и все в этом духе... Я говорю, не в коде проблема всегда. Она еще с момента написания алгоритма появляется. Вы возьмите и накидайте на листочке ради интереса свою задачу. И тогда наглядно увидите все ее связи и слабые места. А уж перевести на Бейсик дело совсем не сложное. Главное, отчетливо понимать, чего именно Вы хотите. А учиться "плохо" имея желание, невозможно. Это Вы уж наговариваете на себя. И возраст тут совершенно не при чем. :wink: Если же я чем-то задел или огорчил Вас, то приношу искренние извинения. Ничего подобного я в планах не имел. :)

amv2000 писал(а):Помнится edm2007 как то отвечал, сейчас видно стесняется


Это где про два дисплея на одной шине речь шла, видимо. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

edm2007 писал(а):Это где про два дисплея на одной шине речь шла, видимо. :)

Если интересно то здесь http://www.radiokot.ru/forum/viewtopic. ... start=1800
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

edm2007 я правда серьезно слажал. Ничего , скоро может быть нормальный код выложу для примера. Я учусь, да. И вообще огромное спасибо что помогаете, с вами обучение идет в разы быстрее.
Аватара пользователя
myx
Потрогал лапой паяльник
Сообщения: 371
Зарегистрирован: Чт июл 22, 2010 10:12:09

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

Сообщение myx »

Подскажите пожалуйста. Вот есть код к терморегулятору для выбора диапазона включения/выключения обогревателя, но выставлять температуру можно только в целых значениях. Как добавить возможность менять температуру с десятыми долями?

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

'Установка и сохранение в eeprom мк, выключения Q2

   Cls
   Ay = 0
   X1 = A
   Do
   If X1 > 10 Then X1 = 7
   If X1 < 7 Then X1 = 10
   Locate 1 , 1
   Lcd "[ BГІop їeјѕ. ]"
   Locate 2 , 1
   Lcd "Teјѕ. іє».: " ; X1 ; "  "
   Вверх_вниз
   Tem1 = X1
   Loop Until Ay = 1
    A = Tem1

'*******************************************************************************
'Установка и сохранение в eeprom мк, включения Q2

   Cls
   Ay = 0
   X1 = B
   Do
   If X1 > 10 Then X1 = 4
   If X1 < 4 Then X1 = 10
   Locate 1 , 1
   Lcd "[ BГІop їeјѕ. ]"
   Locate 2 , 1
   Lcd "Teјѕ. іГє».: " ; X1 ; "  "
   Вверх_вниз
   Tem2 = X1
   Loop Until Ay = 1
    B = Tem2

'***

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

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

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

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

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

Сообщение edm2007 »

Ну почему же плохо-то, зачем так категорично? Все от задачи зависит, и в большинстве случаев ее хватает вполне. :)) Касаемо внешней памяти, то это обычная работа с I2C. Например, вот: Работа с внешней EEPROM в Bascom-AVR на примере 24lc08.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

To myx: То что вы написали - это не код, а какой-то огрызок. Где задание переменных? И где вы тут увидели сохранение в EEPROM??? Выкладывайте полный код, тогда и поглядим. Я таких терморегуляторов кучу уже наделал, так что, чем смогу - помогу.
Цапу крутить надо!!! Ку или не ку?
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

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

Вот я задавал вопрос. Мне ответили но ничего не получается.
Уточню задачу все таки. Устройство на базе атмега16, весь порт D задействован под счет как я и говорил в 16-ричной системе, по переполнению порта D надо будет считать дальше двумя пинами pc6 pc7 и при общем переполнении и порта D и пинов pc6 pc7 уже считать заново. Ладно, пока снова сам помаюсь мож что и получится, не так всё тут просто...
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

Вот так устройство подало признаки жизни

If Plus = 1 Then : Incr W : End If
If Plus = 1 Then Waitms 1
If Minus = 1 Then : Decr W : End If
If Minus = 1 Then Waitms 1
W_h = High(w)
Portd = W_h

Заработало почему то именно так.
Теперь надо прицепить еще 2 пина чтоб они участвовали в счете.
Последний раз редактировалось осторожно! леоныч!!! Ср ноя 07, 2012 18:32:45, всего редактировалось 1 раз.
Аватара пользователя
myx
Потрогал лапой паяльник
Сообщения: 371
Зарегистрирован: Чт июл 22, 2010 10:12:09

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

Сообщение myx »

Igor_67 писал(а):To myx: То что вы написали - это не код, а какой-то огрызок. Где задание переменных? И где вы тут увидели сохранение в EEPROM??? Выкладывайте полный код, тогда и поглядим. Я таких терморегуляторов кучу уже наделал, так что, чем смогу - помогу.

Полный проект с исходником в архиве. Заранее спасибо.
Вложения
гигрометр 21 47 ГР last.zip
(159.96 КБ) 170 скачиваний
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

Всё таки пока не пойму как к 8 пинам одного порта прибавить еще 2 для счета. Чего только не пробовал уже. Понимаю что надо их устанавливать по переполнению порта D. Но чтоб включить порт С не могу вьехать как правильно сделать. Может при помощи подпрограммы проще?
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

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

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

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

Вот снова столкнулся с задачей которая пока не по зубам. Использую все пины порта С и только 2 пина порта D. Счет у меня идет до 1024 а дальше обнуление и всё по новой. PD2 - - - PD7 у меня свободны (atmega16). Но байт то туда отправлен. И применить эти свободные пины не получается. Не знаю что делать :oops:
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Я же вам давал исходник умеющий считать до 65535 (16 бит). Первые 8 бит выводит в один порт а вторую порцию - 8 бит в другой порт.
Ответить

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