找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11249|回复: 30
打印 上一主题 下一主题
收起左侧

max7219、ds18B20、ds12c887数码管显示万年历所有资料

  [复制链接]
跳转到指定楼层
楼主
放假啦,在家没事做,就做啦个数码管显示的万年历,用max7219做的数码管驱动,ds18B20温度采集,ds12c887时钟芯片,造价也不贵,板子早就画好啦,但没有条件做,只有手工焊接啦,原理图、PCB都在附件里头,有兴趣可以玩玩,也希望各位提下意见,呵呵。。
数字万年历原理图及pcb.zip (294.91 KB, 下载次数: 302) 数字钟源程序.zip (91.9 KB, 下载次数: 285)

效果图如下



(原文件名:max7219万年历pcb.jpg)

(原文件名:max7219万年历原理图.jpg)



下面是max7219的子程序
  1. #include "main.h"
  2. /*-------------------------------------------------
  3.                 向MAX7219写入字节(8位)
  4. --------------------------------------------------*/
  5. void SendChar (unsigned char ch)
  6.    {
  7.     unsigned char i,temp;
  8.     _nop_();
  9.     for (i=0;i<8;i++)
  10.        {
  11.            temp=ch&0x80;
  12.            ch=ch<<1;
  13.            if(temp)
  14.           {
  15.            dis_DIN=1;
  16.            dis_CLK=0;
  17.            dis_CLK=1;
  18.           }
  19.         else
  20.           {
  21.            dis_DIN=0;
  22.            dis_CLK=0;
  23.            dis_CLK=1;
  24.           }
  25.        }
  26.    }

  27. /*-------------------------------------------------
  28.                向MAX7219写入字(16位)
  29. -------------------------------------------------*/
  30. void WriteWord_3 (unsigned char addr,unsigned char num)
  31.    {
  32.     dis_LOAD=0;
  33.     _nop_();
  34.     SendChar (addr);
  35.     _nop_();
  36.     SendChar (num);
  37.     _nop_();
  38.   SendChar (NoOp);
  39.     _nop_();
  40.     SendChar (0);
  41.     _nop_();
  42. SendChar (NoOp);
  43.     _nop_();
  44.     SendChar (0);
  45.     _nop_();
  46.     dis_LOAD=1;
  47.    }

  48. /*-------------------------------------------------
  49.                向MAX7219写入字(16位)
  50. -------------------------------------------------*/
  51. void WriteWord_2 (unsigned char addr,unsigned char num)//发现与第二及第三块相连的数码管闪烁,与test9相比增加了空操作后就不闪烁了!!
  52.    {
  53.     dis_LOAD=0;
  54.     _nop_();
  55.   SendChar (NoOp);
  56.     _nop_();
  57.     SendChar (0);
  58.    
  59.     _nop_();
  60.     SendChar (addr);
  61.     _nop_();
  62.     SendChar (num);
  63.     _nop_();
  64.   SendChar (NoOp);
  65.     _nop_();
  66.     SendChar (0);
  67.     _nop_();

  68.     dis_LOAD=1;
  69.    }

  70. /*-------------------------------------------------
  71.                向MAX7219写入字(16位)
  72. -------------------------------------------------*/
  73. void WriteWord_1 (unsigned char addr,unsigned char num)//发现与第二及第三块相连的数码管闪烁,与test9相比增加了空操作后就不闪烁了!!
  74.    {
  75.     dis_LOAD=0;
  76.     _nop_();
  77.         SendChar (NoOp);
  78.     _nop_();
  79.     SendChar (0);
  80.     _nop_();
  81.         SendChar (NoOp);
  82.     _nop_();
  83.     SendChar (0);
  84.     _nop_();
  85.     SendChar (addr);
  86.     _nop_();
  87.     SendChar (num);
  88.     _nop_();

  89.    
  90.     dis_LOAD=1;
  91.    }

  92. /*-------------------------------------------------
  93.                  MAX7219初始化
  94. -------------------------------------------------*/
  95. void InitDis (void)
  96.    {
  97.     WriteWord_1 (ScanLimit,ScanDigit);         /*设置扫描界限*/
  98.     WriteWord_1 (DecodeMode,DecodeDigit);      /*设置译码模式*/
  99.     WriteWord_1 (Intensity,IntensityGrade);    /*设置亮度*/
  100.     WriteWord_1 (ShutDown,NormalOperation);    /*设置电源工作模式*/
  101.    
  102.     WriteWord_2 (ScanLimit,ScanDigit);         /*设置扫描界限*/
  103.     WriteWord_2 (DecodeMode,DecodeDigit);      /*设置译码模式*/
  104.     WriteWord_2 (Intensity,IntensityGrade);    /*设置亮度*/
  105.     WriteWord_2 (ShutDown,NormalOperation);    /*设置电源工作模式*/

  106.     WriteWord_3 (ScanLimit,ScanDigit);         /*设置扫描界限*/
  107.     WriteWord_3 (DecodeMode,DecodeDigit);      /*设置译码模式*/
  108.     WriteWord_3 (Intensity,IntensityGrade);    /*设置亮度*/
  109.     WriteWord_3 (ShutDown,NormalOperation);    /*设置电源工作模式*/
  110.    }
复制代码




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏13 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:48711 发表于 2016-9-2 16:06 | 只看该作者
学习学习!!!!!!!!!!
回复

使用道具 举报

板凳
ID:135253 发表于 2016-9-4 09:18 | 只看该作者
很好,学习学习
回复

使用道具 举报

地板
ID:138443 发表于 2016-9-4 21:39 | 只看该作者
太好了,谢谢
回复

使用道具 举报

5#
ID:141149 发表于 2016-10-2 22:36 | 只看该作者
多谢分享
回复

使用道具 举报

6#
ID:141149 发表于 2016-10-4 16:54 | 只看该作者
为什么仿真后时间不走呢
回复

使用道具 举报

7#
ID:142054 发表于 2016-10-9 16:02 | 只看该作者
不懂,先学习学习
回复

使用道具 举报

8#
ID:142342 发表于 2016-10-16 12:33 | 只看该作者

不懂,先学习学习
回复

使用道具 举报

9#
ID:114068 发表于 2017-8-9 16:54 来自手机 | 只看该作者
谢谢楼主咯!学习了!
回复

使用道具 举报

10#
ID:140489 发表于 2017-9-15 14:59 | 只看该作者
仿真时间不走,是怎么回事
回复

使用道具 举报

11#
ID:140489 发表于 2017-9-20 15:59 | 只看该作者
开始仿真时间不走是12C887数据总线没加网络标号AD[0..7],加了后仿真走时正常;但是农历显示农历的数码管乱跳,显示乱码,
回复

使用道具 举报

12#
ID:237453 发表于 2017-10-6 12:31 | 只看该作者
i'm new member i don't have some point for download it...
回复

使用道具 举报

13#
ID:165276 发表于 2017-11-3 17:24 | 只看该作者
最近打算做一个这样的,学习一下。
回复

使用道具 举报

14#
ID:246166 发表于 2017-11-8 18:33 | 只看该作者
楼主太强了,学习学习
回复

使用道具 举报

15#
ID:243394 发表于 2017-11-21 16:19 | 只看该作者
学习学习,最近也在研究这个东东
回复

使用道具 举报

16#
ID:165276 发表于 2017-12-4 10:42 | 只看该作者
感谢楼主的参考程序帮我解决了max7219的问题。
回复

使用道具 举报

17#
ID:130538 发表于 2017-12-31 12:16 | 只看该作者
谢谢楼主咯!学习了!
回复

使用道具 举报

18#
ID:279667 发表于 2018-2-1 19:17 | 只看该作者
楼主强大,我要好好学习了
回复

使用道具 举报

19#
ID:324366 发表于 2018-5-17 16:17 | 只看该作者
为什么仿真出来不正常呢!

QQ截图20180517161623.png (38.19 KB, 下载次数: 112)

为什么仿真出来不正常呢!

为什么仿真出来不正常呢!
回复

使用道具 举报

20#
ID:371247 发表于 2018-7-14 08:06 | 只看该作者
感谢楼主的参考程序
回复

使用道具 举报

21#
ID:141149 发表于 2018-8-25 22:52 | 只看该作者
学习学习
回复

使用道具 举报

22#
ID:491850 发表于 2019-3-16 15:48 | 只看该作者
感谢楼主,帮了我大忙
回复

使用道具 举报

23#
ID:48140 发表于 2019-11-26 11:32 来自手机 | 只看该作者
我的也闪烁,学一下这个。
回复

使用道具 举报

24#
ID:683435 发表于 2020-1-9 17:04 | 只看该作者
向楼主学习学习!!!
回复

使用道具 举报

25#
ID:410680 发表于 2020-2-1 12:54 | 只看该作者
下载来修改一下看看效果,谢谢分享
回复

使用道具 举报

26#
ID:58086 发表于 2020-6-19 11:10 | 只看该作者

不懂,先学习学习
回复

使用道具 举报

27#
ID:517951 发表于 2020-11-15 17:17 | 只看该作者
不错,值得学习。51hei有你更精彩!!
回复

使用道具 举报

28#
ID:217618 发表于 2021-1-14 16:40 | 只看该作者
学习一下,第一次用MAX7219
回复

使用道具 举报

29#
ID:894735 发表于 2021-3-21 19:55 | 只看该作者
求教,求解,看看如何解决鬼影问题
回复

使用道具 举报

30#
ID:1011444 发表于 2022-8-18 11:44 | 只看该作者
程序复杂,特别是按键程序很乱,变量含义不清晰,有些地方很难理解,比如hide_min>9,hide_year<6等等
语句无注释,懂英文的人也会看不懂的。电路连好,烧入程序试验,能显示但不正常,调时时,数码管乱闪。我是初学单片机,才疏学浅,找不到原因,望各位大牛给以指导,不胜感激
回复

使用道具 举报

31#
ID:23303 发表于 2024-3-24 08:25 | 只看该作者
下载来修改一下看看效果,谢谢分享
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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