Страница 70 из 304

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

Добавлено: Ср мар 23, 2011 16:25:17
edm2007
Да? А в протеусе все замечательно работает. :dont_know: Правда назначение точек я там не понял. И еще, у Вас отсчет разрядов откуда идет? Слева или справа?

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

Добавлено: Ср мар 23, 2011 16:29:42
Igor_67
Вот как раз, в Протеусе не работает! Отсчет справа.

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

Добавлено: Ср мар 23, 2011 16:46:34
edm2007
Работает. :)

**************************************
Если слева то расчет надо было так и делать. Сначала разделенная на 10 в первый разряд а потом остаток от деления во второй.

Прошу прощения, был невнимателен. Просто сам слева делаю всегда, по порядку. Тогда исправить надо.
**************************************

И вообще, зачем и в коде и в прерывании расчет-то ? И при начальной загрузке пока температура не считалась он грузил несуществующее. Добавил прочерки. Термометр

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

Добавлено: Ср мар 23, 2011 16:51:08
Igor_67
To edm2007:тогда скажи, дорогой, в чем же у меня засада?

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

Добавлено: Ср мар 23, 2011 17:14:52
Igor_67
Все, не стоит волноваться. Все получилось! :))
edm2007, СПАСИБО!!! :beer:

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

Добавлено: Ср мар 23, 2011 17:20:57
edm2007
Интересная штука получается, кстати. Если оставить стопы таймера как было изначально после 1wreset НО убрать второй ненужный расчет из прерывания - то работает. С ним - нули. Если оставить второй расчет НО перенести стопы после 1wreset - тоже работает. :)

А в протеусе датчик может бяку показывать, в его свойствах нужно поменять Time slot на 30. И все замечательно будет. :)

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

Добавлено: Ср мар 23, 2011 17:25:45
edm2007
Igor_67, замечательно. Поправку отрицательной температуры только сделайте. А то будет обманывать на 1 градус и минус будет при 0 градусов. а -0С это как-то некрасиво. :)

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

Добавлено: Ср мар 23, 2011 17:46:16
Igor_67
Вот так сделал:

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

Dim Zn_flag As Bit
.
.
.
.
.

If Byte1 >= 248 Then                                        ' Проверяем на отрицательную температуру.248 в десятичном - 11111000 в двоичном. Если температура отрицательная - вычитаем из &HFF
Byte0 = &HFF - Byte0
Byte1 = &HFF - Byte1
Set Minus
Zn_flag = 1
Else
Reset Minus
Zn_flag = 0
End If
T1 = Byte0 / 16
T2 = Byte1 * 16
If Zn_flag = 1 Then
T1 = T1 + T2
T1 = T1 + 1
Else
T1 = T1 + T2
End If
Chislo(1) = T1 / 10
Chislo(2) = T1 Mod 10
Нормально? Показывает правильно :)

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

Добавлено: Ср мар 23, 2011 17:56:46
edm2007
Можно Minus в своих корыстных целях использовать :))

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

T1 = Byte0 / 16                                            
T2 = Byte1 * 16                                          
T1 = T1 + T2
                                                
If Minus = 1 Then
T1 = T1 + 1
End If
Или если с флагом то:

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

T1 = Byte0 / 16                                            
T2 = Byte1 * 16                                          
T1 = T1 + T2

If Zn_flag = 1 Then
T1 = T1 + 1
End If
Просто температуру все равно в кучу собирать. Это в любом случае, а так прыжков лишних не будет. :)

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

Добавлено: Ср мар 23, 2011 18:08:21
Igor_67
Ну да, пожалуй, с точки зрения "правильности" кода, так будет лучше :)

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

Добавлено: Ср мар 23, 2011 18:14:36
edm2007
Ну да. Нечего ему при положительной температуре в условие заходить. Пусть дальше топает. :) А если уж необходимо, тогда можно и зайти. :tea:

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

Добавлено: Ср мар 23, 2011 18:58:56
edm2007
Вот, накидал индикацию, про которую говорил выше. В железе проблемы могут быть из-за того что гашения как такового нет? Attiny2313+595

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

Добавлено: Ср мар 23, 2011 19:04:48
Igor_67
А что вместо "6" пишет "b" - это так задумано или сегмент не горит почему-то?

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

Добавлено: Ср мар 23, 2011 19:08:53
edm2007
Igor_67 писал(а):А что вместо "6" пишет "b" - это так задумано или сегмент не горит почему-то?
Не-е-е, это моя прихоть. Вот с сегментом как раз и получается Б. Не нравится мне так. :))

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

Добавлено: Ср мар 23, 2011 19:16:16
Igor_67
Ну это кагбэ, понятно. Переделал у себя на нормальную шестерку (так более привычно). А вот если будет какая-то переменная, будь она строковая или числовая, ее то как выводить?

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

Добавлено: Ср мар 23, 2011 19:21:08
edm2007
Что значит "как?" У себя же Вы разбивали на разряды, других вариантов я не вижу.

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

I(1)=
I(2)=
I(3)=
I(4)=
и т.д...........
Так же разбиваем на разряды и все. Например так:

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

Dim Chasy As Byte
Dim Minuty As Byte
Dim Secundy As Byte

Chasy = 12 : Minuty = 38 : Secundy = 54

......

I(1) = Chasy / 10
I(2) = Chasy Mod 10
I(3) = Minuty / 10
I(4) = Minuty Mod 10
I(5) = Secundy / 10
I(6) = Secundy Mod 10

......

Refresh:                        ' прерывание таймера Т0 (переполнение каждые ~4 мс)

Incr Count : If Count > 8 Then Count = 1   ' выбираем какой разряд сейчас включать

Ledout = Lookup(i(count) , Digits)              ' забираем код цифры

If Count = 2 Or Count = 4 Or Count = 6 Then  ' во 2, 4 и 6 разряде ставим точки
Ledout = Ledout Xor &B00000001
End If

Shiftout 595data , 595takt , Ledout        ' закидываем в регистр

Ledout = Lookup(count , Rank)              ' забираем номер разряда

Shiftout 595data , 595takt , Ledout        ' закидываем в регистр

Set 595latch                                         ' защелкиваем всю эту кучу
Reset 595latch

Return

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

Добавлено: Чт мар 24, 2011 15:56:29
dimon-790
народ подскажите кто в курсе , пишу простой счётчик импульсов на 89с2051 вроде всё сконфигурил как у Кулиша а чёт не сщитает :oops: вот исходник . Ткине носом где я натупил.?...

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

Добавлено: Чт мар 24, 2011 18:49:54
Секретный кот
edm2007 писал(а):Вот ресурсы-то как раз девать есть куда. :( Можно немного подробнее про это? Аппаратный на определенных ногах сидит. А если я меняю на другие ноги то разницы абсолютно никакой не вижу. :dont_know:
Так и неудивительно. Если оставить ноги "по умолчанию", то всё равно идёт программный I2C, но на ногах аппаратного :))

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

Добавлено: Чт мар 24, 2011 23:43:13
serg_svd
Секретный кот писал(а):...всё равно идёт программный I2C, но на ногах аппаратного :))
А как задействовать именно аппаратный I2C, можно пример?

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

Добавлено: Чт мар 24, 2011 23:45:41
edm2007
Секретный кот писал(а):Если оставить ноги "по умолчанию", то всё равно идёт программный I2C, но на ногах аппаратного :))
Так это понятно. Вот я тоже посмотрел бы с удовольствием на реализацию аппаратного.