资料编号:148

视频讲解:

148-基于stm32单片机多功能可调时钟闹钟万年历计时器闹铃提醒Proteus仿真(源码+仿真+原理图+PCB)

本设计采用stm32单片机作为主控,LCD1602显示时间,采用按键来调节时间和调节闹铃的时间,当闹铃时间到达,LED闪烁进行提醒,全套资料齐全:

万年历部分源码展示:

void LCD_Init(void)
{
        GPIO_InitTypeDef GPIO_Initure;

LCD_CTRL_CLK();
        LCD_DATA_CLK();
        
        GPIO_Initure.Pin = LCD_RS_PIN|LCD_RW_PIN|LCD_EN_PIN;                 
        GPIO_Initure.Mode = GPIO_MODE_OUTPUT_PP;      
        GPIO_Initure.Pull = GPIO_PULLUP;          
        GPIO_Initure.Speed = GPIO_SPEED_FREQ_MEDIUM;   
        HAL_GPIO_Init(LCD_CTRL_PORT, &GPIO_Initure);

GPIO_Initure.Pin = LCD_DATA0_PIN|LCD_DATA1_PIN|LCD_DATA2_PIN|LCD_DATA3_PIN|LCD_DATA4_PIN|LCD_DATA5_PIN|LCD_DATA6_PIN|LCD_DATA7_PIN;                 
        HAL_GPIO_Init(LCD_DATA_PORT, &GPIO_Initure);

LCD_RW(0);            //读写位直接低电平,只写不读

/*********************液晶初始化**************************/        
    lcd_delay_us(340); 
        LCD_RS(0);
   
    LCD_write_cmd(0x38);          // 8bit显示模式,2行,5x7字体
    lcd_delay_ms(4);  
    LCD_write_cmd(0x08);         // 显示关闭 
    lcd_delay_ms(4); 
    LCD_write_cmd(0x01);         // 显示清屏 
    lcd_delay_ms(4); 
    LCD_write_cmd(0x06);         // 显示光标移动设置 
    lcd_delay_ms(4);
    LCD_write_cmd(0x0c);         // 显示开,光标开,光标闪烁
    lcd_delay_ms(4);
        LCD_write_cmd(0x01);         //清屏
        lcd_delay_ms(4);
}
/*--------------------------------------------------
函数说明:写命令到液晶

---------------------------------------------------*/
void LCD_write_cmd(unsigned char cmd)
{
    LCD_RS(0);
    LCD_Write_byte(cmd);
    lcd_delay_us(340);
}
/*--------------------------------------------------
函数说明:写数据到液晶

---------------------------------------------------*/
void LCD_write_data(unsigned char w_data)
{
    LCD_RS(1);
    LCD_Write_byte(w_data);
    lcd_delay_us(340);
}

stm32单片机最小系统讲解:

电源

电就是MCU要吃的饭,不吃饭,stm32芯片肯定不能工作。
stm32最小系统板需要5v和3.3v两种电压,一般可以直接通过USB提供5v电压,也可以用电源适配器提供5V电压。而3.3v电压可以通过稳压芯片如ASM1117-3.3v等,把5v电压降为3.3v输出。
参考电源电路如下:

图中J1是USB接口,提供的5v电压经过ASM1117-3.3v后降为3v3,C1,C2(10*10^4pF=0.1u)用于电源滤波,高频滤波用小电容,低频滤波用大电容。D3是一个led用以指示电源工况,其上的R1 510R即510.0Ω用以限流,防止led灯烧坏。
J3也是一个USB接口,提供5v电压,同时它也是一个模拟串口,其D-和D+引脚与ch340相应引脚连接构成一个串口设备。
stm32吃的是3v3将其VDD和VSS引脚分别连接到3v3和GND,就解决了stm32的吃饭问题。

注意:VBAT是stm32芯片的备用3.3v电源输入端,当没有备用电源是也需要将VBAT接到VDD上去。
VDDA和VSSA是模拟电源输入口,用以给stm32芯片内部ADC,复位电路供电因此必须分别接到VDD和VSS上。

复位电路

人工作久了容易自闭、精神恍惚,这时需要睡一觉就以重新焕发活力。stm32工作久了也容易“精神恍惚”————程序跑飞,也需要复位。

stm32的NRST引脚是复位信号接收引脚与RESET相连,芯片低电平复位。如上图所示,当芯片刚上电时,电容充电导通,此时RESET=0,芯片复位;当按下复位按钮时,RESET接地,芯片复位。

晶振电路

晶振是芯片的心跳,每一次脉冲激励芯片执行一条指令,因此晶振的重要性不言而喻。

上图是stm32的晶振电路,8M无源晶振,其中R9(1M)用于稳定晶振的脉冲波形,C8(20P)和C9(20P)一方面构成晶振起振的必要回路,另一方面匹配电容,同时还具有调节晶振电路频率的作用。

注意:OSC32IN是外部32.768K晶振输入口,可以直接接时钟信号,也可以不洁作IO用。OSCIN是外部系统时钟输入信号,可以接时钟信号,也可以不接做IO口用,此时stm32用芯片内部的RC电路起振产生时钟信号。

资料下载链接https://pan.baidu.com/s/1nwOvOXS-JCQBaAKxShCU1Q?pwd=mkri

基于stm32单片机多功能可调时钟闹钟万年历计时器闹铃提醒Proteus仿真(源码+仿真+原理图+PCB)相关推荐

  1. 基于STM32单片机的直流电机PWM调速(Proteus仿真+程序)

    编号:9 基于STM32单片机的直流电机PWM调速 功能描述: 由 STM32单片机+液晶1602显示模块+键盘模块+L298N电机驱动模块+直流电机 1.采用STM32F103单片机为主控制器 2. ...

  2. 基于STM32单片机闭环步进电机驱动调速仿真(仿真+源码+全套资料)

    资料编号:081 (1) 基本功能:本任务通过输出脉冲控制步进电机的停止.运动.方向.使用 两个按键分别控制步进电机的正转和反转,再次按下这两个按键,步进电机停止, 同时 LCD 显示电机状态信息. ...

  3. 81、基于STM32单片机智能台灯 PWM调光坐姿矫正 灯光控制定时台灯设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.硬件框图 七.流程图 八.程序源码 九.资料包括 摘要 随着社会在不断进 ...

  4. STM32单片机RGB红蓝调光植物补光系统红光蓝光PWM调色调节亮度

    实践制作DIY- GC0040-红蓝调光植物补光系统 一.功能说明: 基于STM32单片机设计-红蓝调光植物补光系统 二.功能介绍: STM32F103C系列最小系统板+12V电源+2个恒流源驱动板驱 ...

  5. 基于STM32单片机智能自动伸缩衣架雨滴重量光强温度检测伸缩速度可调-蓝牙版

    实践制作DIY- GC0010-智能自动伸缩衣架 一.功能说明: 基于STM32单片机设计-智能自动伸缩衣架 功能介绍: 基于STM32F103C系列,LCD1602显示器,光敏电阻采集光强,雨滴传感 ...

  6. 基于STM32单片机智能自动伸缩衣架雨滴重量光强温度检测伸缩速度可调

    实践制作DIY- GC0010-智能自动伸缩衣架 一.功能说明: 基于STM32单片机设计-智能自动伸缩衣架 功能介绍: 1.基于STM32F103C系列,LCD1602显示器,光敏电阻采集光强,雨滴 ...

  7. 83、基于STM32单片机的智能公交报站系统 公交车GPS定位时钟语音报站器

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六. 硬件框图 七.流程图 八.程序源码 九.资料包括 摘要 本文详细介绍了 ...

  8. 基于51单片机万年历可调电子时钟闹钟温度(实物图+源码+仿真+原理图+论文)

     资料编号:038 硬件构成:51单片机+最小系统+LCD1602液晶显示模块+时钟模块+温度采集模块+蜂鸣器模块+按键模块 1.采用LCD1602液晶屏显示.DS1302时钟芯片和DS18B20温度 ...

  9. 基于单片机病房呼叫系统数码管显示房号设计-基于单片机工业生产现场的光照强度控制设计-基于单片机多功能智能台灯设计-基于单片机二维码LCD显示设计-基于单片机多功能时钟闹钟万年历控制系统设计【毕设分享】

    1641基于单片机病房呼叫系统数码管显示房号设计 设计思路:此设计实现的功能通过按键模拟房号,当按键按下时会将房号编号发送到数目管上进行显示,并通过声光进行提示.包含的电路有:数码管显示电路.按键电路 ...

最新文章

  1. Code Sign error: Provisioning profile 'xxxxxxxxxxxxxxxxxxxxxxxxx'
  2. css3 transtion and transform
  3. Java多线程系列--“JUC线程池”06之 Callable和Future
  4. html中js设置密码长度,JS判断邮箱格式,密码输入是否一致,不能为空,长度控制等...
  5. 虚拟机系列 | 执行引擎和垃圾回收
  6. 悲观锁和乐观锁_浅谈数据库悲观锁和乐观锁
  7. 解决 ssh 登录到ubuntu server 慢的问题
  8. linux开启和使用swap
  9. Vue解决接口访问跨域问题
  10. micropython websocket_通过websocket登录ESP32
  11. VMware ESXi 客户端连接控制台时,提示“VMRC 控制台连接已断开...正在尝试重新连接”的解决方法
  12. linux下载ed2k资源,linux下迅雷替代方案-linux下载工具
  13. 广东省计算机一级网络题分值,计算机一级考试内容题型以及分值
  14. 从输入URL到页面展现的全过程
  15. android导航栏动画,Android 带Lottie动画的导航栏
  16. 算法学习笔记——数据结构:树状数组BIT
  17. problem 1148
  18. 引擎磨合 (Break In) 的秘密
  19. 工作中常用的设计模式 -- 责任链模式
  20. Android TV书签

热门文章

  1. 全面理解Java内存模型(JMM)及volatile关键字
  2. 开源应用中心 | 这款轻量简洁的开源论坛系统,你get了没?
  3. 8.4 自定义 Git - 使用强制策略的一个例子
  4. COCO数据集相关知识介绍
  5. Android高性能音频之OpenSL ES录音流程(一)
  6. wampserver php cgi,wampserver 把apache 换成 nginx
  7. os.environ的解释
  8. Selenium学习之显式等待中的EC模块详解
  9. 【数据结构】10分钟教你用栈求解迷宫老鼠问题超详细教程附C++源代码
  10. python镜像源设置