Составлять таблицу Погрешностей ? Может есть другой метод?
Спасибо.Код Фото протеуса во вложении .
I2cstart
I2cwbyte &H80 'адрес микросхемы-датчика SHT21
I2cwbyte &HE5 'выбор измерения влажности в нормальном режиме
Waitms 100 'измерение
I2cstart
I2cwbyte &H81 'чтение результата измерения
I2crbyte Data1 , Ack 'прием старшего байта, ждем слудующий байт
I2crbyte Data2 , Ack 'прием младшего байта
I2crbyte Crc , Nack 'прием байта контрольной суммы (можно на него забить)
I2cstop 'конец общения
' C Даташита
Dataw = Data1
Shift Dataw , Left , 10
Dataw = Dataw + Data2
H = Dataw * 125
H = H / 65536
H = H - 6
T = T * 10 ' T Single Из Т=36,7ххххххх получаем Т=367,хххххх
Cb = Round(t) ' Cb Integer Получаем 367 ровно
Cifri(1) = Cb \ 100 ' Выводим на первую цифру (десятки) тройку Cifri(x)integer
Cifri(5) = cb mod 10 ' Выводим десятую часть Семерку (после точки)
t3 = Cifri(1)* 100 ' t3 integer получаем сотни 300 без 67
cb = cb - t3 ' получаем 67 без 300
Cifri(2) = Cb \ 10 ' Выводим еденици шестерку из 67
' Т выводит хорошо с Н, ниже проблема
H = H * 10
Cb = Round(h)
Cifri(3) = Cb \ 100
Cifri(6) = Cb mod 10
h3 = Cifri(3)* 100
cb = cb - h3
Cifri(4) = Cb \ 10
Cls 'LCD Для отладки
Locate 1 , 1
Lcd h
Wait 1
- Вложения
-
- Sht21.png
- (21.19 КБ) 217 скачиваний
-
- SHT21_Proteus.png
- (34.18 КБ) 232 скачивания




