找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3921|回复: 3
收起左侧

求程序 带日历时钟及TC72温度显示的电子万年历仿真

[复制链接]
ID:201132 发表于 2017-5-16 17:31 | 显示全部楼层 |阅读模式
带日历时钟及温度显示的电子万年历 附件里面的程序不全 但是hex好使

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
0.png 0.png 万年历.png

单片机源程序如下:
  1. //-----------------------------------------------------------------
  2. //  名称: 带日历时钟及温度显示的电子万年历
  3. //-----------------------------------------------------------------
  4. //  说明: 本例使用了DS1302读取日期时间,用TC72获取温度数据
  5. //        通过74HC595驱动数码管显示.
  6. //
  7. //-----------------------------------------------------------------
  8. #include <reg51.h>
  9. #include <intrins.h>
  10. #include <stdio.h>
  11. #include <string.h>
  12. #define INT8U  unsigned char
  13. #define INT16U unsigned int        
  14. const INT8U SEG_CODE[]=        //0~9的段码,摄氏度段码(2字节),黑屏段码,负号段码
  15. { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0xC6,0x9C,0xFF,0xBF};
  16. INT8U DateTime[7] = {5,4,3,2,1,5,12};  //假定时间12年1月2日,3点,4分5秒
  17. sbit DS        = P3^0;                        //串行数据输入
  18. sbit SH_CP = P3^1;                //移位时钟脉冲
  19. sbit ST_CP = P3^2;                //输出锁存器控制脉冲
  20. extern void Init_DS1302();
  21. extern void GetDateTime();
  22. extern void SetDateTime();
  23. extern INT8U CurrDateTime[];
  24. extern void Config_TC72();
  25. extern float Read_TC72_Temperature();
  26. //所有数码管的显示缓冲(年有高2位固定为20),最后2位固定为摄氏度段码索引
  27. INT8U disp_buff[21] = {2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,10};
  28. //-----------------------------------------------------------------
  29. // 延时函数
  30. //-----------------------------------------------------------------
  31. void delay_ms(INT16U x) { INT8U t; while(x--) for(t = 0; t<120; t++);}
  32. //-----------------------------------------------------------------
  33. // 1字节数据串行输入595子程序
  34. //-----------------------------------------------------------------
  35. void Serial_Input_595(INT8U d)
  36. {


  37. }

  38. //-----------------------------------------------------------------
  39. // 595并行输出子程序
  40. //-----------------------------------------------------------------
  41. void Parallel_Output_595()
  42. {


  43. }

  44. //------------------------------------------------------------------
  45. // 主程序
  46. //------------------------------------------------------------------
  47. void main()
  48. {

  49. ……………………

  50. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
01 带日历时钟及温度显示的电子万年历.rar (38.43 KB, 下载次数: 32)
回复

使用道具 举报

ID:82765 发表于 2017-5-19 16:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:1005371 发表于 2022-4-10 18:28 | 显示全部楼层
你这不对吧?
回复

使用道具 举报

ID:262 发表于 2022-4-11 05:10 | 显示全部楼层

这个程序作者 留了一手  用Proteus7.5打开dsn文件 载入hex 是可以正常仿真,,但是他的程序是有问题的 也就是和hex对不上 ,还是去下载一个其他的 万年历吧  51hei里面很多  搜索栏 输入万年历即可 比如说这个http://www.51hei.com/bbs/dpj-214704-1.html
http://www.51hei.com/bbs/dpj-160272-1.html
http://www.51hei.com/bbs/dpj-218564-1.html
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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