查看: 2903|回复: 6

基于S08P-Lite开发板的电子时钟实现

[复制链接]
  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7092
    最后登录
    2023-4-20
    发表于 2021-3-8 12:28:26 | 显示全部楼层 |阅读模式
    S08P-Lite开发板所用的MC9S08PT60所配置的RTC计时器是个准RTC,它没有像通常RTC那样提供进制处理等功能。
    为此,无法直接利用该RTC来进行往常的电子时钟设计。为实现电子时钟的功能这里是采用例程所提供的毫秒延时函数DelayMS(),
    再为它添加上进制处理和OLED屏显示即可。

    显示电子时钟的主程序为:
    1. void main(void)
    2. {
    3. uint8_t i=0,j=0,k=0;
    4. Sys_Init();
    5. EnableInterrupts;
    6. MTIM1_Init();
    7. PORT_PTAOE_PTAOE2 = 1;     //PTA2
    8. PORT_PTAOE_PTAOE3 = 1;     //PTA3
    9. DelayMS(1);
    10. OLED_Init();
    11. OLED_Clear();
    12. OLED_ShowString(0,0,"+C9)08(*60",16);
    13. i=0;
    14. OLED_ShowChar(16,2,':',16);
    15. OLED_ShowChar(40,2,':',16);
    16. while(1)
    17. {
    18. OLED_ShowNum(0,2,k,2,16);
    19. OLED_ShowNum(24,2,j,2,16);
    20. OLED_ShowNum(48,2,i,2,16);
    21. i++;
    22. if(i==60)
    23. {
    24. j++;
    25. i=0;
    26. }
    27. if(j==60)
    28. {
    29. k++;
    30. j=0;
    31. }
    32. if(k==24)
    33. {
    34. k=0;
    35. }
    36. DelayMS(1000);
    37. }
    38. }
    复制代码

    经程序编译下载,其计时效果如下图所示。
    360截图165603158510176.png
    计时效果图

    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    6 小时前
  • 签到天数: 558 天

    [LV.9]以坛为家II

    34

    主题

    5916

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5703
    最后登录
    2024-4-26
    发表于 2021-3-8 13:21:30 | 显示全部楼层
    感谢分享,学习了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7092
    最后登录
    2023-4-20
     楼主| 发表于 2021-3-8 14:01:03 | 显示全部楼层
    ghost110 发表于 2021-3-8 13:21
    感谢分享,学习了

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2021-3-8 15:31:01 | 显示全部楼层
    谢谢楼主分享。
    但从实现的架构来讲,计数与显示要分开处理。
    计数要通过定时器实现,而实现在放在前台的while(1)中处理。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-11-4 13:30
  • 签到天数: 47 天

    [LV.5]常住居民I

    3

    主题

    167

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    379
    最后登录
    2024-4-16
    发表于 2021-3-8 15:56:13 | 显示全部楼层
    感谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7092
    最后登录
    2023-4-20
     楼主| 发表于 2021-3-8 17:26:54 | 显示全部楼层
    jobszheng5 发表于 2021-3-8 15:31
    谢谢楼主分享。
    但从实现的架构来讲,计数与显示要分开处理。
    计数要通过定时器实现,而实现在放在前台的wh ...

    是这样
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7092
    最后登录
    2023-4-20
     楼主| 发表于 2021-3-8 17:27:30 | 显示全部楼层

    感谢支持!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-26 14:40 , Processed in 0.125770 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表