蓝桥杯 DS18B20

该代码段主要涉及DS18B20温度传感器的数据读取和处理。函数temp_18b20初始化传感器并读取高低字节温度值,然后将其转换为浮点数表示的温度。主函数中,当ds1302_fla标志为1时,更新温度值并显示在ds1302_disp数组中。
摘要由CSDN通过智能技术生成

DS18B20主函数

            if(ds1302_fla == 1){
                ds1302_fla = 0;
            ds1302_value = temp_18b20();
            
            ds1302_disp[0] = smg_du[(unsigned int)(ds1302_value / 10)];
            ds1302_disp[1] = smg_du[(unsigned int)ds1302_value % 10 +  32];
            ds1302_disp[2] = smg_du[(unsigned int)(ds1302_value * 10) % 10];
            ds1302_disp[3] = smg_du[(unsigned int)(ds1302_value * 100) % 10];
            ds1302_disp[4] = smg_du[(unsigned int)(ds1302_value * 1000) % 10];
            ds1302_disp[5] = smg_du[(unsigned int)(ds1302_value * 10000) % 10];

            }

h文件(需要把时间x12)

float temp_18b20(void){
    
    unsigned char temp_low,temp_high;
    
    Init_DS18B20();
    Write_DS18B20(0xcc);
    Write_DS18B20(0x44);
    
    Init_DS18B20();
    Write_DS18B20(0xcc);
    Write_DS18B20(0xbe);

    temp_low = Read_DS18B20();
    temp_high = Read_DS18B20();
    
    return 0.0625 * (float)((unsigned int)temp_high << 8 | temp_low);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值