基于STM32电子钟闹钟数码管显示设计(Proteus仿真+程序+设计报告+原理图PCB+讲解视频)

news/2025/3/25 7:50:28/

基于STM32电子钟闹钟数码管显示设计

  • 1.主要功能
  • 2.仿真设计
  • 3.程序设计
  • 4.设计报告
  • 5.原理图PCB
  • 6.实物图
  • 7.下载链接

基于STM32电子钟闹钟数码管显示设计(Proteus仿真+程序+设计报告+原理图PCB+讲解视频)

仿真图proteus 8.9

程序编译器:keil 5

编程语言:C语言

设计编号:C0104

1.主要功能

设计一个基于STM32单片机的电子钟闹钟proteus仿真设计,可以显示时、分、秒,并且可以设置时间和闹钟。

1、采用单片机内部RTC模块实现计时;

2、采用八位数码管显示时分秒;

3、可对时分秒分别进行加减设置,设置时对应数码管闪烁;

4、可设置闹钟,并且到时间后蜂鸣器响;

5、闹钟鸣响时,按下任意按键可手动消除闹钟;

6、可以通过Proteus仿真或者实物演示。

资料下载链接:

通过网盘分享的文件:KEY_C0104

链接: https://pan.baidu.com/s/1iKdIqVMCHvNg0642rKrteA?pwd=vtrf
提取码: vtrf

2.仿真设计

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

开始仿真后,数码管显示12-00-50,分别代表时分秒。

img

默认闹钟时间12-01-00,时间到了之后闹钟响,指示灯亮。响铃期间按下任意按键关掉闹钟。

img

按下设置键可对时分秒分别进行加减设置,设置时对应数码管闪烁。

img

3.程序设计

程序是用keil5 mdk版本打开的,如果打开有问题,核实下keil的版本。程序是HAL版本编写的,有stm32cubemx配置文件。有注释可以结合讲解视频理解。

img

while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if(step==0){//十进制格式HAL_RTC_GetTime(&hrtc, &sTimeStructure, RTC_FORMAT_BIN);	//RTC时间获取函数//十进制格式HAL_RTC_GetDate(&hrtc, &sDateStructure, RTC_FORMAT_BIN);	//RTC日期获取函数if( (sTimeStructure.Hours == sAlrmStructure.Hours) && (sTimeStructure.Minutes == sAlrmStructure.Minutes)&&(sTimeStructure.Seconds==0))//判断闹钟时间{beep_state=1;//闹钟标志位		LED_ALARM_STA_ON();}if( (sTimeStructure.Hours != sAlrmStructure.Hours) || (sTimeStructure.Minutes != sAlrmStructure.Minutes)){beep_state=0;//取消闹钟标志位	}if(beep_state==1){BEEP_ON();		   //蜂鸣器响LED_ALARM_STA_ON();//指示灯亮}else{BEEP_OFF();		   //关蜂鸣器LED_ALARM_STA_OFF();//指示灯灭}		//格式转换为字符串memset(smgbuf, 0, sizeof(smgbuf));//清空数组smgbuf[0]=gsmg_code[sTimeStructure.Hours/10];//时间十位smgbuf[1]=gsmg_code[sTimeStructure.Hours%10];//时间个位smgbuf[2]=0x40;smgbuf[3]=gsmg_code[sTimeStructure.Minutes/10];//分钟十位smgbuf[4]=gsmg_code[sTimeStructure.Minutes%10];//分钟个位smgbuf[5]=0x40;smgbuf[6]=gsmg_code[sTimeStructure.Seconds/10];//显示秒十位smgbuf[7]=gsmg_code[sTimeStructure.Seconds%10];//显示个位SMG_Display(smgbuf,1);	//		HAL_Delay(10);//延时一段时间,等待显示稳定}else{//设置状态下的显示memset(smgbuf, 0, sizeof(smgbuf));//清空数组if(step>=1&&step<=3){//设置时钟时间if(step==1&&flick_cnt<50){}else{smgbuf[0]=gsmg_code[sTimeStructure.Hours/10];//时间十位smgbuf[1]=gsmg_code[sTimeStructure.Hours%10];//时间个位}smgbuf[2]=0x40;//显示横杠if(step==2&&flick_cnt<50){}else{smgbuf[3]=gsmg_code[sTimeStructure.Minutes/10];//分钟十位smgbuf[4]=gsmg_code[sTimeStructure.Minutes%10];//分钟个位}smgbuf[5]=0x40;//显示横杠if(step==3&&flick_cnt<50){}else{smgbuf[6]=gsmg_code[sTimeStructure.Seconds/10];//显示秒十位smgbuf[7]=gsmg_code[sTimeStructure.Seconds%10];//显示个位}SMG_Display(smgbuf,1);	
//			HAL_Delay(10);//延时一段时间,等待显示稳定}else if(step>=4){//设置闹钟时间if(step==4&&flick_cnt<50){}else{smgbuf[0]=gsmg_code[sAlrmStructure.Hours/10];//闹钟时十位smgbuf[1]=gsmg_code[sAlrmStructure.Hours%10];//闹钟时个位}smgbuf[2]=0x40;//显示横杠if(step==5&&flick_cnt<50){}else{smgbuf[3]=gsmg_code[sAlrmStructure.Minutes/10];//闹钟分钟十位smgbuf[4]=gsmg_code[sAlrmStructure.Minutes%10];//闹钟分钟个位}SMG_Display(smgbuf,1);	
//			HAL_Delay(5);//延时一段时间,等待显示稳定}} }/* USER CODE END 3 */
}

程序流程图

img

4.设计报告

8272字设计报告,内容包括设计目标、硬件设计、软件设计、结论等。

img

随着电子技术的飞速发展,智能家居和便携式电子设备的需求日益增长,数字时钟作为日常生活中不可或缺的一部分,其功能性和用户体验成为用户关注的重点。本项目旨在设计一款基于STM32单片机的多功能数字时钟闹钟,通过Proteus软件进行仿真设计,实现时间显示、时间设置、闹钟设置及响铃提醒等功能,不仅提升了时钟的基本计时功能,还增加了用户交互性和实用性,对于学习STM32单片机应用、RTC(实时时钟)模块使用以及Proteus仿真技术具有重要意义。

5.原理图PCB

下面是原理图和PCB

img

img

6.实物图

实物如下图所示

实物2

7.下载链接

img

0、常见使用问题及解决方法–必读!!!!

1、程序代码

2、Proteus仿真

3、功能要求

4、开题报告

5、设计报告

6、框图

7、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

资料下载链接:

通过网盘分享的文件:KEY_C0104

链接: https://pan.baidu.com/s/1iKdIqVMCHvNg0642rKrteA?pwd=vtrf提取码: vtrf

更多资源 点击下方链接:

https://docs.qq.com/sheet/DS0xIa0llTmtNakRW

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

资料下载链接:

通过网盘分享的文件:KEY_C0104

链接: https://pan.baidu.com/s/1iKdIqVMCHvNg0642rKrteA?pwd=vtrf提取码: vtrf


http://www.ppmy.cn/news/1581208.html

相关文章

Dify:开源大模型应用开发平台全解析

从部署到实践&#xff0c;打造你的AI工作流 一、项目简介 Dify 是一款面向开发者和企业的开源大语言模型&#xff08;LLM&#xff09;应用开发平台&#xff0c;旨在降低AI应用开发门槛&#xff0c;让用户通过可视化界面快速构建、管理和部署基于大模型的智能应用。其名称寓意“…

深度学习:从零开始的DeepSeek-R1-Distill有监督微调训练实战(SFT)

原文链接&#xff1a;从零开始的DeepSeek微调训练实战&#xff08;SFT&#xff09; 微调参考示例&#xff1a;由unsloth官方提供https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen2.5_(7B)-Alpaca.ipynbhttps://colab.research.google.com/git…

Swagger2 使用教程

Swagger2 使用教程 Swagger&#xff08;现称为 OpenAPI Specification&#xff09;是一套用于描述、生成、消费和可视化 RESTful 风格 Web 服务的工具和规范。Swagger 2 是 OpenAPI 规范的一个重要版本&#xff0c;广泛应用于 API 的设计、文档化、测试和客户端代码生成。本文…

云原生周刊丨CIO 洞察:Kubernetes 解锁 AI 新纪元

开源项目推荐 DRANET DRANET 是由谷歌开发的 K8s 网络驱动程序&#xff0c;利用 K8s 的动态资源分配&#xff08;DRA&#xff09;功能&#xff0c;为高吞吐量和低延迟应用提供高性能网络支持。它旨在优化资源管理&#xff0c;确保 K8s 集群中的网络资源能够按需高效分配。DRA…

基于Python的金融领域AI训练数据抓取实战(完整技术解析)

项目背景与需求分析 场景描述 为训练一个覆盖全球金融市场的多模态大语言模型&#xff08;LLM&#xff09;&#xff0c;需实时采集以下数据&#xff1a; 全球30主要证券交易所&#xff08;NYSE、NASDAQ、LSE、TSE等&#xff09;的上市公司公告企业财报PDF文档及结构化数据社交…

界面控件DevExpress WPF v25.1预览 - .NET开发效率提升

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

深入解析ES6+新语法:复杂的迭代器与生成器

一、迭代器&#xff08;Iterator&#xff09;&#xff1a;数据遍历的统一协议 1. 迭代器协议的本质 **迭代器协议&#xff08;Iterator Protocol&#xff09;** 是一种标准化的数据访问接口&#xff0c;它要求对象实现一个 next() 方法&#xff0c;每次调用返回包含 { valu…

钉钉机器人

准备 参考官方文档 已经完成成为钉钉开发者流程。已经完成创建应用流程。已经完成添加应用能力流程 企业内部需要企业管理员开通权限&#xff0c;我自己创建了一个组织&#xff0c;用自己的组织创建机器人就方便很多&#xff0c;很多权限无需单独去申请了。 创建机器人 进…