基于STM32定时中断的电子闹钟设计

基于定时中断的电子闹钟
废旧电路板提金技术一、系统主要功能
可以通过LCD的输出显示公历和农历时间,通过按键设置时间和闹钟;通过蜂鸣器响应闹钟。
三、电路原理图、接口、硬件构成
特厚钢板
1.原理图
2.接口
本次实验使用了串口、定时器、中断接口。
3.硬件组成
(1)实验设计程序流程图如图左所示,中断流程图如图右所示。
(2)该设计分为软件设计和硬件设计两大模块,硬件电路由ARM 最小系统电路、时钟显示电路和闹钟提醒电路组成,采用stm32f103RCT6芯片,芯片管脚图示如下。
(3)时钟电路
此电路主要是复位电路和时钟电路两部分,其中复位电路采用按键手动复位和上电自动复位组合,电路如图所示:晶振采用的是 8MHz 和 32.786KHz , 8MKz 分别接 STM32 的5 脚和 6 脚, 32.786KHz 分别接 STM32 的 3 脚和 4 脚。
(4)闹钟提醒电路
本次实验设计的闹钟提醒电路为蜂鸣器电路,接入芯片的PC7引脚,当时间为设置闹钟时间时,蜂鸣器工作,发出响声,提醒电路如图所示。
四、核心代码(带注释)
#include "delay.h"
#include "sys.h"
#include "lcd.h"
#include "dht11.h"
#include "ds1302.h"
#include "KEY.h"
#include "beep.h"
u8 temp;
u8 humi;
ca1703u8 t=0;
u8 flag=0,flag1=0,flag2=0,flag3=1; u8 a,b,c;
int min1=10,hour1=10;
DHT11_Data_TypeDef DHT11_Data;
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能
//定时器TIM3初始化
TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载计时器的值
智能防盗窗
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中断,允许更新中断
//中断优先级NVIC设置
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM中断
智能卡制作
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先级0级
指路器NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能

本文发布于:2024-09-22 01:41:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/125800.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:电路   闹钟   时间
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议