找回密码
 立即注册
查看: 568|回复: 12

我好激动,自从自己完成手电项目以后.又做了个东西

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:352
  • 最近打卡:2025-05-03 00:27:19
已绑定手机

130

主题

1521

回帖

1865

积分

金牌会员

积分
1865
发表于 2024-10-11 17:04:59 | 显示全部楼层 |阅读模式
自己按照自己的理解,
独立完成了这个时钟代码.除了数码管.
其他的代码还有设置,全部自己一个一个代码敲出来
虽然代码乱乱的,但是功能完全实现了.超级开心.

  1. #include "stc8h.h"
  2. #include "intrins.h"
  3. #include "stdio.h"
  4. #include "tm1637.h"
  5. #define MAIN_Fosc 11059200L // 定义主时钟
  6. #define BRT (65536 - MAIN_Fosc / 115200 / 4)
  7. #define TIME 20
  8. unsigned char a;
  9. unsigned char b;
  10. unsigned char c;
  11. unsigned char d;
  12. bit h=0  ;
  13. unsigned char s1=1,s2=6,f1=4,f2=8;
  14. unsigned char m=0;
  15. void UartInit();
  16. void Timer0_Init(void);
  17. void delayms(unsigned int ms);
  18. void shan()
  19. {
  20.     P11 = 0; delayms(5); P11 = 1; delayms(250);
  21. }
  22. void INT0_Isr() interrupt 0
  23. {
  24.          
  25. //        printf("out=%bd \r",t);
  26. //        printf("out=%bd \r",ld);
  27. }
  28. void main()
  29. {
  30.     P_SW2 |= 0x80;
  31.     P1M0 = 0x00; P1M1 = 0x00;
  32.     P3M0 = 0x00; P3M1 = 0x00;         
  33.     EA = 1; // 全局中断使能
  34.     IT0 = 1;                                    //使能INT0上升沿和下降沿中断
  35.     EX0 = 1;                                    //使能INT0中断
  36.     Timer0_Init();
  37.     UartInit();
  38.    
  39.         
  40.     while(1)
  41.     {
  42.         TM1637_Display(a,b,c,d,h );
  43.         a=s1;b=s2;c=f1;d=f2;
  44.         
  45.          
  46.     }
  47. }
  48. // 定时器0中断服务程序
  49. void Timer0_Isr(void) interrupt 1
  50. {
  51.     static unsigned char n = 0;
  52.     n++;
  53.     if (n == TIME)
  54.     {
  55.         m++;
  56.           h=!h;
  57.         n = 0;
  58.     }
  59.     if (m == 60)
  60.     {
  61.         f2++;
  62.         m = 0;
  63.     }
  64.     if(f2==10)
  65.     {
  66.             f1++;
  67.             f2=0;
  68.     }
  69.     if(f1==6)
  70.     {
  71.      s2++;
  72.         f1=0;   
  73.     }
  74.     if(s2==10)
  75.     {
  76.     s1++;
  77.             s2=0;
  78.     }
  79.     if(s1==2&&s2==4)
  80.     {
  81.     s1=0;s2=0;
  82.     }
  83.    
  84.             if(P36==0)
  85.         {
  86.         f2++;
  87.         }
  88.         if(P37==0)
  89.         {
  90.         f1++;
  91.         }
  92. }
  93. void Timer0_Init(void)                //50毫秒@11.0592MHz
  94. {
  95.         AUXR &= 0x7F;                        //定时器时钟12T模式
  96.         TMOD &= 0xF0;                        //设置定时器模式
  97.         TL0 = 0x00;                                //设置定时初始值
  98.         TH0 = 0x4C;                                //设置定时初始值
  99.         TF0 = 0;                                //清除TF0标志
  100.         TR0 = 1;                                //定时器0开始计时
  101.         ET0 = 1;                                //使能定时器0中断
  102. }
  103. void UartInit()
  104. {
  105.     SCON = 0x5a;
  106.     T2L = BRT;
  107.     T2H = BRT >> 8;
  108.     AUXR = 0x15;
  109. }
  110. void delayms(unsigned int ms)
  111. {
  112.     unsigned int i;
  113.     do
  114.     {
  115.         i = MAIN_Fosc / 10000;
  116.         while (--i);
  117.     } while (--ms);
  118. }
复制代码



1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:239
  • 最近打卡:2025-05-02 03:42:37

22

主题

283

回帖

907

积分

高级会员

积分
907
发表于 2024-10-11 19:13:58 来自手机 | 显示全部楼层
REMOVEUNUSED
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-03 00:02:01
已绑定手机

19

主题

3191

回帖

4876

积分

论坛元老

积分
4876
发表于 2024-10-11 19:15:21 来自手机 | 显示全部楼层
1637使用数码管的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:392
  • 最近打卡:2025-05-02 23:40:52

0

主题

336

回帖

1494

积分

金牌会员

积分
1494
发表于 2024-10-11 20:08:30 | 显示全部楼层
大大的赞一下,继续努力
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:352
  • 最近打卡:2025-05-03 00:27:19
已绑定手机

130

主题

1521

回帖

1865

积分

金牌会员

积分
1865
发表于 2024-10-11 20:25:53 | 显示全部楼层
so*** 发表于 2024-10-11 19:15
1637使用数码管的

是啊,用的1637数码管,,i2c蛮好用的
我看论坛好多都用的 74ch595   我见有5脚,我就选了这个4脚的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:352
  • 最近打卡:2025-05-03 00:27:19
已绑定手机

130

主题

1521

回帖

1865

积分

金牌会员

积分
1865
发表于 2024-10-11 20:26:25 | 显示全部楼层
xxxe*** 发表于 2024-10-11 20:08
大大的赞一下,继续努力

单片机这玩意真好玩.
玩了好多年的弹弓和游戏都不玩了

点评

好呀,把你的弹弓寄给我吧  详情 回复 发表于 2024-10-11 20:53
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-10-11 20:53:14 | 显示全部楼层
vb2*** 发表于 2024-10-11 20:26
单片机这玩意真好玩.
玩了好多年的弹弓和游戏都不玩了

好呀,把你的弹弓寄给我吧
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:352
  • 最近打卡:2025-05-03 00:27:19
已绑定手机

130

主题

1521

回帖

1865

积分

金牌会员

积分
1865
发表于 2024-10-12 00:23:54 来自手机 | 显示全部楼层
晓飛飛 发表于 2024-10-11 20:53
好呀,把你的弹弓寄给我吧

没有问题,我好多弹弓,寄几把给你,地址发给我
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-02 07:32:37

21

主题

564

回帖

2678

积分

金牌会员

积分
2678
发表于 2024-10-12 08:04:22 | 显示全部楼层
这是上道了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:375
  • 最近打卡:2025-04-26 15:51:33
已绑定手机

27

主题

301

回帖

822

积分

高级会员

积分
822
发表于 2024-10-12 08:19:30 | 显示全部楼层
STC8H的片子,可以试试用片内的RTC做
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:09 , Processed in 0.153244 second(s), 119 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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