基于STM32单片机的智能闹钟(Protues仿真+程序) 您所在的位置:网站首页 电子闹钟alarm 基于STM32单片机的智能闹钟(Protues仿真+程序)

基于STM32单片机的智能闹钟(Protues仿真+程序)

2023-12-17 21:43| 来源: 网络整理| 查看: 265

编号:13 基于STM32单片机的智能闹钟 功能描述:

本设计由STM32单片机+液晶1602+按键+RTC时钟+声光报警模组成。 1、采用STM32F103最小系统板。 2、利用STM32内部自带RTC时钟提供时钟信号 3、液晶1602实时显示年月日、时分秒、星期等信息。 4、四个按键可实现年月日、时分秒的设定,闹钟的时分设置。按键功能分别为:设置时间键、设置加/取消报警、设置减键、设置闹钟键 5、到达设定时间,蜂鸣器响一分钟,闹钟响铃时,可按设置加键进行取消报警

由于在仿真中运行CPU占用率较高,运行时,时间会变慢许多,介意请勿下载! Protues 8.11版本才可使用

视频演示链接:

https://www.bilibili.com/video/BV1fe4y147zQ/?spm_id_from=333.999.0.0&vd_source=a6898c62509595149ecced8ced6f5585

仿真图:

设置闹钟界面:

程序源码: /*********************************************** ***********************************************/ #include "delay.h" #include "LCD1602.h" #include "key.h" #include "rtc.h" #include "led.h" #include "stdio.h" #include "stdlib.h" int main(void) { _Bool Alarm = 0; unsigned char key_value = 0; //按键返回值 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 Lcd1602_Init(); //液晶1602初始化 LED_Init(); KEY_Init(); //初始化端口 RTC_Clock_Init(); KEY_Init(); while(1) { RTC_Display(); //显示时钟 key_value = KEY_Scan(0); //按键单击 switch(key_value) { case 1: KEY_Set(); break; case 2: BEEP = 1; //取消报警 break; case 4: KEY_Set_Alarm(); //设置闹钟 break; } if(calendar.hour == Ahour&&calendar.min ==Amin ) //到达闹钟时间 { if(calendar.sec==0) //秒钟为0 { if(Alarm==0) { Alarm = 1; BEEP = 0; //开报警 } } } else { if(Alarm==1) { Alarm = 0; BEEP = 1; //关报警 } } } }

软件免费下载地址:

1、Proteus仿真软件 文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包

链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w  提取码:2756 

3、KEIL5 MDK软件(STM32开发软件) 链接:https://pan.baidu.com/s/1t3eY-3yRdTa7jZMlijq_jg 

提取码:ab58 

文件下载:

https://pan.baidu.com/s/1nf0Ontt3E5t8kkmDIpgKTg?pwd=4ao2



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有