• 基于stm32单片机多功能可调时钟闹钟万年历计时器闹铃提醒Proteus仿真


    资料编号:148   下面是相关功能视频演示:

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

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

    下面是该资料的程序部分展示:

    int main(void)
    {
        bool i = 0;
      /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
      HAL_Init();
      /* Configure the system clock */
      SystemClock_Config();
        delay_init(10);                       //初始化延时函数
      TIM3_Init(2400-1, 72-1); // 10ms
        MX_RTC_Init();    
        
        Key_Init();
        Beep_Init();
        LCD_Init();
        
        sAlrm_g.Alm_Hour = 0;
        sAlrm_g.Alm_Min  = 0;
        sAlrm_g.Alm_Sec  = 10;

      while(1)
      {
            switch(set_mode)
            {
                case 0:
                    HAL_RTC_GetDate(&hrtc, &sDate_g, RTC_FORMAT_BIN);
                    HAL_RTC_GetTime(&hrtc, &sTime_g, RTC_FORMAT_BIN);                
                    Conv_Disp_Data(0);
                    LCD_write_string(0, 0, (char*)temp_line_one);
                    LCD_write_string(0, 1, (char*)temp_line_two);
                break;
                
                case 1:
                    Conv_Disp_Data(i*1);
                    i = !i;
                    LCD_write_string(0, 0, (char*)temp_line_one);
                break;
                
                case 2:
                    Conv_Disp_Data(i*2);
                    i = !i;
                    LCD_write_string(0, 0, (char*)temp_line_one);
                break;
                
                case 3:
                    Conv_Disp_Data(i*3);
                    i = !i;
                    LCD_write_string(0, 0, (char*)temp_line_one);
                break;
                
                case 4:
                    Conv_Disp_Data(i*4);
                    i = !i;
                    LCD_write_string(0, 0, (char*)temp_line_one);
                break;
                
                case 5:
                    Conv_Disp_Data(i*5);
                    i = !i;
                    LCD_write_string(0, 0, (char*)temp_line_one);
                break;
                
                case 6:
                    Conv_Disp_Data(i*6);
                    i = !i;
                    LCD_write_string(0, 0, (char*)temp_line_one);
                break;

     下面是该资料的PCB展示:

    下面是该资料的原理图展示: 

    下面是该资料的分享下载链接:

    https://pan.baidu.com/s/1nwOvOXS-JCQBaAKxShCU1Q?pwd=mkri 

  • 相关阅读:
    Spring Boot与Shiro实现权限管理02
    音视频开发常见问题(四):视频花屏和绿屏
    简单的学生网页作业源码 基于html css javascript jquery bootstarp响应式网页设计——大理我的家乡旅游景点
    如何使用C++图形界面开发框架Qt创建一个应用程序?(Part 3)
    python中dir()和help()的作用
    kubernetes集群配置默认存储类(nfs)
    IDEA2021.2安装与配置(持续更新)
    远程调试环境配置
    【Python】【Fintech】用Python和蒙特卡洛法预测投资组合未来收益
    qt中数据库和excel互导数据————附带详细步骤和代码
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127759384