( two wire
Humidity sensor of Sensirion ) on a 1-wire ( © Dallas semiconductor ) network.
Figure 1 Block schematic
** When a
SHT11 sensor is used, 11 I/O pins are free
See for the
schematic: schematic.gif.
Information in PDF format: 1-WireIOPort.pdf
HEX-file for a PIC16F628: HexFile (
after download rename the file to .hex )
Figure 2 Prototype of the 1-Wire SHT11 humidity sensor / IO port
The unit is controlled by the
1-Wire protocol of Dallas semiconductor.
Some basic commands are build in the PIC16F628.
ROM-functions:
Read ROM |
0x33 |
Match ROM |
0x55 |
Skip ROM |
0xCC |
Search ROM |
0x0F |
Memory / Control commands
Command |
Value |
Description |
Write Scratchpad |
0x4E |
Till 32 bytes can be written to the internal scratch
memory |
Read Scratchpad |
0xBE |
Till 32 bytes can be read from the internal
scratchpad ( no CRC ) |
Copy Scratchpad |
0x48 |
32 bytes are written to the Eeprom ( takes till 50mS
) |
Recall EEprom |
0xB8 |
32 bytes from Eeprom are copied into the scratchpad |
Convert Sensor |
0x44 |
Starts a conversion of the SHT11 sensor ( Takes apr.
300mS ) |
Read Sensor |
0x45 |
Reads the SHT11 conversion results ( 10 bytes ) |
Reset Counter |
0x01 |
Resets the 32 bits counter to zero |
Read Counter |
0x02 |
Reads the 32 bits counter ( message of 6 bytes ). Counter-input is PortA_4 |
Read IO-identification |
0x03 |
Read the IO-module identification |
Setup PortA |
0xF3 |
Sets the Port A pins to be Input or Output |
Setup PortB |
0xF4 |
Sets the Port B pins to be Input or Output |
Read PortA |
0xF5 |
Reads the contents of PortA ( inputs PortA_0..PortA_4),
6 bits |
Read PortB |
0xF6 |
Reads the contents of PortB ( inputs PortB_1..PortB_7),
7 bits |
Write PortA |
0xF7 |
Writes the value to PortA, 6 bits |
Write PortB |
0xF8 |
Writes the value to PortB, 7 bits |
On request a complete description of the commands can be send.