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

Обсуждаем контроллеры компании Atmel.
ksv68
Открыл глаза
Сообщения: 43
Зарегистрирован: Сб апр 05, 2014 20:41:29
Откуда: Иваново

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

Сообщение ksv68 »

Я конечно не спец по БАСКОМу, но FUSES устанавливают в программаторе, а сторожевой таймер включают командой в программе http://www.decada.org.ru/project/lessons/bascom_avr/17/ .
Реклама
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

При программировании этого контроллера эти биты не доступны.
Так или иначе, фуз сторожевого таймера надо включить, а в программе сконфигурировать и сбрасывать.
Реклама
ksv68
Открыл глаза
Сообщения: 43
Зарегистрирован: Сб апр 05, 2014 20:41:29
Откуда: Иваново

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

Сообщение ksv68 »

Не подскажите, как прочитать 4 бита порта, желательно не побитно.
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

Реклама
Эиком - электронные компоненты и радиодетали
ksv68
Открыл глаза
Сообщения: 43
Зарегистрирован: Сб апр 05, 2014 20:41:29
Откуда: Иваново

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

Сообщение ksv68 »

Проблема с наводкой решилась, читал весь порт, на 5в были подключены только 4 разряда, а к этому порту был подцеплен программатор. Включил все резисторы и наводка ушла :)) , коды кнопок пришлось поменять. Всем спасибо.
Реклама
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение 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"
Реклама
Аватара пользователя
Balzercvua
Потрогал лапой паяльник
Сообщения: 311
Зарегистрирован: Вт дек 31, 2013 17:36:43

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

Сообщение 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
пробуй так это с книги хош скину почитать
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Спасибо. Оказывается все банально просто. Заработало так вот:

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

.EQU LCDDDR=DDRA 
.EQU LCDPORT=PORTA
Все равно спасибо что откликнулись. А что там за книга?
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

и мне можно почитать? :)))
Аватара пользователя
Balzercvua
Потрогал лапой паяльник
Сообщения: 311
Зарегистрирован: Вт дек 31, 2013 17:36:43

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

Сообщение Balzercvua »

Прошу только на английском примитивный хелп кстати очень полезный
и еще вот следущая бадяга регистров есть в каждом даташите просто его надо иногда читать практически в его конце
Вложения
swswcwd.jpg
(213.43 КБ) 353 скачивания
uk_BASCAVR.PDF
(827.51 КБ) 283 скачивания
Последний раз редактировалось Balzercvua Пн янв 12, 2015 21:45:02, всего редактировалось 2 раза.
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

Balzercvua спасибо!
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

решил сам
ksv68
Открыл глаза
Сообщения: 43
Зарегистрирован: Сб апр 05, 2014 20:41:29
Откуда: Иваново

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

Сообщение ksv68 »

Подскажите, может есть у кого пример , нужна регулировка частоты и скважности, например на дискретном выходе, не на ШИМ канале. За ранее благодарен.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Включаешь таймер в режиме таймера, активизируешь прерывание по переполнению, и по совпадению. По совпадению включаешь порт, по переполнению выключаешь. - так регулируешь скважность. поищи примеры регулировки яркости LED индикаторов, в сети часто попадалось
Все делают ошибки, только мудрецы - новые, а дураки - старые.
ksv68
Открыл глаза
Сообщения: 43
Зарегистрирован: Сб апр 05, 2014 20:41:29
Откуда: Иваново

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

Сообщение ksv68 »

Я активировал прерывание и в прерывании переменная, которая прибавляется до совпадения с заданным значением и обнуляется. В этом же прерывании я управляю каналом ШИМ для реализации пульсируещего режима, и регулировка частоты и скважности получилась, но нелинейная. Мне нужно 20-200гц а при задании 20- 19гц 200-190гц а середина диапазона 110-45гц. Я взял за единицу, единицу времени одного прерывания.
Вложения
INT 1.zip
(774 байт) 174 скачивания
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

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

Сообщение rojnov »

Приветствую всех уважаемых котов!
Хочу поделиться своей проблемой, от которой уже начинаю впадать в уныние. Проблеме этой уже более полгода, но к прошлой зиме так и не сделал аппарат, теперь вот вспомнил и решил доделать. Делал я термостат в садовый домик, а пока своя схема не готова, работает китайский аналог. Работает нормально, кстати, претензий нет, но хочется и свой доделать, хотя бы из-за того, что в железе все готово, дело за программой. Понимаю, что тема термостата давно изучена вдоль и поперек, что только ленивый не делал свой термостат, но мне это надо хотя бы в плане обучения этому делу. Да и жалко бросать начатое дело.
В общем так. В режиме термометра работает правильно, не работает именно режим термостата - т.е. вход в режим настроек для изменения температуры, которую надо поддерживать. Сделал вход в режим настроек по INT0 (6 нога ATtiny 2313), почему-то при нажатии на эту кнопку вообще нет никакой реакции. Такое ощущение, что делаю что-то не то. Не могу понять, что я делаю не так.
Буду очень рад услышать дельный совет.
Вложения
Термостат.rar
(76.52 КБ) 215 скачиваний
Аватара пользователя
vem566
Друг Кота
Сообщения: 4733
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Осталось назначить порт D.2 входом.
Config Pind.2 = Input
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

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

Сообщение rojnov »

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

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

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

vem566 писал(а):Осталось назначить порт D.2 входом.
Config Pind.2 = Input
Насколько я помню - это делать не обязательно если вы установили сопротивление от pind.2 на плюс.
Я никогда не прописывал порт прерывания на вход.

rojnov, я не вижу у вас никаких задержек в подпрограмме обработки прерывания. Добавьте в начале подпрограммы

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

waitms 300
а перед Return желательно добавить этим вы сбросите ложное срабатывание прерывания от дребезга кнопки.

Я при отлаживании программ если что-то неполучается - вставляю миг светодиодом. Добавьте временно в начале подпрограммы прерывания int0:

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

set [порт светодиода]
waitms 500
reset [порт светодиода]
и вы узнаете - происходит ли уход в подпрограмму.
С уважением,
Алексей.
Аватара пользователя
vem566
Друг Кота
Сообщения: 4733
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Gordon Shumway писал(а):Я никогда не прописывал порт прерывания на вход.
Сделав не один круг по этим граблям, проблема была решена принудительным назначением входа прерывания на вход. С тех пор косяков в программах нет.
Самое интересное, что в даташите я не нашел упоминания об этом.
Ответить

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