0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32的0.96寸OLED时钟程序

单片机与嵌入式 来源:单片机与嵌入式 2023-05-08 09:58 次阅读

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

硬件连接:

SDA --》PB13

SCL --》PB12

DS18B20----》PA15

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

044af910-ed43-11ed-90ce-dac502259ad0.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);


        }
}

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    119

    文章

    6172

    浏览量

    223735
  • STM32
    +关注

    关注

    2265

    文章

    10858

    浏览量

    354439
  • 时钟
    +关注

    关注

    10

    文章

    1716

    浏览量

    131299
  • 程序
    +关注

    关注

    116

    文章

    3767

    浏览量

    80786
  • RTC
    RTC
    +关注

    关注

    2

    文章

    524

    浏览量

    66249

原文标题:STM32小项目-0.96寸OLED时钟程序,万年历,大字体

文章出处:【微信号:单片机与嵌入式,微信公众号:单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    stm32f407vet6驱动0.96oled,显示屏无法显示怎么解决?

    stm32f407vet6驱动0.96oled——iic协议代码无报错时钟正确显示屏无法显示
    发表于 03-14 06:49

    问题 0.96OLED

    买了这个OLED显示屏,可是客服给的资料都是全英文的,所以来请求各位学长 大神是否有中文版的0.96OLED屏资料,同时希望各位大神能留个联系方式我的QQ:2389954298
    发表于 05-28 11:06

    0.96OLED 屏幕stm32显示程序自整理资料

    0.96OLED 屏幕stm32显示程序自整理资料。亲测有效。
    发表于 07-25 15:49

    STM32 HAL库下实现硬件IIC+DMA控制0.96 OLED

    目录前言一、建立工程二、编写和移植前期准备驱动部分修改三、使用和验证结论本文参考例程提取码:1e64前言本文将介绍在STM32 HAL库下实现硬件IIC+DMA控制0.96 OLED
    发表于 08-12 07:01

    分享一个基于STM32F407的中景园0.96OLED程序升级方法

    分享一个基于STM32F407的中景园0.96OLED程序升级方法
    发表于 10-14 08:18

    如何编写0.96OLED的底层驱动?

    如何编写0.96OLED的底层驱动?
    发表于 11-23 06:02

    基于 SPI 协议在 0.96 OLED

    硬件——0.96OLED显示屏模块0.91 1.3液晶屏供原理图12864屏 IIC/SPI
    发表于 11-30 08:26

    STM32F103ZET6 IIC驱动0.96OLED的方法

    STM32F103ZET6 IIC驱动0.96OLED说明之前购买了一个0.96
    发表于 01-18 06:11

    请问STM32Cubemx硬件SPI如何驱动七针0.96OLED

    请问STM32Cubemx硬件SPI如何驱动七针0.96OLED
    发表于 02-17 07:25

    基于stm320.96 OLED驱动架构模块代码有何功能

    基于stm320.96 OLED驱动架构模块代码有何特点?基于stm320.96
    发表于 02-21 06:47

    0.96OLED使用文档新手必看V2.0

    0.96OLED使用文档新手必看V2.0.pdf0.96OLED使用文档新手必看V2.0.p
    发表于 07-11 18:43 198次下载

    0.96带字库的OLED显示应用程序源代码下载

    0.96带字库的OLED显示应用程序源代码下载
    发表于 07-12 09:50 45次下载

    STM320.96 7针 OLED显示屏(SPI协议)驱动代码(程序稳定,清晰明了)

    STM320.96 7针 OLED显示屏(SPI协议)驱动代码(程序稳定,清晰明了)
    发表于 11-23 16:21 143次下载
    <b class='flag-5'>STM32</b>之<b class='flag-5'>0.96</b><b class='flag-5'>寸</b> 7针 <b class='flag-5'>OLED</b>显示屏(SPI协议)驱动代码(<b class='flag-5'>程序</b>稳定,清晰明了)

    0.96OLED原理图

    0.96OLED原理图
    发表于 06-08 15:13 107次下载

    stm32103模拟0.96OLED驱动

    电子发烧友网站提供《stm32103模拟0.96OLED驱动.rar》资料免费下载
    发表于 10-07 14:26 1次下载
    <b class='flag-5'>stm32</b>103模拟<b class='flag-5'>0.96</b><b class='flag-5'>寸</b><b class='flag-5'>OLED</b>驱动