- Код: Выделить всё • Развернуть
$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.... заранее спасибо