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

  • 相关阅读:
    JAVA通过JNA 调用c++动态链接库
    centos7系统安装流程
    RobotFramework之用例执行时添加命令行参数(十三)
    Mac下使用nvm,执行微信小程序自定义处理命令失败
    《C++》动态内存管理
    pprof - 在现网场景怎么用
    Spring Boot中的@Controller使用教程
    数字与字符串的相互转换——洛谷刷题收获(2023.10.2)
    二维码智慧门牌管理系统升级,解决地址要素挂接难题!
    linux解压文件命令
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127759384