【新提醒】HC32F030开发板所实现的电子时钟

HC32F030与HC32L136不同,它自身没有内置硬件的万年历 RTC,要想实现与RTC类似的功能只能借助于systick,利用秒信号来进行计时,并通过程序来完成时间的进制转换。
实现电子时钟功能的主程序如下:
  1. int32_t main(void)
  2. {
  3. stc_gpio_config_t stcGpioCfg;
  4. Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
  5. delay1ms(500);
  6. App_OledInit();
  7. OLED_VCC();
  8. OLED_GND();
  9. OLED_Init();
  10. OLED_Clear();
  11. OLED_ShowString(0,0,"HC32F030 TEST",16);
  12. OLED_ShowString(0,2,"OLED DISPLAY",16);
  13. OLED_ShowCHinese(0, 4, 0);
  14. OLED_ShowCHinese(16, 4, 1);
  15. OLED_ShowCHinese(32, 4, 2);
  16. OLED_ShowCHinese(48, 4, 3);
  17. OLED_ShowCHinese(64, 4, 4);
  18. OLED_ShowString(0,6,"   :  :",16);
  19. stcGpioCfg.enDir = GpioDirOut;
  20. stcGpioCfg.enDrv = GpioDrvH;
  21. stcGpioCfg.enPuPd = GpioPd;
  22. stcGpioCfg.enOD = GpioOdDisable;
  23. Gpio_Init(GpioPortD, GpioPin5, &stcGpioCfg);
  24. SysTick_Config(SystemCoreClock);
  25. while (1)
  26. {
  27. OLED_ShowNum(8,6,hh,2,16);
  28. OLED_ShowNum(32,6,mm,2,16);
  29. OLED_ShowNum(56,6,ss,2,16);
  30. }
  31. }

复制代码

显示计时的处理函数为:
  1. void SysTick_Handler(void)
  2. {
  3. static uint8_t u8Flag = TRUE;
  4. Gpio_WriteOutputIO(GpioPortD, GpioPin5, u8Flag);
  5. ss++;
  6. if(ss==60)
  7. {
  8. mm++;
  9. ss=0;
  10. }
  11. if(mm==60)
  12. {
  13. hh++;
  14. mm=0;
  15. }
  16. if(hh==24)
  17. {
  18. hh=0;
  19. }
  20. u8Flag = !u8Flag;
  21. }

复制代码

程序下载后,其运行效果如图1和图2所示。

图1  计时效果1

图2计时效果2

工程文件:

(0)

相关推荐

  • [STM32]Nucleo-F446RE(主控:STM32F446RE)测评

    测: *基本概念: 1. 什么是Nucleo?(说实话,作者我也是对这个概念很好奇) Nucleo是意法半导体加入ARM embed项目后的又一个风格系列板卡,有两个鲜明的特点:1.兼容Arduino ...

  • (8条消息) 74HC165的使用

    74HC165是并行输入串行输出的逻辑芯片,一般用于扩展输入的IO口.使用电路如下: 外部可以接8个输入,然后通过3个口与单片机相连.3个口的功能为: PL:输出使能: CP:时钟线: Q7:数据输出 ...

  • 【新提醒】独特的HC32F030 开发板显示替代方案

    HC32F030开发板上设计有笔端式液晶屏的接口,可能是节省成本的考虑,亦或是HC32F030并没有配置LCD驱动器. 为了给开发板配备一个人机交互的桥梁,决定以I2C接口的OLED屏为目标对象. 那 ...

  • 【新提醒】HC32F030开发板上较接近完美彩屏显示

    HC32F030有着64K Flash和8KRAM,可以支持显示屏显示一定尺寸的图片和掌握信息. 有了前面双色OLED屏显示的基础上,就可以调试让HC32F030开发板显示图片和掌握信息了. 为了便于 ...

  • 【新提醒】HC32L072开发板之 KEY控制LED

    开发板上LED与KEY的原理图如图1所示,可以用SW1和SW2分别控制DS1和DS2.其程序如下: 图1  LED与KEY原理图 实现控制功能的程序如下: /********************* ...

  • 【新提醒】HC32L072开发板驱动 I2C接口光照传感器

    单有了显示单元还只是解决了人机交互的部分问题,要让机器具备感知能力就离不开传感器.传感器的种类有许多种,BH1750光照传感器就是其中的一种,它是一种基于I2C接口的数字式传感器,因此无需对获取的数据 ...

  • 【新提醒】HC32F460开发板OLED屏显示驱动

    与其他的开发板不同,在HC32F460开发板上配置了小巧别致的I2C接口OLED屏. 有了它,我们需要显示的数据和信息就不必完全借助于串口通信了! 好像是华大要测试测评者的水平,尽管开发板配置了OLE ...

  • 【新提醒】基于HC32F460开发板的RTC电子时钟

    在HC32F460内部配有RTC功能,这里我们为它配上OLED屏显示,这样它就构成一个RTC电子时钟. 所用的OLED屏就是随板子自带的,该OLED屏的原理图见图1所示. 图1  OLED屏原理图 本 ...

  • 【新提醒】HC32F460开发板数据采样及显示

    HC32F460内置有2个独立的12位ADC,并在开发板上配有10K的电位器以模拟电位高低,见图1所示. 由原理图可知该电位器的引脚被连到MCU的PC0上,即ADC12_IN10. 图1 电位器连接 ...

  • 【新提醒】基于HC32F460开发板的秘密锁功能实现

    本帖最后由 jinglixixi 于 2020-10-2 13:41 编辑 在HC32F460的开发板上,提供了一个I2C接口的AT24C02存储芯片,通过它可进行关键参数的读写. 由于其存储容量相对 ...

  • 【新提醒】基于HC32F460开发板的FLASH读写及字库构建测试

    本帖最后由 jinglixixi 于 2020-10-3 00:30 编辑 在HC32F460的开发板上,提供了一个SPI接口的W25Q64存储芯片,由于其存储容量较大,故适宜做字库或图库来使用. W ...