|
rumen
Ранг: Почетен член
Регистриран на: Чет Ное 25, 2004 3:42 pm Мнения: 913
|
 DS1820 & Proton
Протона си подържа даласките чипове :
OREAD Pin , Mode , [ InputData ]
OWRITE Pin , Mode , [ OutputData ]
Чесно казано не съм сигурен че разбрах въпроса на Милен.
Не виждам необходимост от използване на флоат.
Прилагам примерна програма Термометър. -- Взета е от хелпа.
DEVICE 16F84
DECLARE XTAL 4
SYMBOL DQ = PORTA.1 ' Place the DS1820 on bit-1 of PORTA
DIM Temp AS WORD ' Holds the temperature value
DIM C AS BYTE ' Holds the counts remaining value
DIM CPerD AS BYTE ' Holds the Counts per degree C value
CLS ' Clear the LCD before we start
Again:
OWRITE DQ, 1, [$CC, $44] ' Send Calculate Temperature command
REPEAT
DELAYMS 25 ' Wait until conversion is complete
OREAD DQ, 4, [C] ' Keep reading low pulses until
UNTIL C <> 0 ' the DS1820 is finished.
OWRITE DQ, 1, [$CC, $BE] ' Send Read ScratchPad command
OREAD DQ, 2,[Temp.LOWBYTE,Temp.HIGHBYTE, C, C, C, C, C, CPerD]
' Calculate the temperature in degrees Centigrade
Temp = (((Temp >> 1) * 100) - 25) + (((CPerD - C) * 100) / CPerD)
PRINT AT 1,1, DEC Temp / 100, ".", DEC2 Temp," ", AT 1,8,"C"
GOTO Again
|
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Това на Румен си работи на 6+, искам да видим обаче как на различни езици се преобразува число от 4 бита с отрицателни степени на 2-та в стринг? Примерно 1010 -> "625"
|
|
ps66
Ранг: Форумен бог
Регистриран на: Пет Яну 19, 2007 9:16 am Мнения: 1063 Местоположение: путинофили: "иди н***й"
|
това си е питане за първолаци
(а дали е С, Паскал, Базик ... е все тая)
|