单片机源程序如下:
- //#include "led.h"
- #include "delay.h"
- //#include "sys.h"
- #include "usart.h"
- #include "MCP9808.h"
- #include "stm32f10x.h"
- #include "i2c.h"
- #include "stdio.h"
- /************************************************
- MCP9808温度传感器串口测试
- MCP9808的SCL口接PB8,SDA口接PB9,alert不接
- MCP9808自带上拉电阻,无须外加
- MCP9808的A2、A1、A0不接,从电路原理图中可以看到它们是下拉接地
- 默认地址是0X30,0011 A2A1A0X(X=0写,X=1读),可通过修改MCP9808.h中的ADDRESSBYTE改变
- ************************************************/
-
-
- int main(void)
- {
- float TP = 0.0;
- delay_Init(); //延时函数初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
- usart_config(); //串口初始化为115200
- // LED_Init(); //初始化与LED连接的硬件接口
- MCP9808_init();
-
-
- while(1)
- {
- // LED0 = !LED0;
- usart_printf("\r\n温度实验测试\r\n");
- TP = MCP9808_ReadTP();
- usart_printf("%.2f℃\r\n",TP);
- delay_ms(1000000000);
- }
- }
- int fputc(int ch,FILE *f) //printf重定向函数
- {
- USART_SendData(USART1,(uint8_t)ch); //发送一字节数据
- while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET); //等待发送完成
- return ch;
- }
复制代码
所有程序51hei提供下载:
MCP9808.7z
(26.75 KB, 下载次数: 56)
|