Страница 70 из 304
Re: BASCOM AVR в вопросах и ответах
Добавлено: Ср мар 23, 2011 16:25:17
edm2007
Да? А в протеусе все замечательно работает.

Правда назначение точек я там не понял. И еще, у Вас отсчет разрядов откуда идет? Слева или справа?
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, СПАСИБО!!!

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
Ну да. Нечего ему при положительной температуре в условие заходить. Пусть дальше топает.

А если уж необходимо, тогда можно и зайти.

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
Что значит "как?" У себя же Вы разбивали на разряды, других вариантов я не вижу.
Так же разбиваем на разряды и все. Например так:
Код: Выделить всё
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 вроде всё сконфигурил как у Кулиша а чёт не сщитает

вот исходник . Ткине носом где я натупил.?...
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 24, 2011 18:49:54
Секретный кот
edm2007 писал(а):Вот ресурсы-то как раз девать есть куда.

Можно немного подробнее про это? Аппаратный на определенных ногах сидит. А если я меняю на другие ноги то разницы абсолютно никакой не вижу.

Так и неудивительно. Если оставить ноги "по умолчанию", то всё равно идёт программный I2C, но на ногах аппаратного

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

А как задействовать именно аппаратный I2C, можно пример?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 24, 2011 23:45:41
edm2007
Секретный кот писал(а):Если оставить ноги "по умолчанию", то всё равно идёт программный I2C, но на ногах аппаратного

Так это понятно. Вот я тоже посмотрел бы с удовольствием на реализацию аппаратного.