Страница 104 из 304
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн дек 05, 2011 00:17:12
Moto_v3x
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн дек 05, 2011 09:37:39
TRIOD
доброе время суток.
Подскажите как узнать значение одельного бита в переменой типа Байт.
Просто из памяти типа 24CXX считывается по байтно, а мне нужно значение конкретных битов.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн дек 05, 2011 10:30:58
vanyap1
этот код мне непонятно, может еще что нибудь есть?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн дек 05, 2011 11:27:22
Мурик
TRIOD писал(а):Подскажите как узнать значение отдельного бита в переменой типа Байт.
где
var это переменная, а
x это требуемый бит от 0 до 7.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн дек 05, 2011 16:17:28
edm2007
TRIOD писал(а):Подскажите как узнать значение одельного бита в переменой типа Байт.
Не так давно писал про это:
Dim Temp As Byte , Result As Byte
Temp = &B10101010 ' загружаем число во временную переменную
Result = Temp.5 ' забираем в переменную Result 5-й бит переменной Temp (результат = 1)
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт дек 06, 2011 16:07:42
danton
люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
в моем случае это цветомузыкальный медальон "кошачий глаз"
http://radiokot.ru/circuit/light/run/35/ .
во первых - атмега8 - у нее вроде как isp интерфейс - значит можно программировать прямо в собранном медальоне? или нужно собирать какую то схему для программирования? или как это вообще делается?
во вторых - вот допустим я скачал прошивку для него, открыл в bascom avr и как вот ее зашивать туда? я там даже до фьюзбитов не могу добраться, и ваще не понимаю что делать то нужно
помогите пожалуйста чайнику

а то не могу сам никак разобраться, что к чему и как это делается...
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт дек 06, 2011 19:28:49
TRIOD
Доброе время суток.
Подскажите как в Баскоме отключить неиспользуемые адресные линии внешней оперативки?
Использую Мега8515 и 32KB ОЗУ. У этой меге 15 адресных линий причём линии с A8 по A15 вродебы можно отключить через регистр SFIOR.
По сколько у меня 32KB памяти то линия A15 мне ненужна и надо её отключить для других нужд, но не получается. Может кто в курсе как это сделать?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт дек 06, 2011 20:53:00
amv2000
danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
Для начала почитать
http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)
Re: BASCOM AVR в вопросах и ответах
Добавлено: Ср дек 07, 2011 01:22:35
danton
amv2000 писал(а):danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
Для начала почитать
http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)
я понимаю, я там тоже читал. мне просто интересно - в самом медальоне можно прошить контроллер или нет?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Ср дек 07, 2011 06:43:59
amv2000
в DIP корпусе сначала надо прошить, там имеется панелька а в корпусе TQFP можно непосредственно на плате там разъем снизу...
Re: BASCOM AVR в вопросах и ответах
Добавлено: Ср дек 07, 2011 11:46:35
vanyap1
Подскажите пожалуйста как обработать длительное удержание кнопки?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Ср дек 07, 2011 16:41:55
amv2000
vanyap1 писал(а):Подскажите пожалуйста как обработать длительное удержание кнопки?
Есть такой пример:
Код: Выделить всё
Wej1:
If Key_3 = 0 Then
Waitms 1 : If Key_3 = 1 Then Goto Wej1 ' Защита от помехи
Led = 1
Temp2 = 0
If Key_3 = 0 Then
For Temp = 0 To 250
Incr Temp2 : If Temp2 > 214 Then Goto Dolgoe_uderzhanie ' На долгое удержание
If Key_3 = 1 Then Exit For ' Выходим из цикла подсчета времени удержания кнопки
Waitms 14
Next
End If
For Temp = 0 To 99 ' Проверка на нажатие кнопки второй раз
If Key_3 = 0 Then Goto Dvojnoe_nazhatie
Waitms 2
Next
Goto odinochnoe_nazhatie ' Одиночное нажатие
Led = 0
End If
My_end:
Waitms 100
...
Loop
Если в теории то нашел пример:сделай цикл, в нем манюсенькую задержку, и инкрименируй переменную, при этом проверяй не отпустили ли кнопку.
Если кнопку отпустили - выходи из цикла. По значению переменной вычислишь задержку. Ставишь условие - если переменная меньше
скольких то.. переходим туда то, иначе - туда то...
но можно и заморочится с прерываниями и таймерами..
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 08, 2011 14:03:32
kip96
а можно ещё проще
Код: Выделить всё
debounce kn,0,aa
.....
.....
.....
aa:
waitms 800
if aa=0 then .....' делаем действие или переходим
else' или другое действие.
end if
После нажатия кнопки проверяем через время (в данном случае 800 мс) нажата кнопка или нет. И если нажата, то одно действие , если нет то к другое. К примеру в часах, при нажатии переходим к установки часов, при долгом нажатии к установки будильника, как-то так.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 08, 2011 15:49:04
amv2000
kip96 писал(а):а можно ещё проще.
Не знаю как автор вопроса, а я возьму на вооружение

Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 08, 2011 16:36:05
danton
кто нибудь знает - что это за ошибка такая - когда пытаешься считать что нить с атмеги8 или посмотреть ее состояние, или что нить записать - он выдает сообщение "сработала токовая защита", это что значит контроллер бракованный или что?
программатор универсальный chipprog и софтина такая же для него.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт дек 08, 2011 20:11:40
vanyap1
kip96 писал(а):а можно ещё проще
Код: Выделить всё
debounce kn,0,aa
.....
.....
.....
aa:
waitms 800
if aa=0 then .....' делаем действие или переходим
else' или другое действие.
end if
После нажатия кнопки проверяем через время (в данном случае 800 мс) нажата кнопка или нет. И если нажата, то одно действие , если нет то к другое. К примеру в часах, при нажатии переходим к установки часов, при долгом нажатии к установки будильника, как-то так.
Спасибо, полезный код ))
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 09, 2011 10:42:51
us5caa
удалил...
Вопрос про Таймерное прерывание.
Добавлено: Пт дек 09, 2011 13:04:26
Gordon Shumway
Доброго времени суток, уважаемые Коты !
Что-то никак не соображу - как засечь 10 минут с помощью таймерного прерывания ?
Я так понимаю, что когда таймер переполнится - прибавить к переменной единичку и опять отправить считать таймер ?
Как-то не получается...
Код: Выделить всё
Dim A As Byte
Config Timer0 = Timer , Prescale = 1024
On Timer0 Vikl
Enable Interrupts
Enable Timer0
Portb.2 = 1
Do
Portb.3 = 1
Wait 1
Portb.3 = 0
Wait 1
Loop
Vikl:
a=a+1
if a = число then
...
else
?
return
Используется Tiny13, Timer1 там нету.
Спасибо заранее за ответы !
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 09, 2011 23:09:27
kestrel
по посту выше, может кто-то поделится кодом отработки длительного нажатия кнопки, только с использованием таймера, тема интересная (например использование энкодера с кнопкой, которая посажена на Int0 или Int1)
заранее спасибо
Re: BASCOM AVR в вопросах и ответах
Добавлено: Сб дек 10, 2011 01:52:08
Секретный кот
Igor_67 писал(а):Возвращаясь к своей эпопее про LCD 8x2, спешу сообщить, что я его таки победил. Правда пришлось использовать другой МК (помощнее), зато теперь все работает как надо!
У меня именно этот LCD (WH0802A) прекрасно работает без всяких ухищрений, просто для него нужно выбрать библиотеку 16х1а.