小项目源码_STM32小项目(万年历)0.96寸OLED时钟程序(附源码)

本文介绍了一个使用STM32单片机实现的0.96寸OLED时钟小项目,利用内置RTC时钟和DS18B20温度传感器,通过简单的硬件连接即可完成。程序代码简洁,可按需修改功能。
摘要由CSDN通过智能技术生成

用的是stm32自带的RTC时钟。硬件连接很简单,当然程序也是比较简单的,只写了温度(DS18B20),stm32自带RTC和OLED显示,大家可自行删改功能。
    硬件连接:
    SDA --》PB13
    SCL --》PB12
    DS18B20----》PA15

    OLED和DS18B20直接5V供电就成,效果如下:

5ea0b94c62f5a789dddaedbc0f0d1e98.png

    单片机源程序如下:

#include "sys.h"#include "usart.h"               #include "delay.h"        #include "led.h"#include "key.h"#include "oled.h"#include "beep.h"#include "rtc.h"#include "ds18b20.h"u8 year_buf[4];u8 month_buf[2];u8 day_buf[2];u8 temp_buf[4];int main(void){                       u16 temp;        delay_init();             //延时初始化        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级       Gpio_IIC_Init();        RTC_Init();         //RTC初始化        DS18B20_Init();        OLED_Init();        delay_ms(200);        OLED_CLS();        OLED_P16x16Ch(40,0,36);//第一行第三列显示年        OLED_P16x16Ch(72,0,37);        //显示月        OLED_P16x16Ch(106,0,38);        //显示日        OLED_P16x16Ch(0,6,39);//星        OLED_P16x16Ch(16,6,41);//期        OLED_P16x16Ch(32,2,34);        OLED_P16x16Ch(32,4,35);//:        OLED_P16x16Ch(80,2,34);        OLED_P16x16Ch(80,4,35);//:        while(1)        {                sprintf((char *)year_buf,"%04d",calendar.w_year);                OLED_P8x16Str(8,0,year_buf);                sprintf((char *)month_buf,"%02d",calendar.w_month);                OLED_P8x16Str(58,0,month_buf);                sprintf((char *)day_buf,"%02d",calendar.w_date);                OLED_P8x16Str(90,0,day_buf);                               OLED_P16x16Ch(0,2,calendar.hour/10*2);                OLED_P16x16Ch(0,4,calendar.hour/10*2+1); //                OLED_P16x16Ch(16,2,calendar.hour%10*2);                OLED_P16x16Ch(16,4,calendar.hour%10*2+1);//                               OLED_P16x16Ch(48,2,calendar.min/10*2);                OLED_P16x16Ch(48,4,calendar.min/10*2+1);//                OLED_P16x16Ch(64,2,calendar.min%10*2);                OLED_P16x16Ch(64,4,calendar.min%10*2+1);//                               OLED_P16x16Ch(95,2,calendar.sec/10*2);                OLED_P16x16Ch(95,4,calendar.sec/10*2+1);//                OLED_P16x16Ch(111,2,calendar.sec%10*2);                OLED_P16x16Ch(111,4,calendar.sec%10*2+1);//                OLED_P16x16Ch(32,6,calendar.week+20);//                               temp = DS18B20_Get_Temp();                OLED_P16x16str(64,6,11);                OLED_P16x16str(80,6,12);                OLED_P16x16str(96,6,temp%1000/100);                OLED_P16x16str(112,6,temp%100/10);        }}

朱有鹏STM32单片机开发项目案例教程

课程有6个配套项目实物案例,

只要跟着视频操作就能做出来!

0f6d1e3501b716276459fdcd37d08c54.png

课程咨询小姐姐微信

49882e7c251c2eba647e5e80fd0f10f9.png

3803032986611ac329bdb887288d9c91.png

d62adea7e892236b12ae282a573875ca.png

08e9e321a4f92583ac065b6cc9044813.png

b655e54517500d750a8a7591ed993faf.png

0b370741f44af2ffd9047786360e96d5.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值