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

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

基于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,分别代表时分秒。

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

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

3.程序设计

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

c 复制代码
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 */
}

程序流程图

4.设计报告

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

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

5.原理图PCB

下面是原理图和PCB

6.实物图

实物如下图所示

7.下载链接

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

相关推荐
撬动未来的支点7 小时前
【音视频】通俗讲SDP会话描述/协商协议
音视频
沉迷单车的追风少年9 小时前
Diffusion Model与视频超分(2):解读字节开源视频增强模型SeedVR2
人工智能·深度学习·aigc·音视频·强化学习·视频生成·视频超分
给大佬递杯卡布奇诺9 小时前
FFmpeg 基本数据结构 AVPacket分析
数据结构·c++·ffmpeg·音视频
无线图像传输研究探索9 小时前
应急救援 “眼观六路”:SA/NSA 双模覆盖,偏远灾区也能实时传视频
5g·音视频·无人机·5g单兵图传·单兵图传·无人机图传
Fuly10249 小时前
AI 大模型应用中的图像,视频,音频的处理
人工智能·音视频
小白学过的代码9 小时前
videojs增加视频源选择框小工具
javascript·vue.js·音视频
IDC02_FEIYA10 小时前
视频网站服务器带宽需要多少?视频网站服务器配置要求
运维·服务器·音视频
碧海银沙音频科技研究院11 小时前
i2s的LRCK时钟有毛刺以及BCLK数据在高采样率有变形数据解析错误问题原因以及解决方法
人工智能·深度学习·算法·分类·音视频
音视频牛哥13 小时前
AI智能体从系统智能到生态智能:SmartMediaKit 如何成为智能体时代的视频神经系统
人工智能·计算机视觉·音视频·大牛直播sdk·多智能体协同·rtsp播放器rtmp播放器·视频感知低延迟音视频
Black蜡笔小新13 小时前
解析视频融合平台EasyCVR如何以跨平台与兼容性技术重构安防融合中台
音视频