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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Да? А в протеусе все замечательно работает. :dont_know: Правда назначение точек я там не понял. И еще, у Вас отсчет разрядов откуда идет? Слева или справа?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Реклама
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

Вот как раз, в Протеусе не работает! Отсчет справа.
Цапу крутить надо!!! Ку или не ку?
Реклама
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Работает. :)

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

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

И вообще, зачем и в коде и в прерывании расчет-то ? И при начальной загрузке пока температура не считалась он грузил несуществующее. Добавил прочерки. Термометр
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

To edm2007:тогда скажи, дорогой, в чем же у меня засада?
Цапу крутить надо!!! Ку или не ку?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

Все, не стоит волноваться. Все получилось! :))
edm2007, СПАСИБО!!! :beer:
Цапу крутить надо!!! Ку или не ку?
Реклама
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

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

А в протеусе датчик может бяку показывать, в его свойствах нужно поменять Time slot на 30. И все замечательно будет. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Реклама
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Igor_67, замечательно. Поправку отрицательной температуры только сделайте. А то будет обманывать на 1 градус и минус будет при 0 градусов. а -0С это как-то некрасиво. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение 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

Нормально? Показывает правильно :)
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение 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


Просто температуру все равно в кучу собирать. Это в любом случае, а так прыжков лишних не будет. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

Ну да, пожалуй, с точки зрения "правильности" кода, так будет лучше :)
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Ну да. Нечего ему при положительной температуре в условие заходить. Пусть дальше топает. :) А если уж необходимо, тогда можно и зайти. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Вот, накидал индикацию, про которую говорил выше. В железе проблемы могут быть из-за того что гашения как такового нет? Attiny2313+595
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

А что вместо "6" пишет "b" - это так задумано или сегмент не горит почему-то?
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Igor_67 писал(а):А что вместо "6" пишет "b" - это так задумано или сегмент не горит почему-то?


Не-е-е, это моя прихоть. Вот с сегментом как раз и получается Б. Не нравится мне так. :))
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

Ну это кагбэ, понятно. Переделал у себя на нормальную шестерку (так более привычно). А вот если будет какая-то переменная, будь она строковая или числовая, ее то как выводить?
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение 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
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

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

Сообщение dimon-790 »

народ подскажите кто в курсе , пишу простой счётчик импульсов на 89с2051 вроде всё сконфигурил как у Кулиша а чёт не сщитает :oops: вот исходник . Ткине носом где я натупил.?...
Вложения
impuls_counter.rar
(3.46 КБ) 171 скачивание
Последний раз редактировалось dimon-790 Чт мар 24, 2011 19:24:21, всего редактировалось 1 раз.
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

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

Сообщение Секретный кот »

edm2007 писал(а):Вот ресурсы-то как раз девать есть куда. :( Можно немного подробнее про это? Аппаратный на определенных ногах сидит. А если я меняю на другие ноги то разницы абсолютно никакой не вижу. :dont_know:

Так и неудивительно. Если оставить ноги "по умолчанию", то всё равно идёт программный I2C, но на ногах аппаратного :))
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

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

Сообщение serg_svd »

Секретный кот писал(а):...всё равно идёт программный I2C, но на ногах аппаратного :))

А как задействовать именно аппаратный I2C, можно пример?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

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


Так это понятно. Вот я тоже посмотрел бы с удовольствием на реализацию аппаратного.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Ответить

Вернуться в «AVR»