Правда назначение точек я там не понял. И еще, у Вас отсчет разрядов откуда идет? Слева или справа?BASCOM AVR в вопросах и ответах
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Да? А в протеусе все замечательно работает.
Правда назначение точек я там не понял. И еще, у Вас отсчет разрядов откуда идет? Слева или справа?
Правда назначение точек я там не понял. И еще, у Вас отсчет разрядов откуда идет? Слева или справа?"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Реклама
Re: BASCOM AVR в вопросах и ответах
Вот как раз, в Протеусе не работает! Отсчет справа.
Цапу крутить надо!!! Ку или не ку?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Работает.
**************************************
Если слева то расчет надо было так и делать. Сначала разделенная на 10 в первый разряд а потом остаток от деления во второй.
Прошу прощения, был невнимателен. Просто сам слева делаю всегда, по порядку. Тогда исправить надо.
**************************************
И вообще, зачем и в коде и в прерывании расчет-то ? И при начальной загрузке пока температура не считалась он грузил несуществующее. Добавил прочерки. Термометр
**************************************
Если слева то расчет надо было так и делать. Сначала разделенная на 10 в первый разряд а потом остаток от деления во второй.
Прошу прощения, был невнимателен. Просто сам слева делаю всегда, по порядку. Тогда исправить надо.
**************************************
И вообще, зачем и в коде и в прерывании расчет-то ? И при начальной загрузке пока температура не считалась он грузил несуществующее. Добавил прочерки. Термометр
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
To edm2007:тогда скажи, дорогой, в чем же у меня засада?
Цапу крутить надо!!! Ку или не ку?
Re: BASCOM AVR в вопросах и ответах
Все, не стоит волноваться. Все получилось!
edm2007, СПАСИБО!!!
edm2007, СПАСИБО!!!

Цапу крутить надо!!! Ку или не ку?
- Реклама
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Интересная штука получается, кстати. Если оставить стопы таймера как было изначально после 1wreset НО убрать второй ненужный расчет из прерывания - то работает. С ним - нули. Если оставить второй расчет НО перенести стопы после 1wreset - тоже работает.
А в протеусе датчик может бяку показывать, в его свойствах нужно поменять Time slot на 30. И все замечательно будет.
А в протеусе датчик может бяку показывать, в его свойствах нужно поменять Time slot на 30. И все замечательно будет.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Igor_67, замечательно. Поправку отрицательной температуры только сделайте. А то будет обманывать на 1 градус и минус будет при 0 градусов. а -0С это как-то некрасиво. 
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Вот так сделал:
Нормально? Показывает правильно
Код: Выделить всё
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Нормально? Показывает правильно
Цапу крутить надо!!! Ку или не ку?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Можно 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 в вопросах и ответах
Ну да, пожалуй, с точки зрения "правильности" кода, так будет лучше 
Цапу крутить надо!!! Ку или не ку?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Ну да. Нечего ему при положительной температуре в условие заходить. Пусть дальше топает.
А если уж необходимо, тогда можно и зайти. 

"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Вот, накидал индикацию, про которую говорил выше. В железе проблемы могут быть из-за того что гашения как такового нет? Attiny2313+595
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
А что вместо "6" пишет "b" - это так задумано или сегмент не горит почему-то?
Цапу крутить надо!!! Ку или не ку?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Igor_67 писал(а):А что вместо "6" пишет "b" - это так задумано или сегмент не горит почему-то?
Не-е-е, это моя прихоть. Вот с сегментом как раз и получается Б. Не нравится мне так.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Ну это кагбэ, понятно. Переделал у себя на нормальную шестерку (так более привычно). А вот если будет какая-то переменная, будь она строковая или числовая, ее то как выводить?
Цапу крутить надо!!! Ку или не ку?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Что значит "как?" У себя же Вы разбивали на разряды, других вариантов я не вижу.
Так же разбиваем на разряды и все. Например так:
Код: Выделить всё
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
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- dimon-790
- Мучитель микросхем
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
народ подскажите кто в курсе , пишу простой счётчик импульсов на 89с2051 вроде всё сконфигурил как у Кулиша а чёт не сщитает
вот исходник . Ткине носом где я натупил.?...
- Вложения
-
- impuls_counter.rar
- (3.46 КБ) 171 скачивание
Последний раз редактировалось dimon-790 Чт мар 24, 2011 19:24:21, всего редактировалось 1 раз.
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):Вот ресурсы-то как раз девать есть куда.Можно немного подробнее про это? Аппаратный на определенных ногах сидит. А если я меняю на другие ноги то разницы абсолютно никакой не вижу.
Так и неудивительно. Если оставить ноги "по умолчанию", то всё равно идёт программный I2C, но на ногах аппаратного
Даже остановленные часы два раза в сутки показывают правильное время.
Re: BASCOM AVR в вопросах и ответах
Секретный кот писал(а):...всё равно идёт программный I2C, но на ногах аппаратного
А как задействовать именно аппаратный I2C, можно пример?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Секретный кот писал(а):Если оставить ноги "по умолчанию", то всё равно идёт программный I2C, но на ногах аппаратного
Так это понятно. Вот я тоже посмотрел бы с удовольствием на реализацию аппаратного.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


