|
利用空閑時(shí)間自學(xué)單片機(jī) ,用1.3寸OLED DS18B20 光敏傳感器來(lái)顯示溫度,白天和晚上圖片切換。本人用的是1.3寸OLED,若用0.96寸OLED部分代碼要做修改(代碼中有注釋),光敏傳感器中的靈敏度可以調(diào)整。由于本人時(shí)間不是很足,又是自學(xué),有不足的地方還請(qǐng)大家能指正,能學(xué)習(xí)和進(jìn)步得更快一些。代碼在附件中。
制作出來(lái)的實(shí)物圖如下:
單片機(jī)源程序如下:
- #include "oled.h"
- #include "DS18b20.h"
- #include "gmcg.h"
- #include "bmp.h"
- int main(void)
- {
-
- P3M1 = 0;
- P3M0 = 0; //P3設(shè)置為準(zhǔn)雙向口
- P5M1 = 0;
- P5M0 = 0; //P3設(shè)置為準(zhǔn)雙向口
-
- iicInit(); //硬件iic初始化
- P_SW2 = 0x80;
- OLED_Init(); //初始化OLED
- OLED_Clear(); //清屏
-
- OLED_ShowCHinese(78,6,0); //顯示漢字好
- OLED_ShowCHinese(96,6,1); //顯示漢字開(kāi)
- OLED_ShowCHinese(114,6,2); //顯示漢字心
- OLED_ShowCHinese(0,6,3); //顯示漢字溫
- OLED_ShowCHinese(18,6,4); //顯示漢字度
- OLED_ShowString(34,6,":",16);
- OLED_DrawBMP(90,1,128,5,BMP1); //顯示BMP1笑臉圖片
-
- while(1)
- {
- gettemp();
- OLED_Showm(43,6,TH,16);
- delay_ms(1000);
-
- if(gmIN == 0) //光敏傳感器檢測(cè)光強(qiáng)度高于一定值,AO針腳輸出低電平
- {
- OLED_DrawBMP(0,0,88,5,BMP2) ; //顯示BMP2 白天太陽(yáng)云朵
- }
-
- else //光敏傳感器檢測(cè)光強(qiáng)度低于一定值,AO針腳輸出高電平
- {
- OLED_DrawBMP(0,0,88,5,BMP5); //顯示BMP6 晚上月亮星星云朵
- }
- }
-
- }
-
復(fù)制代碼
Keil代碼下載(附件內(nèi)只含代碼,不含其他任何文件):
(5)STC8G1K08A 硬IIC光敏傳感器白天晚上圖片切換.zip
(181.26 KB, 下載次數(shù): 149)
2022-11-17 13:24 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|