利用空闲时间自学单片机 ,用1.3寸OLED DS18B20 光敏传感器来显示温度,白天和晚上图片切换。本人用的是1.3寸OLED,若用0.96寸OLED部分代码要做修改(代码中有注释),光敏传感器中的灵敏度可以调整。由于本人时间不是很足,又是自学,有不足的地方还请大家能指正,能学习和进步得更快一些。代码在附件中。
制作出来的实物图如下:
单片机源程序如下:
- #include "oled.h"
- #include "DS18b20.h"
- #include "gmcg.h"
- #include "bmp.h"
- int main(void)
- {
-
- P3M1 = 0;
- P3M0 = 0; //P3设置为准双向口
- P5M1 = 0;
- P5M0 = 0; //P3设置为准双向口
-
- iicInit(); //硬件iic初始化
- P_SW2 = 0x80;
- OLED_Init(); //初始化OLED
- OLED_Clear(); //清屏
-
- OLED_ShowCHinese(78,6,0); //显示汉字好
- OLED_ShowCHinese(96,6,1); //显示汉字开
- 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) //光敏传感器检测光强度高于一定值,AO针脚输出低电平
- {
- OLED_DrawBMP(0,0,88,5,BMP2) ; //显示BMP2 白天太阳云朵
- }
-
- else //光敏传感器检测光强度低于一定值,AO针脚输出高电平
- {
- OLED_DrawBMP(0,0,88,5,BMP5); //显示BMP6 晚上月亮星星云朵
- }
- }
-
- }
-
复制代码
Keil代码下载(附件内只含代码,不含其他任何文件):
(5)STC8G1K08A 硬IIC光敏传感器白天晚上图片切换.zip
(181.26 KB, 下载次数: 149)
|