А там уже выдергивайте эти десятые как хотите, отдельно или в одну переменную, это уже как Вам удобнее...
BASCOM AVR в вопросах и ответах
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
WildCat, Ваше желание разобраться во всем достойно уважения. Есть конечно готовые исходники, но все же стоит разобраться хотя бы для своих будущих конструкций. Не думаю что Вас устроит готовый код под Вашу задачу. Интереснее же самому разобраться. Тем более что там ничего сложного нет.
Посмотрите описание датчика на русском, особенно на младший байт (LS Byte), младшие 4 бита которого содержат десятые. И Вы все поймете. Даташит DS18B20 на русском.
А там уже выдергивайте эти десятые как хотите, отдельно или в одну переменную, это уже как Вам удобнее...
А там уже выдергивайте эти десятые как хотите, отдельно или в одну переменную, это уже как Вам удобнее...
Последний раз редактировалось edm2007 Вс май 15, 2011 15:20:35, всего редактировалось 2 раза.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Там вроде не весь байт, а только младшие 4 бита отвечают за дробную часть.edm2007 писал(а):особенно на младший байт
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Мурик, разумеется. Просто это было уже рассмотрено немного выше. Я думаю все поняли. 
Я исправил свое сообщение, так будет понятнее, я думаю. Спасибо, Мурик.
edm2007 писал(а):Я показал как в ОТДЕЛЬНУЮ переменную забрать по маске из младшего байта температуры 4 младших бита (в которых содержатся десятые).
Я исправил свое сообщение, так будет понятнее, я думаю. Спасибо, Мурик.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):Igor_67 писал(а):Да она (переменная) так и выводится - с десятыми! В протеусе сделай симуляцию с LCD, сам увидишь!
Игорь, Ваша переменная забирает только целые, Вы ведь сначала убрали 4 бита десятых сдвигом , и только потом забрали значение. В результате десятые будут затерты. Вы десятые убили сдвигом T = Byte0 / 16. Оно конечно выводит с запятой, но только 15,0 - 16,0 - 17,0... Или у Вас там какой-то секрет ?
Да какие там секреты? У меня от народа секретов нет!
Весь проект в архиве - смотрите! Только предупреждаю, кнопки пока не доделаны.
Цапу крутить надо!!! Ку или не ку?
Re: BASCOM AVR в вопросах и ответах
Подскажите, как вызвать в proteuse окно с исходником на Bascom. Во время пошагового прохода что-то задел мышей и появилось окно с кодом. Но теперь никак не могу его вызвать.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Я тут для одного товарища писал небольшую обучалку по симулятору совместно с баскомом. Если я Вас правильно понял, то держите: Proteus + Bascom AVR - Пошаговая отладка. Там просто simproteus.html браузером откройте, а картинки подгрузятся...
Последний раз редактировалось edm2007 Ср дек 28, 2011 19:06:22, всего редактировалось 1 раз.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Спасибо! Полезная информация!
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Да на здоровье.
Там вообще много полезного, если используется DS18B20 или DS1307 (да и вообще много чего), то можно вывесить окно этого агрегата и смотреть непосредственно что находится в регистрах того же датчика... Пользительно. 
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Igor_67, как я понимаю там сдвинется только целая часть, не затронув дробную. Ну и обрезка Single... Интересно.
Только вот +0,0 С / -0,0 С не очень смотрится... 
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):Igor_67, как я понимаю там сдвинется только целая часть, не затронув дробную. Ну и обрезка Single... Интересно.Только вот +0,0 С / -0,0 С не очень смотрится...
Ну это можно и поправить
Код: Выделить всё
Do
Debounce But5 , 0 , Knopka5 , Sub
1wreset
1wwrite &HCC ' Выдаем команду чтения ПЗУ
1wwrite &H44 ' Запуск измерения
Waitms 750 ' Ждем окончания преобразования
1wreset
1wwrite &HCC
1wwrite &HBE ' Команда чтения ОЗУ датчика
Byte0 = 1wread() ' Читаем нулевой байт
Byte1 = 1wread() ' Читаем первый байт
If Byte1 >= 248 Then ' Проверяем на отрицательную температуру.
Byte0 = &HFF - Byte0 ' 248 в десятичном - 11111000 в двоичном.
Byte1 = &HFF - Byte1 ' Если температура отрицательная - вычитаем из &HFF
Znak = "-"
Else
Znak = "+"
End If
T = Byte0 / 16
T2 = Byte1 * 16
T = T + T2
If T = 0.0 And Znak = "-" Then Znak = " "
If T = 0.0 And Znak = "+" Then Znak = " "
Call Gettime()
Cls
Locate 1 , 1
Lcd Hex(h) ; ":" ; Hex(m) ; ":" ; Hex(s) ; " " ; Znak ; T ; Chr(0) ; "C"
'Print #1 , Hex(h) ; ":" ; Hex(m) ; ":" ; Hex(s)
Waitms 250
LoopIf T = 0.0 Then Znak= " ", а плюс и минус ваще похрен!
Кстати, ни один кот за опрос кнопок так ничё и не сказал, а я ж таки задавал вопрос???
Цапу крутить надо!!! Ку или не ку?
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):Я тут для одного товарища писал небольшую обучалку по симулятору совместно с баскомом. Если я Вас правильно понял, то держите: Proteus + Bascom AVR - Пошаговая отладка. Там просто simproteus.html браузером откройте, а картинки подгрузятся...
Миш, если не секрет, откуда "дровишки" ?(в смысле, такие подробные сведения о Proteus-e?). Может хоть сцылочку дашь?
Цапу крутить надо!!! Ку или не ку?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Igor_67 писал(а):Миш, если не секрет, откуда "дровишки" (в смысле, такие подробные сведения о Proteus-e?).
Игорь, да любопытство банальное. Кнопочек-то много, все потыкать надо.
А про кнопки... Так это тебе виднее как они там должны работать, я вообще на DS1307 две кнопки делал (ног больше не осталось). SET - установка часов - SET - установка минут - SET - установка числа.... Ну и все в этом духе, вобщем...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Не-е-е, две кнопки мало и неудобно очень, поэтому будет пять! Пятая - выбор режима (установка даты/установка времени/программирование термостата/основной режим(индикация времени и температуры). Первая - инкремент любого значения в старших разрядах (например в часах - часов, в числе месяца - чисел месяца), Вторая - инкремент любого значения в старших разрядах (например в минутах - минут, в месяцах - месяцев), годы не корректируются. Третья и Четвертая - декремент тех же значений. Ну и в режиме установки термостата - два подрежима: 1 - установка верхнего предела и 2 - установка нижнего предела. Там же опрос кнопок на установку границ диапазона регулирования температуры, скажем, что 1 кнопка задает целые доли градусов, а 2 кнопка - десятые. Всяческие нововведения приветствуются!
Ну так как, слабо помочь нехилому проекту? Сдается мне это будет термостат с управлением по времени, т.е. проще говоря, автомат поддержания температуры в нескольких точках (до 64!!!). Все равно ведь потом все это будет всенародным достоянием... Я, как вы уже успели убедиться, альтруист. Мне наград не надо, лишь бы было народу полезно!
Ну так как, слабо помочь нехилому проекту? Сдается мне это будет термостат с управлением по времени, т.е. проще говоря, автомат поддержания температуры в нескольких точках (до 64!!!). Все равно ведь потом все это будет всенародным достоянием... Я, как вы уже успели убедиться, альтруист. Мне наград не надо, лишь бы было народу полезно!
Цапу крутить надо!!! Ку или не ку?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Igor_67 писал(а):Не-е-е, две кнопки мало и неудобно очень, поэтому будет пять!
Ну для всяких термостатов и прочих наворотов конечно мало.
А с Вашим проектом лично я не против повозиться в свободное время. Времени только не очень много... А так может еще кто подключится.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Ну, так я надеюсь на вас, господа!!!???
Цапу крутить надо!!! Ку или не ку?
- kip96
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Ср авг 26, 2009 08:24:50
- Откуда: 1300км от Пупа
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):там ног маловато а разрядов LED 6 штук
Кстати, это не проблемма. Делал себе таймер на 2313, использовал четаре разряда, кварц, и шесть(реально можно восемь) кнопок, ну и выход на реле. При этом ресет сохранён. портВ- сегменты, портД -всё остальное.
ЗЫ
только Тини, и ничего кроме!
Все делают ошибки, только мудрецы - новые, а дураки - старые.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Если Вас не затруднит, расскажите пожалуйста подробнее.
Я вот что-то не сообразил. 8 на сегменты - 6 на разряды, 2 на DS1307 - 2 питания - 1 ресет = 1 вывод только свободный. Я точками жертвовал, от нужных разрядов их цеплял чтобы освободить под вторую кнопку.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- kip96
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Ср авг 26, 2009 08:24:50
- Откуда: 1300км от Пупа
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):- 6 на разряды....... 1 вывод только свободный
Вот этот свободный вывод( пусть он будет Int0) подключаешь к 6-ти разрядам через кнопки. А далле всё просто - Нажимаем кнопку подключённую к первому разряду и в прерывании проверяем-Select case rasrjad ; case1: incr H; case2: decr H , ну и т.д.
При этом, конечно, нужно держать кнопку нажатой что-бы проскочили все разряды
А если серьёзно, то для защиты нужно кнопки через диоды включать, чтоб плюс на минус не лёг. Дома проект в протеусе есть, если не понял вечером выложу.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Доброго времени суток !
Разбираюсь с часиками DS1307, оказалось, что у меня нет библиотеки ds1307clock.lib
в дистрибутиве Баскома... Пример программы есть, а библиотеки нет. Может кто-нибудь поделится ?
Спасибо !
Разбираюсь с часиками DS1307, оказалось, что у меня нет библиотеки ds1307clock.lib
в дистрибутиве Баскома... Пример программы есть, а библиотеки нет. Может кто-нибудь поделится ?
Спасибо !
С уважением,
Алексей.
Алексей.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
kip96, спасибо, я идею понял. Интересный ход. Есть конечно нюансы, в плане записи потом измененных значений даты и времени, но это уже другое... 
Gordon Shumway, интересно, куда же это она делась...
Gordon Shumway, интересно, куда же это она делась...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон