全球旧事资料 分类
forj0j

fori0i27i

voidDelay_10usvoid
U8iiiiiii
voidCOMvoid
U8i
fori0i8i
U8FLAG2whileP2_0U8FLAG
Delay_10usDelay_10usDelay_10us
fU8temp0ifP2_0U8temp1
U8FLAG2whileP2_0U8FLAG超时则跳出for循环ifU8FLAG1break判断数据位是0还是1
如果高电平高过预定0高电平值则数据位为1
U8comdata1
U8comdataU8temp
0
rof

湿度读取子程序以下变量均为全局变量温度高8位U8T_data_H温度低8位U8T_data_L湿度高8位U8RH_data_H湿度低8位U8RH_data_L校验8位U8checkdata调用相关子程序如下DelayDelay_10usCOM
voidRHvoid

主机拉低18ms
P2_00
Delay180
P2_01
总线由上拉电阻拉高主机延时20us
Delay_10us
Delay_10us
Delay_10us
Delay_10us
主机设为输入判断从机响应信号
P2_01
判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行
ifP2_0
T
fU8FLAG2判断从机是否发出80us的低电平响应信号是否结束whileP2_0U8FLAGU8FLAG2判断从机是否发出80us的高电平,如发出则进入数据接收状态whileP2_0U8FLAG数据接收状态COMU8RH_data_H_tempU8comdataCOMU8RH_data_L_tempU8comdataCOMU8T_data_H_tempU8comdataCOMU8T_data_L_tempU8comdataCOMU8checkdata_tempU8comdataP2_01数据校验
U8tempU8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_temp
ifU8tempU8checkdata_temp
U8RH_data_HU8RH_data_H_tempU8RH_data_LU8RH_data_L_tempU8T_data_HU8T_data_H_tempU8T_data_LU8T_data_L_tempU8checkdataU8checkdata_tempfifi
mai
功能描述AT89C51110592MHz串口发送温湿度数据波特率9600voidmai
U8ij
fucharstr6
好听全球资料 返回顶部