STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显

news2025/1/9 14:31:58

资料下载地址:STM32+WIFI获取网络时间+8位数码管显示+0.96OLED

1、项目介绍

主控芯片STM32C8T6        
接线:串口1:PA9     PA10
OELD :PB6   PB7

数码管使用:MAX7219 8位数码管
Max7219_pinCLK PAout(5)
Max7219_pinCS  PAout(3)
Max7219_pinDIN PAout(7)

2、实物图片

3、程序

#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "ESP8266.h"
#include "oled.h"
#include "RTC.h"
#include "dht11.h"
#include "7219.h"

int main(void)
{       
        delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);         //串口初始化为115200
        LED_Init();                             //LED端口初始化
        KEY_Init();          //初始化与按键连接的硬件接口
        OLED_Init();                        //初始化OLED  
        OLED_Clear();
        ESP8266_Init();
        esp8266_get_time();//获取时间
        dispose_time_data(); //更新时间
        esp8266_get_weather();//获取天气
        dispose_wea_data();//更新天气
        RTC_Init();          //初始化与按键连接的硬件接口
        display_week();//显示星期
        SPI1_Init();
        Init_MAX7219();

  while(1)
        {       
    //0.96OLED显示
                OLED_ShowNum(0,0,calendar.w_year,4,16);//年
                OLED_ShowNum(48,0,calendar.w_month,2,16);//月
                OLED_ShowNum(80,0,calendar.w_date,2,16);//日
                OLED_ShowNum(0,2,calendar.hour,2,16);//时
                OLED_ShowNum(24,2,calendar.min,2,16);//分
                OLED_ShowNum(48,2,calendar.sec,2,16);//秒
                OLED_ShowNum(20,4,temperature,2,16);//温度
                if((calendar.hour==0)&&(calendar.min==0)&&(calendar.sec==0))
                {
                        calendar.week+=1;
                        if(calendar.week>8) calendar.week=1;
                        display_week();//显示星期
                }
               
   //        数码管显示               
        if(calendar.sec<55)
        {
                Write_Max7219(0x08, calendar.hour/10);
          Write_Max7219(0x07, calendar.hour%10);
          Write_Max7219(0x06, 0x0A);
          Write_Max7219(0x05, calendar.min/10);
          Write_Max7219(0x04, calendar.min%10);
          Write_Max7219(0x03, 0x0A);
          Write_Max7219(0x02, calendar.sec/10);
          Write_Max7219(0x01, calendar.sec%10);
                delay_ms(100);
        }
                else
                {
                Write_Max7219(0x08, calendar.w_month/10); //日期
          Write_Max7219(0x07, calendar.w_month%10);
          Write_Max7219(0x06, 0x0A);
          Write_Max7219(0x05, calendar.w_date/10);
          Write_Max7219(0x04, calendar.w_date%10);
               
                Write_Max7219(0x02, temperature/10);//温度
          Write_Max7219(0x01, temperature%10);
                delay_ms(100);
                }
        }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2273835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA车牌识别

基于FPGA的车牌识别主要包含以下几个步骤&#xff1a;图像采集、颜色空间转换、边缘检测、形态学处理&#xff08;腐蚀和膨胀&#xff09;、特征值提取、模板匹配、结果显示。先用matlab对原理进行仿真&#xff0c;后用vivado和modelsim进行设计和仿真。 一、1.图像采集采用ov…

一文流:Mysql进阶(多图提醒⚠️)

一文流系列是作者苦于技术知识学了-忘了&#xff0c;背了-忘了的苦恼&#xff0c;决心把技术知识的要点一笔笔✍️出来&#xff0c;一图图画出来&#xff0c;一句句讲出来&#xff0c;以求刻在&#x1f9e0;里。 该系列文章会把核心要点提炼出来&#xff0c;以求掌握精髓&#…

深度学习从入门到实战——卷积神经网络原理解析及其应用

卷积神经网络CNN 卷积神经网络前言卷积神经网络卷积的填充方式卷积原理展示卷积计算量公式卷积核输出的大小计算感受野池化自适应均值化空洞卷积经典卷积神经网络参考 卷积神经网络 前言 为什么要使用卷积神经网络呢&#xff1f; 首先传统的MLP的有什么问题呢&#xff1f; - …

自动化脚本本地可执行但是Jenkins上各种报错怎么解决

作者碎碎念&#xff1a; 测试环境 Jenkinsdockerpythonunittest&#xff0c; 测试问题&#xff1a;本人在写关于SAP4Me网站的自动化脚本时遇到一个问题 本地怎么都跑的通 但是一上Jenkins会出现各种各样的问题 因为在Jenkins里面脚本是放在docker环境里面跑的 所以环境的差异…

【xLua】xLua-master签名、加密Lua文件

GitHub - Tencent/xLua: xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. 如果你想在项目工程上操作&#xff0c;又发现项目工程并没导入Tools&#xff0c;可以从xLua-master工程拷贝到项目工程Assets…

Linux(上):基本知识篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Linux初识1 Linux简介2 Linux学习环境配置(1)安装Linux(2)FinalShell远程连接Linux服务器二、Linux基础命令1 Linux目录结构,根目录 /2 Linux命令基础(1)什么是命令、命令行?(2)…

【安卓开发】【Android Studio】项目构建失败提示【Could not read metadata.bin】解决方法

一、问题说明 在Android Studio中开发安卓项目时&#xff0c;项目构建失败&#xff0c;提示如下&#xff1a; Could not read workspace data from xxx/xxx/&#xff08;某个目录&#xff0c;和gradle有关&#xff09;&#xff1a;could not read ...metadata.bin&#xff08…

细说STM32F407单片机以轮询方式读写外部SRAM的方法

目录 一、实例的功能 二、工程配置 1、KEYLED 2、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 3、FSMC &#xff08;1&#xff09; 模式设置 &#xff08;2&#xff09; Bank 1子区3参数设置 1) NOR/PSRAM control组&#xff0c;子区控制参数 2) NOR/PSRAM timi…

下载ffmpeg执行文件

打开网址&#xff1a;Download FFmpeg 按下面步骤操作 解压文件就可以看到ffmpeg的执行文件了&#xff0c;需要通过命令行进行使用&#xff1a; ffmpeg命令行使用参考&#xff1a; ffmpeg 常用命令-CSDN博客

嵌入式系统 (2.嵌入式硬件系统基础)

2.嵌入式硬件系统基础 2.1嵌入式硬件系统的组成 嵌入式硬件系统以嵌入式微处理器为核心&#xff0c;主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。 嵌入式微处理器 嵌入式微处理器采用冯诺依曼结构或哈佛结构&#xff1a;前者指令和数据共享同一存储空间…

【合作原创】使用Termux搭建可以使用的生产力环境(九)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境&#xff08;八&#xff09;-CSDN博客中我们讲到了如何安装IDEA社区版&#xff0c;并在Termux中安装VNC服务器&#xff0c;在proot-distro的Debian中启动xfce桌面&#xff0c;并通过这个方式解决了IDEA社区版中无…

计算机网络--UDP和TCP课后习题

【5-05】 试举例说明有些应用程序愿意采用不可靠的UDP, 而不愿意采用可靠的TCP。 解答&#xff1a; 这可能有以下几种情况。 首先&#xff0c;在互联网上传输实时数据的分组时&#xff0c;有可能会出现差错甚至丢失。如果利用 TCP 协议对这些出错或丢失的分组进行重传&…

STM32学习(十)

I2C模块内部结构 I2C&#xff08;Inter-Integrated Circuit&#xff09;模块是一种由Philips公司开发的二线式串行总线协议&#xff0c;用于短距离通信&#xff0c;允许多个设备共享相同的总线‌。 ‌硬件连接简单‌&#xff1a;I2C通信仅需要两条总线&#xff0c;即SCL&…

Flutter:吸顶效果

在分页中&#xff0c;实现tab吸顶。 TDNavBar的screenAdaptation: true, 开启屏幕适配。 该属性已自动对不同手机状态栏高度进行适配。我们只需关注如何实现吸顶。 view import package:ducafe_ui_core/ducafe_ui_core.dart; import package:flutter/material.dart; import p…

数据结构基础之《(13)—前缀树》

一、前缀树 1、前缀树&#xff08;Trie&#xff09;&#xff0c;又称字典树或单词查找树&#xff0c;是一种用于存储字符串集合的数据结构。 2、前缀树的操作 &#xff08;1&#xff09;单个字符串中&#xff0c;字符从前到后的加到一棵多叉树上 &#xff08;2&#xff09;字…

道品科技智慧农业与云平台:未来农业的变革之路

随着全球人口的不断增长&#xff0c;农业面临着前所未有的挑战。如何在有限的土地和资源上提高农业生产效率&#xff0c;成为了各国政府和农业从业者亟待解决的问题。智慧农业的兴起&#xff0c;结合云平台的应用&#xff0c;为农业的可持续发展提供了新的解决方案。 ## 一、智…

【Linux基础指令】第一期

一、Linux的介绍 Linux是一个开源的操作系统&#xff0c;性能、稳定性、安全性方面上都是很优秀的&#xff0c;所以它一直是企业后端系统的首选。所以其图形化界面并不是Linux的必需品&#xff0c;所以我们避免不了要使用命令行的形式来使用Linux&#xff0c;也就离不开…

​​​​​​芯盾时代以数据为核心的车联网业务安全解决方案

芯盾时代车联网业务安全建设聚焦智能网联业务运行过程产生的多维度、多模态、多视角数据以及因业务需求产生的过程数据和业务衍生数据&#xff0c;以网络安全等级保护为基础&#xff0c;坚持网络安全管理体系和技术体系并重的原则&#xff0c;加强网络安全体系化、实战化、常态…

剖析 Claim-Check 模式:以小传大,赋能分布式系统与微服务

1. 前言 1.1 写作背景与目的 在当今分布式系统与微服务架构盛行的时代&#xff0c;服务间的消息传递与数据交换越来越频繁。传统的消息传输在面对海量数据时&#xff0c;往往会遇到以下痛点&#xff1a; 消息体过大&#xff1a;直接通过消息队列或服务间接口发送大体量数据&…

VS2022引入sqlite数据库交互

法一&#xff1a;用官网编译好的动态库(推荐) 下载所需文件 sqlite官网地址&#xff1a;https://www.sqlite.org/howtocompile.html 下载以下的2个压缩包 第一个压缩包 sqlite-amalgamation-xxxx.zip&#xff0c;xxxx是版本号,保持一致即可&#xff0c;这里面有sqite3.h 第…