This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 我制作旋转数字时钟的经验

Guru**** 2539500 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/584474/my-experience-of-making-rotating-digital-clock

您好~大家,感谢您抽出时间首先阅读我的帖子。

我突然出现了一个旋转的数字时钟。我迫不及待地想和大家分享我的快乐和经验。希望它能给你们带来一些帮助。

起初,我找到一个纸板作为刻度盘,用通孔画发光二极管的位置,然后把发光二极管放到纸板上,连接电源线。 整个刻度盘都已完成!还有,为了识别夜晚的时间状态,我每五个LED就会添加一个红色LED。 为了改善外观,我发现了一盒漂亮的巧克力作为外皮。 该线路建立在通用板上,由柔性导线连接。 它之所以被命名为“旋转数字时钟” ,是因为它连接了一个环形上的LED,LED每秒钟就会移除一个座椅。 此外,时钟的数字显示按数字进行充电,以便可以节省LED的数量和线路的复杂性。

设计包括硬件的建筑和软件的编程设计。请查看以下图片:

我用DS1302作为系统的计时核心,我自己认为这款芯片--DS1302质量很好,非常适合这里。这是DS1302的数据表: http://www.kynix.com/uploadfiles/pdf8827/DS1302S.pdf。1302。

下一步。我处理DS1302的写入和读取程序。这是编程代码:

  1. // DS1302写入函数,向DS1302的指定地址写入一个字节的数据。
  2. void write_ds1302(uchar cmd,uchar indata)
  3.  SCLK=0;
  4.  重置=1;
  5.  write_byte(cmd);       
  6.  write_byte(indata);
  7.  SCLK=0;
  8.  重置=0;
  9. }
  10. // DS1302读取函数,从DS1302的指定地址读取一个字节的数据。
  11. uchar read_ds1302 (uchar地址)
  12.  Uchar backdata;
  13.  SCLK=0;
  14.  重置=1;
  15.  write_byte(addr);               //先写地址
  16.  backdata=read_byte();             //然后读数据
  17.  SCLK=0;
  18.  重置=0;
  19.  返回(回溯数据);
  20. }
  21. //读取时间函数,负责读取当前时间,并将读取的时间转换为10进制数
  22. void Get_Time()
  23.      uchar sec, min, hour;                           //定义秒、分和小时变量
  24.      write_ds1302 (0x8e,0x00);        //控制命令,wP=0,允许写操作   
  25.  write_ds1302 (0x90,0xa0);        //涓流充电控制
  26.      sec=read_ds1302(0x81);           //读取秒
  27.  min=read_ds1302 (0x83);           //读取分
  28.  hour=read_ds1302(0x85);         //读取时
  29.  Time_buf[0]=sec/16*10+sec%16;  //将读取到的16进制数转化为10进制
  30.  Time_buf[1]=min/16*10+min%16;  //将读取到的16进制数转化为10进制
  31.  Time_buf[2]=hour/16*10+hour%16;//将读取到的16进制数转化为10进制
  32. }

最后,四路数字射线管被用作晶体管驱动的显示元件--9012。

我很高兴它在决赛中发挥了良好的效果!

答:我的时钟不仅有LED指示的双闹钟功能,还有时间校正功能。 此外,电流由调节电源供电,这有利于环保。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Ling:

    非常感谢您与我们分享您的数字时钟。  看起来是一个很棒的项目,您似乎对结果很满意。   

    我看到您使用了用于UC的ST Micro和Maxim定时器,所以我想知道您在这种设计中使用了哪些TI器件?

    ~Leonard   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我刚刚用过STC89C52、DS1302,CD4017等等。没有其他的了。 T0是STC89C52中的计时器,用于生成信号以驱动60个LED。