LCD1602显示屏+DS18B20测温C51单片机驱动源码KEIL工程文件,可作为你的学习设计参考。 void main() { LCD1602_Init(); //初始化LCD1602 DS1302_Init(); //初始化DS1302 LCD1602_write_com(0x80); LCD1602_write_word("Welcome to use!"); Temp_Buffer = Get_temp(); //读取DS18B20的值 Delay_ms(1000); LCD1602_write_com(0x01); //清屏 while(1) { DS1302_GetTime(&DS1302Buffer); //获取当前RTCC值 if(Flag_Time_Refresh == 1 && Flag_KEY_Set == 0) //数据更新时才刷新LCD { Flag_Time_Refresh = 0; Display_RTCC(); //显示实时时钟 Display_Temp(); //获取并显示温度值 } Scan_Key(); //按键扫描 switch( KEY_NUM ) { case 1: //按键1执行程序 KEY_NUM = 0; //清空按键标志 Flag_KEY_Set = ~Flag_KEY_Set; //设置按键标志位翻转 if(Flag_KEY_Set) { LCD1602_write_com(0x0d); //LCD1602指针闪烁开 LCD1602_write_com(0x80+ 3); //指针设置到第一行第4列 KEY2_Count = 0; //按键S2计数清零 } else { LCD1602_write_com(0x0c); //LCD1602指针闪烁关 } break; case 2: //按键2执行程序 KEY_NUM = 0; //清空按键标志 if(Flag_KEY_Set) //在设置状态时运行 { KEY2_Count++; if(KEY2_Count == 7) KEY2_Count = 0; switch(KEY2_Count) { case 0: LCD1602_write_com(0x80+ 3); //指针指向年,闪烁 break; case 1: LCD1602_write_com(0x80+ 6); //指针指向月,闪烁 break; case 2: LCD1602_write_com(0x80+ 9); //指针指向日,闪烁 break; case 3: LCD1602_write_com(0x80+ 15); //指针指向星期,闪烁 break; case 4: LCD1602_write_com(0x80+ 0x40 + 1); //指针指向小时,闪烁 break; case 5: LCD1602_write_com(0x80+ 0x40 + 4); //指针指向分钟,闪烁 break; case 6: LCD1602_write_com(0x80+ 0x40 + 7); //指针指向秒钟,闪烁 break; default : break; } } break; case 3: //按键3执行程序 KEY_NUM = 0; //清空按键标志 if(Flag_KEY_Set) //在设置状态时运行 { switch(KEY2_Count) { case 0: DS1302Buffer.Year++; if(DS1302Buffer.
基于DS18B20+数码管Proteus软件仿真显示,自已用Proteus软件成功仿真过,可以正确地显示数据。
2022-01-27 16:25:53 70KB DS18B20+仿真
1
STM32F103RBT6+DS18B20+MAX66675温控板AD设计原理图+PCB+PID算法工程软件源码,硬件采用2层板设计,大小为143*81毫米,包括完整的原理图pcb及生产BOM文件,软件包括PID温度控制算法程序文件及学习文档资料,可做为你的学习设计参考。
DS18B20温度传感器+protues仿真+基于C51单片机的开发+拥有两个LCD显示屏显示
2022-01-18 14:41:46 177KB proteus ds18b20
1
对于初步接触DS18B20温度模块的有较好的帮助。
2022-01-17 15:04:54 326KB c语言 单片机
1
1、本设计采用PIC16F887单片机作为主控器。 2、DS18B20采集温度值,送到液晶1602显示。 3、按键设置上下限。 4、实际温度小于下限,加热继电器打开,实际温度大于上限,降温继电器打开。 支持方案定制,及实物代开发,详情咨询:扣扣3354823520(备注CSDN)
2022-01-17 11:01:51 550KB PIC单片机 DS18B20 液晶1602
STM32F407单片机读写 DS18B20温度传感器 并串口屏显示DEMO软件例程源码,可以做为你的学习设计参考。 int main(void) { uint8_t DS18B20ID[8]; float temperature; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); HMI_USARTx_Init(); while(DS18B20_Init()) { printf("DS18B20温度传感器不存在\n"); HAL_Delay(1000); } printf("检测到DS18B20温度传感器,并初始化成功\n"); DS18B20_ReadId(DS18B20ID); /* 无限循环 */ while (1) { temperature=DS18B20_GetTemp_MatchRom(DS18B20ID); /* 打印通过 DS18B20 序列号获取的温度值 */ printf("获取该序列号器件的温度:%.1f\n",temperature); HMI_value_setting("page1.gross.val",temperature*10); HAL_Delay(1000); } } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_value_setting(const char *val_str,uint32_t value) { uint8_t tmp_str[30]={0}; uint8_t i; sprintf((char *)tmp_str,"%s=%d",val_str,value); for(i=0;iDR=tmp_str[i]; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } /** * 函数功能: 向串口屏发送浮点数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_string_setting(const char *val_str,int32_t value) { uint8_t tmp_str[50]={0}; uint8_t i; float temp=(float)value; sprintf((char *)
早产儿智能恒温鸟巢式水床,相比传统的恒温箱,能够更好的模拟母体子宫环境,给早产儿一个安全舒适的成长空间。基于S3C2440 和DS18B20的恒温水床控制系统,以S3C2440作为数据采集单元,数字温度传感器DS18B20作为温度检测元件,通过QT开发,设计了智能友好的人机交互界面。引入了模糊自适应控制算法,建立PID控制数学模型,实现控制精度提高。整个系统设有温度报警装置,保证了早产儿水床系统的安全性和可靠性。
2022-01-11 14:44:51 3.26MB ARM微处理器; DS18B20; PID; QT开发
1
ds18b20测温驱动文档和18B20寄生电源程序资料.c语言代码
2022-01-11 08:47:30 178KB ds18b20 测温 文档 源程序
1