roboforum.ru

Технический форум по робототехнике.
Текущее время: 21 май 2025, 10:35

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: DS1821.....
СообщениеДобавлено: 11 июн 2008, 19:57 
Вот код

Код:
$regfile = "m128def.dat"
$crystal = 14745600
$lib "glcdKS108.lib"
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 1 , Ce2 = 0 , Cd = 4 , Rd = 3 , Reset = 2 , Enable = 5

Setfont Font16x16
'Setfont Font8x8


Config 1wire = Portd.6                                      'DS1821 DQ на PD6

Dim Ar As Byte                                              'Variablenname und Typ festlegen
Dim Temperatur As Integer


Cls                                                         'сброс LCD

Do                                                          'Beginn der Schleife
  1wreset                                                   'Сброс DS1821
  1wwrite &HEE                                              'Старт конвектора температуры
Waitms 100                                                 'задержка 100 милисикунд
  1wreset                                                   'сброс DS1821
  1wwrite &HAA                                              'DS1821 sende Daten an Atmel
Ar = 1wread()                                              'lesen die empfangenen Daten
  1wwrite &H22                                              'stop Temperaturkonvertierung
  Temperatur = Ar                                           'Temperatur ?bergeben
  If Temperatur > 127 Then                                  'wenn negative Temperatur
Lcdat 4 , 1 , "-"                                           'dann "Minus" auf LCD ausgeben
    Temperatur = 256 - Temperatur                           'und negative Temperatur berechnen
  Else                                                      'wenn nicht
Lcdat 4 , 20 , " "                                          'dann Leerzeichen auf LCD ausgeben
  End If
Lcdat 4 , 40 , Temperatur ;                                 'Temperatur ausgeben
Lcdat 4 , 80 , " C "                                        'Ausgabe des Textes auf LCD
  Wait 1                                                    'задержка 1 сеуунда
Loop



End
$include "font8x8.font"
$include "font16x16.font"





Проблема в том что при измерении от +10 до 0 до -10 идет отображение знаков от 1 до 9 с нулем в переди, получается вместо -5 ---> -50 градусов. Подскажите как избавиться от етого ноля когда индикация идет от 0 до 9.... заранее спасибо


Вернуться к началу
  
 
 Заголовок сообщения: Re: DS1821.....
СообщениеДобавлено: 12 июн 2008, 19:03 
Разобрался что при индикации например со 100 на 99 и далее вниз и у нас на десплее получается 990,980,970.... с дисплея не стирается 3 разряд. Или 2 когда с 10 на 9. Решено путем очистки всего дисплее командой CLS....


Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO