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

  • 相关阅读:
    [数据结构] 树、森林及二叉树的应用
    docker命令大全
    C++类和对象【下】
    Go实现udp服务
    OpenHarmony图片处理——XmlGraphicsBatik
    十七、垃圾收集器
    系统性能测试
    pycharm添加pyside6插件
    RL强化学习总结(四)——DQN算法
    有序管理SSH Keys,爆击Permission denied
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127759384