亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
基于STM32f103的紅外測(cè)溫儀程序(測(cè)溫模塊MLX90614,芯片GY906)
[打印本頁(yè)]
作者:
DOOMSKYWR
時(shí)間:
2020-9-22 09:23
標(biāo)題:
基于STM32f103的紅外測(cè)溫儀程序(測(cè)溫模塊MLX90614,芯片GY906)
之前集訓(xùn)要求做的紅外測(cè)溫儀,采用STM32F103系列作為主控,利用MLX90614采集溫度,配以O(shè)LED顯示以及flash存儲(chǔ)數(shù)據(jù)(5個(gè)).
請(qǐng)不要問(wèn)我要電路圖,一是沒時(shí)間,二是程序源碼里面對(duì)每個(gè)模塊接哪個(gè)IO口都是可以看見的,電子設(shè)計(jì)是靈活的.
下面貼出部分源碼,完整程序的壓縮包在附件.
單片機(jī)源程序如下:
gy906_gpio.h
#ifndef __GY906_GPIO_H_
#define __GY906_GPIO_H_
#include <inttypes.h>
#define macI2C_WR 0 /* 寫控制bit */
#define macI2C_RD 1 /* 讀控制bit */
/* 定義I2C總線連接的GPIO端口,用戶只需要修改下面四行代碼就可以任意改變SCL,SDA的引腳 */
#define macGPIO_PORT_I2C GPIOB /* GPIO端口 */
#define macRCC_I2C_PORT RCC_APB2Periph_GPIOB /* GPIO時(shí)鐘 */
#define macI2C_SCL_PIN GPIO_Pin_9 /* 連接到SCL時(shí)鐘線的GPIO */
#define macI2C_SDA_PIN GPIO_Pin_8 /*連接到SDA時(shí)鐘線的GPIO */
/* 定義讀寫SCL,SDA的宏,以便增加代碼的可移植性和可閱讀性 */
#if 0 /*條件編譯:選擇GPIO的庫(kù)函數(shù)實(shí)現(xiàn)IO讀寫 */
#define macI2C_SCL_1() GPIO_SetBits(macGPIO_PORT_I2C, macI2C_SCL_PIN) /* SCL = 1 */
#define macI2C_SCL_0() GPIO_ResetBits(macGPIO_PORT_I2C, macI2C_SCL_PIN) /* SCL = 0 */
#define macI2C_SDA_1() GPIO_SetBits(macGPIO_PORT_I2C, macI2C_SDA_PIN) /* SDA = 1 */
#define macI2C_SDA_0() GPIO_ResetBits(macGPIO_PORT_I2C, macI2C_SDA_PIN) /* SDA = 0 */
#define macI2C_SDA_READ() GPIO_ReadInputDataBit(macGPIO_PORT_I2C, macI2C_SDA_PIN) /* ¶áSDA¿úÏß×′ì¬ */
#else
#define macI2C_SCL_1() macGPIO_PORT_I2C->BSRR = macI2C_SCL_PIN /* SCL = 1 */
#define macI2C_SCL_0() macGPIO_PORT_I2C->BRR = macI2C_SCL_PIN /* SCL = 0 */
#define macI2C_SDA_1() macGPIO_PORT_I2C->BSRR = macI2C_SDA_PIN /* SDA = 1 */
#define macI2C_SDA_0() macGPIO_PORT_I2C->BRR = macI2C_SDA_PIN /* SDA = 0 */
#define macI2C_SDA_READ() ((macGPIO_PORT_I2C->IDR & macI2C_SDA_PIN) != 0) /* 讀寫SDA口狀態(tài) */
#endif
void i2c_Start(void);
void i2c_Stop(void);
void i2c_SendByte(uint8_t _ucByte);
uint8_t i2c_ReadByte(void);
uint8_t i2c_WaitAck(void);
void i2c_Ack(void);
void i2c_NAck(void);
uint8_t i2c_CheckDevice(uint8_t _Address);
#endif
全部資料51hei下載地址 紅外測(cè)溫+顯示+存儲(chǔ)+按鍵控制:
測(cè)溫.7z
(205.15 KB, 下載次數(shù): 559)
2020-9-22 14:48 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
yy3900636
時(shí)間:
2021-1-20 19:17
太謝謝樓主的分享了。。。很實(shí)用
作者:
5287152
時(shí)間:
2021-3-6 14:39
正在學(xué)習(xí)紅外測(cè)溫,謝謝。
作者:
5287152
時(shí)間:
2021-3-6 14:40
謝謝樓主的分享了,好好下來(lái)學(xué)習(xí)。
作者:
wanyi5aini
時(shí)間:
2021-4-25 04:27
親愛的樓主 為啥我測(cè)出來(lái)的溫度是276.29 就不會(huì)改變了呢
作者:
wifingtta
時(shí)間:
2023-4-16 16:22
謝謝樓主,已測(cè)試可用。樓主程序里是通過(guò)外部中斷,按鍵觸發(fā)測(cè)量的,所以可以把測(cè)溫程序從外部中斷放到main里,就可以直接看到數(shù)據(jù)了。這時(shí)提取出來(lái),測(cè)試沒問(wèn)題,溫度需要自己加補(bǔ)償
while(1)
{
DelayMs(1000);
tt=get_temperature();
OLED_ShowCN(0,0,0);
OLED_ShowCN(17,0,1);
OLED_ShowStr(34,0,": ",2);
OLED_ShowNum(50,0,change(tt)+3.14,2);//加3.14是因?yàn)槲覜]有聚集棱鏡所以輻射無(wú)法聚集導(dǎo)致測(cè)溫有誤差屬于修正誤差的額外加值(可以自己修改)
if(change(tt)<32.86||change(tt)>34.16)//不正常警告
{
OLED_ShowCN(0,6,7);
OLED_ShowCN(17,6,0);
OLED_ShowCN(34,6,4);
OLED_ShowCN(50,6,5);
LED1(1);
LED3(0);
}
else
{
OLED_ShowCN(0,6,7);
OLED_ShowCN(17,6,0);
OLED_ShowCN(34,6,6);
OLED_ShowCN(50,6,5);
LED1(0);
LED3(1);
}
}
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1