PIC与传感器及键盘编程全解析
1. PIC与DHT11传感器通信原理
PIC与DHT11传感器通信的主要原理是,PIC先初始化与DHT11的通信,之后DHT11会返回40位数据,这些数据可用于传递传感器的湿度和温度读数。我们会创建一个名为“mess”的数组来存储返回的数据,40位数据构成5个字节。前四个字节包含湿度和温度读数,最后一个字节是DHT11在传输数据到PIC之前,将前四个字节相加的结果,这个结果被称为“校验和”。PIC需要自己计算前四个字节的校验和,并与接收到的第五个字节进行比较,以确认数据的有效性。如果两个校验和不一致,就会出现“校验和错误”,数据将不被使用。
2. 代码详细分析
以下是部分关键代码:
107. displayreading (mess[2]);
108. writeString(" 0C");
109. }
110. else writeString ("no response");
111. delay(155);
112. goto getreading;
113. }
- 初始化通信部分
-
getreading: dataddr = 0;:这里的“dataddr”定义为TRISDbits.RD0(即PORTD的TRIS寄存器中的第0位),此指令将该位的逻辑设置为0,使PORTD的第0位成为输出。使用“getreading”标签是为了在后续代码(第112行)中让PIC回到这一行重新
-
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



