标题: 1602万年历单片机源代码+仿真+原理图+ PCB(可以直接打板) [打印本页]

作者: 清风兑酒    时间: 2019-3-8 16:36
标题: 1602万年历单片机源代码+仿真+原理图+ PCB(可以直接打板)
分享一个1602万年历,全套资料在附件,源代码+仿真+原理图+ PCB(可以直接打板)。喜欢动手的可以做,资料齐全,简单易弄。



原理图及仿真



PCB



源代码
  1. #include<reg52.h>
  2. #include <string.h>
  3. #include <intrins.h>
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. #define wd 1                                //定义是否有温度功能  =0时无温度,=1时有温度


  7. #define yh 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)
  8. #define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)

  9. //液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)
  10. sbit en=P2^6;
  11. sbit rw=P2^5;   //如果硬件上rw接地,就不用写这句和后面的rw=0了
  12. sbit rs=P2^4;


  13. //校时按键与C51的引脚连接定义

  14. sbit menu=P3^0;                //菜单键
  15. sbit set=P3^1;          //设置键
  16. sbit add=P3^2;          //加键
  17. sbit dec=P3^3;          //减键
  18. sbit ensure=P3^4;        //确认键

  19. sbit DQ=P2^0;                //
  20. sbit buzzer=P1^4;        //蜂鸣器,通过三极管8550驱动,端口低电平响

  21. sbit led=P2^4;                 //LCD背光开关
  22. bit  led1=1;

  23. unsigned char temp_miao;
  24. unsigned char bltime;  //背光亮的时间

  25. //DS1302时钟芯片与C51之间的引脚连接定义
  26. sbit IO=P1^1;
  27. sbit SCLK=P1^2;
  28. sbit RST=P1^0;


  29. uchar a,miao,shi,fen,ri,yue,nian,week,setn,temp;
  30. uint flag;
  31. //flag用于读取头文件中的温度值,和显示温度值
  32. bit c_moon;

  33. uchar nz_shi=12,nz_fen=0,nz_miao=0,setNZn;            //定义闹钟变量
  34. uchar shangyimiao,bsn,temp_hour;                        //记录上一秒时间
  35. uchar T_NL_NZ=0;                                                        //计数器
  36. bit timerOn=0;                                                        //闹钟启用标志位
  37. bit baoshi=0;                                                        //整点报时标志位
  38. bit  p_r=0;                                                                 //平年/润年  =0表示平年,=1表示润年
  39. data uchar year_moon,month_moon,day_moon,week;



  40. sbit ACC0=ACC^0;
  41. sbit ACC7=ACC^7;
  42. /************************************************************
  43. ACC累加器=A
  44. ACC.0=E0H

  45. ACC.0就是ACC的第0位。Acc可以位寻址。

  46. 累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,
  47. 是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,
  48. 常用A来表示累加器。但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。
  49. 一般的说法,A代表了累加器中的内容、而ACC代表的是累加器的地址。
  50. ***************************************************************/



  51. //********阳历转换阴历表************************************
  52. /*
  53. 公历年对应的农历数据,每年三字节,
  54. 格式第一字节BIT7-4 位表示闰月月份,值为0 为无闰月,BIT3-0 对应农历第1-4 月的大小
  55. 第二字节BIT7-0 对应农历第5-12 月大小,第三字节BIT7 表示农历第13 个月大小
  56. 月份对应的位为1 表示本农历月大(30 天),为0 表示小(29 天)
  57. 第三字节BIT6-5 表示春节的公历月份,BIT4-0 表示春节的公历日期
  58. */
  59. code uchar year_code[597]={
  60.                     0x04,0xAe,0x53,    //1901 0
  61.                     0x0A,0x57,0x48,    //1902 3
  62.                     0x55,0x26,0xBd,    //1903 6
  63.                     0x0d,0x26,0x50,    //1904 9
  64.                     0x0d,0x95,0x44,    //1905 12
  65.                     0x46,0xAA,0xB9,    //1906 15
  66.                     0x05,0x6A,0x4d,    //1907 18
  67.                     0x09,0xAd,0x42,    //1908 21
  68.                     0x24,0xAe,0xB6,    //1909
  69.                     0x04,0xAe,0x4A,    //1910
  70.                     0x6A,0x4d,0xBe,    //1911
  71.                     0x0A,0x4d,0x52,    //1912
  72.                     0x0d,0x25,0x46,    //1913
  73.                     0x5d,0x52,0xBA,    //1914
  74.                     0x0B,0x54,0x4e,    //1915
  75.                     0x0d,0x6A,0x43,    //1916
  76.                     0x29,0x6d,0x37,    //1917
  77.                     0x09,0x5B,0x4B,    //1918
  78.                     0x74,0x9B,0xC1,    //1919
  79.                     0x04,0x97,0x54,    //1920
  80.                     0x0A,0x4B,0x48,    //1921
  81.                     0x5B,0x25,0xBC,    //1922
  82.                     0x06,0xA5,0x50,    //1923
  83.                     0x06,0xd4,0x45,    //1924
  84.                     0x4A,0xdA,0xB8,    //1925
  85.                     0x02,0xB6,0x4d,    //1926
  86.                     0x09,0x57,0x42,    //1927
  87.                     0x24,0x97,0xB7,    //1928
  88.                     0x04,0x97,0x4A,    //1929
  89.                     0x66,0x4B,0x3e,    //1930
  90.                     0x0d,0x4A,0x51,    //1931
  91.                     0x0e,0xA5,0x46,    //1932
  92.                     0x56,0xd4,0xBA,    //1933
  93.                     0x05,0xAd,0x4e,    //1934
  94.                     0x02,0xB6,0x44,    //1935
  95.                     0x39,0x37,0x38,    //1936
  96.                     0x09,0x2e,0x4B,    //1937
  97.                     0x7C,0x96,0xBf,    //1938
  98.                     0x0C,0x95,0x53,    //1939
  99.                     0x0d,0x4A,0x48,    //1940
  100.                     0x6d,0xA5,0x3B,    //1941
  101.                     0x0B,0x55,0x4f,    //1942
  102.                     0x05,0x6A,0x45,    //1943
  103.                     0x4A,0xAd,0xB9,    //1944
  104.                     0x02,0x5d,0x4d,    //1945
  105.                     0x09,0x2d,0x42,    //1946
  106.                     0x2C,0x95,0xB6,    //1947
  107.                     0x0A,0x95,0x4A,    //1948
  108.                     0x7B,0x4A,0xBd,    //1949
  109.                     0x06,0xCA,0x51,    //1950
  110.                     0x0B,0x55,0x46,    //1951
  111.                     0x55,0x5A,0xBB,    //1952
  112.                     0x04,0xdA,0x4e,    //1953
  113.                     0x0A,0x5B,0x43,    //1954
复制代码

全部资料51hei下载地址:
1602万年历.rar (3.09 MB, 下载次数: 452)

作者: 小闭丶    时间: 2019-3-9 11:22
谢谢分享
作者: MaiTu    时间: 2019-3-10 15:33
有元器件清单吗
作者: 清风兑酒    时间: 2019-3-12 10:19
MaiTu 发表于 2019-3-10 15:33
有元器件清单吗

没,可以根据原理图准备元器件
作者: leezll    时间: 2019-3-23 14:29
希望能够完美运行m,,,,,
作者: 少年游    时间: 2019-3-23 17:14
很给力!
作者: 少年游    时间: 2019-3-23 17:14
非常全!
作者: 1233qq    时间: 2019-3-23 21:39
给力!
作者: 卤球干锅球    时间: 2019-3-26 19:10
感谢分享!
作者: tanqian    时间: 2019-4-12 20:15
楼主,SS8050可以用S8050代替吗?还有电解电容只能用10uF/16V的吗
作者: 17855871337    时间: 2019-5-2 16:11
闹钟似乎调不了
作者: wds123456    时间: 2019-5-3 01:05
非常实用,对于初学来说,值得借鉴
作者: ii0311593190    时间: 2019-5-17 09:48
老哥,为什么我下载了,显示已经损坏啊
作者: ii0311593190    时间: 2019-5-17 09:54
怎么回事呢,下载下来,已经损坏
作者: plough_dagge    时间: 2019-5-17 21:05
这个下载是正常的吗……?
作者: huaaaa    时间: 2019-5-18 23:57
谢谢分享  下载先
作者: q1483715899    时间: 2019-6-21 12:34
那个...想问一下,闹钟调好了,到了时间不响是什么情况啊QWQ...没怎么搞懂
作者: ljy800919    时间: 2019-6-21 14:00
没怎么搞懂
作者: ljy800919    时间: 2019-6-21 14:01
多谢了

作者: jemery1030    时间: 2019-7-19 11:37
很詳細很棒,感謝分享。
作者: chycc    时间: 2019-7-26 10:12
谢谢分享
作者: thomaspang    时间: 2019-7-26 20:26
没原理图仿真的
作者: KUAILEHA    时间: 2019-12-26 20:11
请问这个在郭天祥STC TX-1C上能实现吗
作者: 安哥哥    时间: 2020-1-9 08:54
有整点报时吗

作者: jiangzn2020    时间: 2020-2-20 00:19
我下了,用7zip就可以解压了
作者: Dragon2483    时间: 2020-3-10 14:13
感谢分享
作者: 1679079206    时间: 2020-3-10 16:08
KUAILEHA 发表于 2019-12-26 20:11
请问这个在郭天祥STC TX-1C上能实现吗

可以,但是制作起来太复杂,如果只是做实验就可以,但是做产品就太亏了。
作者: 1679079206    时间: 2020-3-10 16:09
原理图部分有问题,ds1302用的不是32.768k的晶振吗?
作者: 6z19    时间: 2020-5-21 20:43
多谢分享支持
作者: dlj123    时间: 2020-5-22 03:10
牛逼克拉斯,想看看




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1