你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32电子钟万年历Proteus仿真_LCD1602液晶屏 (仿真+原理图+PCB+源码+报告)

[复制链接]
STMCU小助手 发布时间:2022-5-29 22:14
本设计
STM32电子钟万年历Proteus仿真_LCD1602液晶屏 (仿真+原理图+PCB+源码+参考报告)
仿真:protues 8.9
程序编译器:keil 5
编程语言:C语言
编号C0003
基本功能:
1.具有显示年、月、日、时、分、秒功能;
2.能计算并显示星期;
3.能手动调整时间;
4.具有闹钟功能(LED)。

仿真图(提供源文件):
M8PR0D_T1YE5T`LY39J0[7S.png
原理图(提供源文件):
GLIJ6RAA(LM@8FI}LQHRUGE.png
PCB(提供源文件):
FFM4O4S5ZF@R)QL(Y3@W6CU.png

程序(提供源文件源码):

COB_6`O5NBVF$~]WPU[HELQ.png

以下为部分程序:
  1. int main(void)
  2. {
  3.   bool i = 0;
  4.   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  5.   HAL_Init();
  6.   /* Configure the system clock */
  7.   SystemClock_Config();
  8.   delay_init(10);                   //初始化延时函数
  9.   TIM3_Init(2400-1, 72-1); // 10ms
  10.   MX_RTC_Init();  
  11.   Key_Init();
  12.   Beep_Init();
  13.   LCD_Init();
  14.   sAlrm_g.Alm_Hour = 0;
  15.   sAlrm_g.Alm_Min  = 0;
  16.   sAlrm_g.Alm_Sec  = 10;
  17.   while(1)
  18.   {
  19.     switch(set_mode)
  20.     {
  21.       case 0:
  22.         HAL_RTC_GetDate(&hrtc, &sDate_g, RTC_FORMAT_BIN);
  23.         HAL_RTC_GetTime(&hrtc, &sTime_g, RTC_FORMAT_BIN);        
  24.         Conv_Disp_Data(0);
  25.         LCD_write_string(0, 0, (char*)temp_line_one);
  26.         LCD_write_string(0, 1, (char*)temp_line_two);
  27.       break;
  28.       case 1:
  29.         Conv_Disp_Data(i*1);
  30.         i = !i;
  31.         LCD_write_string(0, 0, (char*)temp_line_one);
  32.       break;
  33.       case 2:
  34.         Conv_Disp_Data(i*2);
  35.         i = !i;
  36.         LCD_write_string(0, 0, (char*)temp_line_one);
  37.       break;
  38.       case 3:
  39.         Conv_Disp_Data(i*3);
  40.         i = !i;
  41.         LCD_write_string(0, 0, (char*)temp_line_one);
  42.       break;
  43.       case 4:
  44.         Conv_Disp_Data(i*4);
  45.         i = !i;
  46.         LCD_write_string(0, 0, (char*)temp_line_one);
  47.       break;
  48.       case 5:
  49.         Conv_Disp_Data(i*5);
  50.         i = !i;
  51.         LCD_write_string(0, 0, (char*)temp_line_one);
  52.       break;
  53.       case 6:
  54.         Conv_Disp_Data(i*6);
  55.         i = !i;
  56.         LCD_write_string(0, 0, (char*)temp_line_one);
  57.       break;   
  58.       case 7:
  59.         Conv_Disp_Data(i*7);
  60.         i = !i;
  61.         LCD_write_string(0, 1, (char*)temp_line_two);
  62.       break;   
  63.       case 8:
  64.         Conv_Disp_Data(i*8);
  65.         i = !i;
  66.         LCD_write_string(0, 1, (char*)temp_line_two);
  67.       break;   
  68.       case 9:
  69.         Conv_Disp_Data(i*9);
  70.         i = !i;
  71.         LCD_write_string(0, 1, (char*)temp_line_two);
  72.       break;     
  73.       default:        
  74.       break;      
  75.     }
  76.     if( (sTime_g.Hours == sAlrm_g.Alm_Hour) && (sTime_g.Minutes == sAlrm_g.Alm_Min) && (sTime_g.Seconds == sAlrm_g.Alm_Sec) )
  77.     {
  78.       for(uint8_t j = 0; j < 10; j++)
  79.       {
  80.         LED2_TOG();
  81.         HAL_Delay(300);
  82.       }   
  83.     }
  84.     HAL_Delay(100);
  85.   }
  86. }
复制代码
资料清单:
640.png

收藏 评论0 发布时间:2022-5-29 22:14

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版