Вводи функцию обнуления S, ато он переполняется до 255.
BASCOM AVR в вопросах и ответах
Я не могу проверить на работоспособность, просто смотрю в симуляторе где зацыкливается.
Вводи функцию обнуления S, ато он переполняется до 255.
Вводи функцию обнуления S, ато он переполняется до 255.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
- Реклама
Попробуй так:
Код: Выделить всё
Do
If X = 1 Then Gosub Label1
If X = 0 Then Gosub Label2
S = 0
Loop
Buttons:
If Knopka = 0 Then
Waitms 100
Incr S
If S <= 5 Then
X = 1
S = 0
Else
X = 0
End If
End If
Return[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
- Сообщения: 10
- Зарегистрирован: Сб май 15, 2010 13:37:45
Не пойму, если Config Int0 = Falling, то когда же S станет больше 5-ти ?Magicanin писал(а):Попробуй так:
опять-же:
Она вообще станет больше 5-ти?Magicanin писал(а):If Knopka = 0 Then
Waitms 100
Incr S
If S <= 5 Then
X = 1
S = 0
Else....
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Железа-то не видно! Где у Вас кнопки? Их две или одна?Smokeman писал(а):Устройство сделано в железе, по внешним признакам переходит сразу на Label2. На кнопки ни как не реагирует.
Инт0 вро-де бы на ПинБ2
Сделайте в первоночальном коде
Knopka Alias Pinb.2
Все делают ошибки, только мудрецы - новые, а дураки - старые.
- Реклама
- Сообщения: 10
- Зарегистрирован: Сб май 15, 2010 13:37:45
Че то вы меня еще больше запутали.. Вот схема по которой собрано устройство.
Вообще кнопки - 2, но тут бы хотя бы с одной разобраться!
Ну так, блин, Инт0 же на седьмой ноге !!! Внимательней!
Все делают ошибки, только мудрецы - новые, а дураки - старые.
спасибо огромное.... давно знаю этот сайт, но не обратил внимания, что там тоже 3х вольтовый экран....Magicanin писал(а):Пример на дисплее LS020
http://robozone.su/2009/03/02/modul-dlj ... ls020.html
жаль они свой сайт забросили, такой хороший проект был
не судите, я учусь -)
Сайт отличнейший для начинающих. Я с него и начинал знакомство с AVR и программированием.
Был...
Форум замер, новых проектов нет.
Но для развития интереса самое то.
Был...
Форум замер, новых проектов нет.
Но для развития интереса самое то.
Последний раз редактировалось Magicanin Вс июл 17, 2011 19:24:05, всего редактировалось 1 раз.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
спаибоWladimir_TS писал(а):kkozyrev писал(а):а можно схемку посмотреть подключения?
или может просто в линии данных воткнуть резисторы по 10к ???
С ноги МК на вывод индикатора идет резисторЮ а с вывода индикатора на землю - еще один. Отношение сопротивлений как (Rна инд. + Rна земл.)/Rна земл = 5/3,3. Выбирал для тока через делитель миллиампер 5 - что-б зело фронты не валились.
не судите, я учусь -)
вопрос такой: мог бы кто небесплатно разумеется (но и не очень дорого) написать программку для мега32 для термометра на дс18б20 с несколько хитрой индикацией?
Ищу тиратрон ТХИ1-2000/4, ГРИ ИН-23, ФЭУ-103; 134; 135, 138, 155, 157, лампу ИСШ-7.
Любые ГИС серий 203, 225, 233, 244, 250, 296, 801, 838 в любом состоянии. Компоненты и детали от миниатюрных твердотельных лазеров.
Любые ГИС серий 203, 225, 233, 244, 250, 296, 801, 838 в любом состоянии. Компоненты и детали от миниатюрных твердотельных лазеров.
На сколько хитра индикация?
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
Поприветствую всех,начал изучать Баском(второй день идёт
)пробую АЦП так в принципе всё понятно вот только как вывести на индикатор нормальное значение напряжения,а не цифровой код АЦП и ещё пытался выполнить кое какие арифметические операции ,в частности эту формулу U^2/ 50 (ВЧ мощность передатчика высчитывает это так к примеру)так там опять что то не выходит,что я не так делаю подскажите????
Код: Выделить всё
$regfile = "m8def.dat" ' atmega8
$crystal = 1000000 ' частота установленного кварца 1 mHz
'указываем конфигурацию подключения дисплея к портам МК
Config Lcdpin = Pin , Rs = Portb.5 , E = Portb.4 , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0
Config Lcd = 16 * 2 'используем дисплей на 2 строчки по 16 знакомест в каждой
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'конфигурация АЦП
'объявляем переменные
Dim W As Word
Dim W1 As Word
Dim W2 As Word
Start Adc 'запускаем аналого-цифровое преобразование
'--------------выводим заставку-------------------------------
Wait 1 'задержка 1 секунда
Cursor Off 'отключаем отображение курсора на ЖК
Cls 'очитка дисплея
Deflcdchar 0 , 4 , 14 , 27 , 17 , 17 , 31 , 17 , 17
Deflcdchar 1 , 18 , 18 , 18 , 18 , 18 , 18 , 30 , 3
Deflcdchar 2 , 31 , 17 , 17 , 17 , 17 , 17 , 17 , 17
Deflcdchar 3 , 31 , 4 , 4 , 4 , 4 , 4 , 4 , 4
Deflcdchar 4 , 31 , 16 , 16 , 31 , 31 , 16 , 16 , 31
Deflcdchar 5 , 31 , 16 , 16 , 16 , 16 , 16 , 16 , 31
Deflcdchar 6 , 31 , 4 , 4 , 4 , 4 , 4 , 4 , 4
Cls
Locate 1 , 4
Lcd Chr(0) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(4) ; Chr(5) ; Chr(6)
Wait 2 'задержка 2 секунды
'-------------------------------------------------------------
'главный цикл программы
Do
W = Getadc(0)
Locate 1 , 1 : Lcd "" ; W ; "V"
W1 = W * W
W2 = W1 / 50 :
Lcd "; " ; W2 ; "Wt"
Waitms 100 ' зедержка 0,1 секунды
Loop
End
Я делаю так: Разбиваю диапазон измеряемого напряжения на 1023 ( АЦП,имеет разрешение 10 бит. Соответственно каждый канал выдает 1024 дискретных значений от 0 до 1023.)
ввожу переменную Uper типа Single
Uper = 0.0489 'коэф для 50В (5/1023)*10 где 10 это делитель
W = Getadc(0)
Ulcd = Uper *W
Locate 1 , 1
Lcd "U=" ; Fusing(ulcd , "##.#") ; " B "
как то так....
хотите целое число
Locate 1 , 1 : Lcd "" ; Ulcd ; "V"
подробнее тут http://robozone.su/index.php?newsid=40
и тут http://bascomavr.3bb.ru/viewtopic.php?id=62
ввожу переменную Uper типа Single
Uper = 0.0489 'коэф для 50В (5/1023)*10 где 10 это делитель
W = Getadc(0)
Ulcd = Uper *W
Locate 1 , 1
Lcd "U=" ; Fusing(ulcd , "##.#") ; " B "
как то так....
хотите целое число
Locate 1 , 1 : Lcd "" ; Ulcd ; "V"
подробнее тут http://robozone.su/index.php?newsid=40
и тут http://bascomavr.3bb.ru/viewtopic.php?id=62
Честно так и не понял как коэф.берутся??? 0.0489 это откуда взято из практики?А как на счёт арифметики?
- Сообщения: 39
- Зарегистрирован: Сб июн 05, 2010 20:44:58
делал как то вольтметр. Во первых нужно определиться сколько максимально ток нужно мерить, от этого нужно смотреть точность и резисторный делитель. Если нужно можно на транзах сделать многоуровневый измеритель напряжения. Сообщите сколько вольт нужно мерить максимум,от этого и будем отталкиваться.
почитайте http://avrproject.ru/publ/zadejstvuem_a ... r/1-1-0-13 там все понятно.
почитайте http://avrproject.ru/publ/zadejstvuem_a ... r/1-1-0-13 там все понятно.
Расчет переменной я же давал коэф для 50В (5/1023)*10 где 10 это делительAleks8383 писал(а):Честно так и не понял как коэф.берутся??? 0.0489 это откуда взято из практики?А как на счёт арифметики?
это для опорного 5 вольт, а 10 коэффициент усиления у меня , у Вас может быть другой это зависит от резистивных делителей
доброго всем.
для отсылки команды в телефон ввод команды должен заканчиваться символом перевода строки.
т.е. я пишу в uart
print "AT" и долженбыть символом перевода строки.
подскажите как это в баскоме выглядит?
для отсылки команды в телефон ввод команды должен заканчиваться символом перевода строки.
т.е. я пишу в uart
print "AT" и долженбыть символом перевода строки.
подскажите как это в баскоме выглядит?
не судите, я учусь -)
- Сообщения: 31
- Зарегистрирован: Пн июл 25, 2011 14:24:34
Доброго всем ЗДОРОВИЦА.Подскажите как сделать s-metr на дисплее от сименса ls020.
покажите на маленьком примере ,СПАСИБО.
покажите на маленьком примере ,СПАСИБО.


