• 方案介绍
    • 1.主要功能
    • 2.仿真设计
    • 3.程序设计
    • 4.设计报告
    • 5.原理图PCB
    • 6.实物图
    • 7.下载链接
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

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

03/24 09:03
530
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

设计资料获取联系方式.doc

共1个文件

[相关器件] CLF1G0035-100

射频/微波组件,CLF1G0035-100 - 100W Broadband RF power GaN HEMT

基于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

  • 设计资料获取联系方式.doc
    下载
[相关器件] CLF1G0035-100

射频/微波组件,CLF1G0035-100 - 100W Broadband RF power GaN HEMT

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!