基于c52数字温度计keil代码和proteus仿真图
时间: 2024-03-31 08:36:34 浏览: 123
以下是一个基于C52的数字温度计的Keil代码和Proteus仿真图。
Keil代码:
```c
#include <reg52.h>
#include "delay.h"
#include "lcd1602.h"
#include "ds18b20.h"
#include "stdio.h"
#define DS18B20_GPIO P3
#define DS18B20_GPIO_PIN 0x01
void main()
{
float temp;
char temp_str[16];
LCD_Init();
DS18B20_Init(DS18B20_GPIO, DS18B20_GPIO_PIN);
while (1)
{
temp = DS18B20_GetTemp();
sprintf(temp_str, "%.1fC", temp);
LCD_ShowString(0, 0, "Temp:");
LCD_ShowString(5, 1, temp_str);
delay_ms(1000);
}
}
```
Proteus仿真图:
![Proteus仿真图](https://img-blog.csdn.net/20180514203321878?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JlYWxseWluZ19qaWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)
注:DS18B20使用单总线协议,连接在P3.1引脚上。LCD1602显示温度,连接在C52的I2C总线上。
阅读全文