找回密码
 立即注册
查看: 549|回复: 5

8H8K64U采集DS18B20温度传感器数据和OLED显示

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:520
  • 最近打卡:2025-05-02 00:33:34
已绑定手机
已实名认证

46

主题

161

回帖

478

积分

中级会员

积分
478
发表于 2024-8-14 04:00:43 | 显示全部楼层 |阅读模式
8H8K64U采集DS18B20温度传感器数据并IIC通信OLED显示,实物图如下

IMG_20240814.jpg

效果展示



主函数代码
  1. /*----------------------------------------------------------------*/
  2. #include <STC8H.h>
  3. #include <intrins.h>
  4. #include "configurations.h"
  5. #include "delay.h"
  6. #include "DS18B20.h"
  7. #include "oled.h"                //OLED引脚定义、控制函数
  8. //#include "bmp.h"                //图片字模存放位置
  9. //#include "logo.h"                // picture position
  10. /*-------------- GPIO initialize ------------------*/
  11. void GPIO_Init();
  12. void Display();
  13. void main()
  14. {
  15.         GPIO_Init();
  16.         OLED_Init();                        //初始化OLED
  17.         OLED_ColorTurn(0);                //0正常显示,1 反色显示
  18.         OLED_DisplayTurn(0);        //0正常显示  1 屏幕翻转显示
  19.         
  20.         while(1)
  21.         {
  22.                 OLED_ShowString(0,0,"Temp:",16);
  23.                 Display(); //DS18B20 数据采集
  24.                
  25.                 OLED_ShowString(0,4,"ECNU",16);                  //显示字符串
  26.                 OLED_ShowString(40,4,"2024/08/14",16);//显示字符串
  27.                 OLED_ShowString(0,6,"Shanghai,China",16);                  //显示字符串
  28.                
  29.                 delay_ms(500);                                                  //延时
  30.                 OLED_Clear();                                                  //清屏
  31.         }         
  32.         
  33. }
  34. void GPIO_Init()
  35. {
  36.         P0M1 = 0x00;   P0M0 = 0x00;
  37.   P1M1 = 0x00;   P1M0 = 0x00;
  38.   P2M1 = 0x00;   P2M0 = 0x00;
  39.   P3M1 = 0x00;   P3M0 = 0x00;
  40.   P4M1 = 0x00;   P4M0 = 0x00;
  41.   P5M1 = 0x00;   P5M0 = 0x00;
  42.         P6M1 = 0x00;   P6M0 = 0x00;
  43.   P7M1 = 0x00;   P7M0 = 0x00;
  44. }
  45. /*----------- Display temperature ----------------*/
  46. void Display()
  47. {
  48.         u8 ms = 3; // number of Delay_ms
  49.         u16 val;
  50.         u16 shi,ge,xiaoshu;
  51.   val = Readtemp();
  52.   shi = val/100;
  53.   ge = val/10%10;
  54.   xiaoshu = val%10;
  55.         if( MinusFlag==1 ) // negtive
  56.         {
  57.                 OLED_ShowString(43,0,"-",16);
  58.                 OLED_ShowNum(60,0,(u16)(shi),1,16);
  59.                 OLED_ShowNum(70,0,(u16)(ge),1,16);
  60.                 OLED_ShowString(80,0,".",16);
  61.                 OLED_ShowNum(90,0,(u16)(xiaoshu),1,16);
  62.                 OLED_ShowString(103,0,"C",16);
  63.         }
  64.         else // MinusFlag==0, positive
  65.         {
  66.                 OLED_ShowString(43,0,"+",16);
  67.                 OLED_ShowNum(60,0,(u16)(shi),1,16);
  68.                 OLED_ShowNum(70,0,(u16)(ge),1,16);
  69.                 OLED_ShowString(80,0,".",16);
  70.                 OLED_ShowNum(90,0,(u16)(xiaoshu),1,16);
  71.                 OLED_ShowString(103,0,"C",16);
  72.         }
  73. }
复制代码
完整项目工程见附件。

OLED_DS18B20.zip

12.08 KB, 下载次数: 73

MCU开发者和爱好者
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:143
  • 最近打卡:2024-12-16 07:55:22

1

主题

6

回帖

589

积分

高级会员

积分
589
发表于 2024-8-14 07:01:49 | 显示全部楼层
谢谢分享资料
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-03-18 07:54:03

0

主题

51

回帖

793

积分

高级会员

积分
793
发表于 2024-8-24 08:51:54 | 显示全部楼层
显示屏上字为啥是反的?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:520
  • 最近打卡:2025-05-02 00:33:34
已绑定手机
已实名认证

46

主题

161

回帖

478

积分

中级会员

积分
478
发表于 2024-8-26 12:59:22 | 显示全部楼层
liu*** 发表于 2024-8-24 08:51
显示屏上字为啥是反的?

是 OLED 屏幕的问题,代码是正常的
MCU开发者和爱好者
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-03-18 07:54:03

0

主题

51

回帖

793

积分

高级会员

积分
793
发表于 2024-8-27 09:09:51 | 显示全部楼层
liji*** 发表于 2024-8-26 12:59
是 OLED 屏幕的问题,代码是正常的

编错的代码更显示正确的吗
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-09-13 08:38:29

0

主题

26

回帖

76

积分

注册会员

积分
76
发表于 2024-8-28 18:23:07 | 显示全部楼层
感谢分享
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:18 , Processed in 0.533472 second(s), 91 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表