Страница 218 из 304
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 11, 2015 17:47:55
ksv68
Я конечно не спец по БАСКОМу, но FUSES устанавливают в программаторе, а сторожевой таймер включают командой в программе
http://www.decada.org.ru/project/lessons/bascom_avr/17/ .
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 11, 2015 18:21:23
vanyap1
При программировании этого контроллера эти биты не доступны.
Так или иначе, фуз сторожевого таймера надо включить, а в программе сконфигурировать и сбрасывать.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 11, 2015 18:30:46
ksv68
Не подскажите, как прочитать 4 бита порта, желательно не побитно.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 11, 2015 18:42:35
pavel1979
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн янв 12, 2015 18:10:37
ksv68
Проблема с наводкой решилась, читал весь порт, на 5в были подключены только 4 разряда, а к этому порту был подцеплен программатор. Включил все резисторы и наводка ушла

, коды кнопок пришлось поменять. Всем спасибо.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн янв 12, 2015 19:57:00
vanyap1
Мне почему то никак не выходит задействовать дисплей 4004. Дисплей имеет два контроллера и соответственно две линии "E".
При поочередном переключении проводов и обычной инициализации дисплей работает, то верх, то низ.
Но как только раскоментирую строку
$lib "lcd4e2.lib", дисплей наотрез отказывается работать.
Код самый примитивный с интернетов.
Спойлер
$regfile = "m2560def.dat"
$crystal = 16000000
'$baud = 9600 'put terminal on 19200 baud
$hwstack = 100
$swstack = 100
$framesize = 100
$lib "lcd4e2.lib"
'Led Alias Portb.7
'Config Led = Output
Config Lcd = 40 * 4
Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , Db4 = Portb.4 , E = Portb.2 , Rs = Portb.0 , E2 = Portb.3
Config Lcdmode = Port
Initlcd
Cls
' Systemvariable der LCD-Bibliothek (wichtig, blo? nicht a"ndern)
Dim ___lcdno As Byte 'ohne LIB
Dim ___lcde As Byte 'Mit LIB
' wa"hlt die beiden oberen Zeilen aus
___lcde = 0
' lo"scht die beiden oberen Zeilen
Cls
' wa"hlt die obere Zeile aus
Upperline
' schreibt in die erste Zeile an Position 3
Locate 1 , 2
' den Text in Anfu"hrungszeichen
Lcd "Zeile 1"
' wa"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"
' unterdru"ckt den Cursor
Cursor Off
' wa"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
И как в библиотеке указать другой порт для дисплея -
Код: Выделить всё
.EQU LCDDDR=$17 ; change to another address for DDRD ($11)
.EQU LCDPORT=$18 ; change to another address for PORTD ($12)
Что следует записать для порта "A"
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн янв 12, 2015 20:15:59
Balzercvua
$1B PORTA PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0
$1A DDRA DDA7 DDA6 DDA5 DDA4 DDA3 DDA2 DDA1 DDA0
$19 PINA PINA7 PINA6 PINA5 PINA4 PINA3 PINA2 PINA1 PINA0
пробуй так это с книги хош скину почитать
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн янв 12, 2015 21:04:32
vanyap1
Спасибо. Оказывается все банально просто. Заработало так вот:
Все равно спасибо что откликнулись. А что там за книга?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн янв 12, 2015 21:06:28
pavel1979
и мне можно почитать?

Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн янв 12, 2015 21:17:11
Balzercvua
Прошу только на английском примитивный хелп кстати очень полезный
и еще вот следущая бадяга регистров есть в каждом даташите просто его надо иногда читать практически в его конце
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн янв 12, 2015 21:40:36
pavel1979
Balzercvua спасибо!
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт янв 13, 2015 10:49:43
pavel1979
решил сам
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт янв 15, 2015 13:34:52
ksv68
Подскажите, может есть у кого пример , нужна регулировка частоты и скважности, например на дискретном выходе, не на ШИМ канале. За ранее благодарен.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт янв 16, 2015 09:43:16
kip96
Включаешь таймер в режиме таймера, активизируешь прерывание по переполнению, и по совпадению. По совпадению включаешь порт, по переполнению выключаешь. - так регулируешь скважность. поищи примеры регулировки яркости LED индикаторов, в сети часто попадалось
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт янв 16, 2015 14:09:18
ksv68
Я активировал прерывание и в прерывании переменная, которая прибавляется до совпадения с заданным значением и обнуляется. В этом же прерывании я управляю каналом ШИМ для реализации пульсируещего режима, и регулировка частоты и скважности получилась, но нелинейная. Мне нужно 20-200гц а при задании 20- 19гц 200-190гц а середина диапазона 110-45гц. Я взял за единицу, единицу времени одного прерывания.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 18, 2015 08:42:07
rojnov
Приветствую всех уважаемых котов!
Хочу поделиться своей проблемой, от которой уже начинаю впадать в уныние. Проблеме этой уже более полгода, но к прошлой зиме так и не сделал аппарат, теперь вот вспомнил и решил доделать. Делал я термостат в садовый домик, а пока своя схема не готова, работает китайский аналог. Работает нормально, кстати, претензий нет, но хочется и свой доделать, хотя бы из-за того, что в железе все готово, дело за программой. Понимаю, что тема термостата давно изучена вдоль и поперек, что только ленивый не делал свой термостат, но мне это надо хотя бы в плане обучения этому делу. Да и жалко бросать начатое дело.
В общем так. В режиме термометра работает правильно, не работает именно режим термостата - т.е. вход в режим настроек для изменения температуры, которую надо поддерживать. Сделал вход в режим настроек по INT0 (6 нога ATtiny 2313), почему-то при нажатии на эту кнопку вообще нет никакой реакции. Такое ощущение, что делаю что-то не то. Не могу понять, что я делаю не так.
Буду очень рад услышать дельный совет.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 18, 2015 09:12:45
vem566
Осталось назначить порт D.2 входом.
Config Pind.2 = Input
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 18, 2015 10:19:14
rojnov
И всего-то? А я подумал, что раз я разрешил Int0 и все остальные прерывания, то этого будет достаточно. Спасибо, вечером проверю, сейчас пока нет возможности.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 18, 2015 11:12:08
Gordon Shumway
vem566 писал(а):Осталось назначить порт D.2 входом.
Config Pind.2 = Input
Насколько я помню - это делать не обязательно если вы установили сопротивление от pind.2 на плюс.
Я никогда не прописывал порт прерывания на вход.
rojnov, я не вижу у вас никаких задержек в подпрограмме обработки прерывания. Добавьте в начале подпрограммы
а перед Return желательно добавить
этим вы сбросите ложное срабатывание прерывания от дребезга кнопки.
Я при отлаживании программ если что-то неполучается - вставляю миг светодиодом. Добавьте временно в начале подпрограммы прерывания int0:
Код: Выделить всё
set [порт светодиода]
waitms 500
reset [порт светодиода]
и вы узнаете - происходит ли уход в подпрограмму.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс янв 18, 2015 11:30:57
vem566
Gordon Shumway писал(а):Я никогда не прописывал порт прерывания на вход.
Сделав не один круг по этим граблям, проблема была решена принудительным назначением входа прерывания на вход. С тех пор косяков в программах нет.
Самое интересное, что в даташите я не нашел упоминания об этом.