找回密码
 立即注册

QQ登录

只需一步,快速开始

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

参加学校电赛的多功能万年历

[复制链接]
跳转到指定楼层
楼主
参加学校电赛的多功能万年历,需要的拿走吧,虽然两个显示屏颜色不一样 1602万年历电路图.doc (58 KB, 下载次数: 7) 新建压缩文件.zip (137.17 KB, 下载次数: 6)
  1. #include<reg52.h>
  2. //#include"DS18B20_3.H"
  3. #include <string.h>
  4. #include <intrins.h>
  5. #define uint unsigned int
  6. #define uchar unsigned char
  7. #define wd 1                                //???????????????  =0???????=1??????
  8. #include "eeprom52.h"

  9. #define yh 0x80 //LCD????е???λ??,???LCD1602????????λD7???1??100000000=80??
  10. #define er 0x80+0x40 //LCD????г??λ??????????е???????λ??????0x40??

  11. //?????????C51??????????????壨??????????C51??P0???
  12. sbit en=P2^7;
  13. sbit rw=P2^5;   //????????rw?????????д????????rw=0??
  14. sbit rs=P2^6;


  15. //У???????C51?????????????

  16. sbit set=P3^0;          //???ü?
  17. sbit add=P3^1;          //???
  18. sbit dec=P3^2;          //????
  19. sbit seeNL_NZ=P3^3;        //?????/????

  20. sbit DQ=P2^7;                //
  21. sbit buzzer=P1^5;        //?????????????????8550??????????????

  22. sbit led=P2^4;                 //LCD??????
  23. bit  led1=1;
  24. bit NZ_sdgb=1;
  25. unsigned char temp_miao;
  26. unsigned char bltime;  //???????????

  27. //DS1302???о???C51???????????????
  28. sbit IO=P3^4;
  29. sbit SCLK=P3^6;
  30. sbit RST=P3^5;


  31. char a,miao,shi,fen,ri,yue,nian,week,setn,temp;
  32. uint flag;
  33. //flag???????????е????????????????
  34. bit c_moon;

  35. char nz_shi,nz_fen,setNZn;            //???????????
  36. uchar shangyimiao,bsn,temp_hour;                        //???????????
  37. uchar T_NL_NZ;                                                        //??????
  38. bit timerOn=0;                                                        //??????????λ
  39. bit baoshi=0;                                                        //????????λ
  40. bit  p_r=0;                                                                 //???/????  =0??????=1???????
  41. data uchar year_moon,month_moon,day_moon;

  42. sbit ACC0=ACC^0;
  43. sbit ACC7=ACC^7;
  44. /************************************************************
  45. ACC?????=A
  46. ACC.0=E0H

  47. ACC.0????ACC???0λ??Acc????λ????

  48. ?????ACC?????8λ??洢????????????????????????????洢?????????????λ??
  49. ??????????????????????????????????ACC?????С??????????????
  50. ????A?????????????????Щ?????????????PUSH????У????????ACC???????????
  51. ?????????A????????????е????????ACC??????????????????
  52. ***************************************************************/

  53. /******************????????浽????????eeprom??******************/
  54. void write_eeprom()
  55. {
  56.         SectorErase(0x2000);
  57.         byte_write(0x2000, nz_shi);
  58.         byte_write(0x2001, nz_fen);
  59.         byte_write(0x2002, timerOn);
  60.         byte_write(0x2060, a_a);        
  61. }

  62. /******************??????????????eeprom?ж?????*****************/
  63. void read_eeprom()
  64. {
  65.         nz_shi   = byte_read(0x2000);
  66.         nz_fen = byte_read(0x2001);
  67.         timerOn = byte_read(0x2002);
  68.         a_a      = byte_read(0x2060);
  69. }

  70. /**************???????eeprom?????*****************/
  71. void init_eeprom()
  72. {
  73.         read_eeprom();                //???
  74.         if(a_a != 1)                //?μ?????????????????eeprom
  75.         {
  76.                 nz_shi   = 12;
  77.                 nz_fen = 30;
  78.                 timerOn=0;
  79.                 a_a = 1;
  80.                 write_eeprom();           //????????
  81.         }        
  82. }

  83. //********?????????????************************************
  84. code uchar year_code[597]={
  85.                     0x04,0xAe,0x53,    //1901 0
  86.                     0x0A,0x57,0x48,    //1902 3
  87.                     0x55,0x26,0xBd,    //1903 6
  88.                     0x0d,0x26,0x50,    //1904 9
  89.                     0x0d,0x95,0x44,    //1905 12
  90.                     0x46,0xAA,0xB9,    //1906 15
  91.                     0x05,0x6A,0x4d,    //1907 18
  92.                     0x09,0xAd,0x42,    //1908 21
  93.                     0x24,0xAe,0xB6,    //1909
  94.                     0x04,0xAe,0x4A,    //1910
  95.                     0x6A,0x4d,0xBe,    //1911
  96.                     0x0A,0x4d,0x52,    //1912
  97.                     0x0d,0x25,0x46,    //1913
  98.                     0x5d,0x52,0xBA,    //1914
  99.                     0x0B,0x54,0x4e,    //1915
  100.                     0x0d,0x6A,0x43,    //1916
  101.                     0x29,0x6d,0x37,    //1917
  102.                     0x09,0x5B,0x4B,    //1918
  103.                     0x74,0x9B,0xC1,    //1919
  104.                     0x04,0x97,0x54,    //1920
  105.                     0x0A,0x4B,0x48,    //1921
  106.                     0x5B,0x25,0xBC,    //1922
  107.                     0x06,0xA5,0x50,    //1923
  108.                     0x06,0xd4,0x45,    //1924
  109.                     0x4A,0xdA,0xB8,    //1925
  110.                     0x02,0xB6,0x4d,    //1926
  111.                     0x09,0x57,0x42,    //1927
  112.                     0x24,0x97,0xB7,    //1928
  113.                     0x04,0x97,0x4A,    //1929
  114.                     0x66,0x4B,0x3e,    //1930
  115.                     0x0d,0x4A,0x51,    //1931
  116.                     0x0e,0xA5,0x46,    //1932
  117.                     0x56,0xd4,0xBA,    //1933
  118.                     0x05,0xAd,0x4e,    //1934
  119.                     0x02,0xB6,0x44,    //1935
  120.                     0x39,0x37,0x38,    //1936
  121.                     0x09,0x2e,0x4B,    //1937
  122.                     0x7C,0x96,0xBf,    //1938
  123.                     0x0C,0x95,0x53,    //1939
  124.                     0x0d,0x4A,0x48,    //1940
  125.                     0x6d,0xA5,0x3B,    //1941
  126.                     0x0B,0x55,0x4f,    //1942
  127.                     0x05,0x6A,0x45,    //1943
  128.                     0x4A,0xAd,0xB9,    //1944
  129.                     0x02,0x5d,0x4d,    //1945
  130.                     0x09,0x2d,0x42,    //1946
  131.                     0x2C,0x95,0xB6,    //1947
  132.                     0x0A,0x95,0x4A,    //1948
  133.                     0x7B,0x4A,0xBd,    //1949
  134.                     0x06,0xCA,0x51,    //1950
  135.                     0x0B,0x55,0x46,    //1951
  136.                     0x55,0x5A,0xBB,    //1952
  137.                     0x04,0xdA,0x4e,    //1953
  138.                     0x0A,0x5B,0x43,    //1954
  139.                     0x35,0x2B,0xB8,    //1955
  140.                     0x05,0x2B,0x4C,    //1956
  141.                     0x8A,0x95,0x3f,    //1957
  142.                     0x0e,0x95,0x52,    //1958
  143.                     0x06,0xAA,0x48,    //1959
  144.                     0x7A,0xd5,0x3C,    //1960
  145.                     0x0A,0xB5,0x4f,    //1961
  146.                     0x04,0xB6,0x45,    //1962
  147.                     0x4A,0x57,0x39,    //1963
  148.                     0x0A,0x57,0x4d,    //1964
  149.                     0x05,0x26,0x42,    //1965
  150.                     0x3e,0x93,0x35,    //1966
  151.                     0x0d,0x95,0x49,    //1967
  152.                     0x75,0xAA,0xBe,    //1968
  153.                     0x05,0x6A,0x51,    //1969
  154.                     0x09,0x6d,0x46,    //1970
  155.                     0x54,0xAe,0xBB,    //1971
  156.                     0x04,0xAd,0x4f,    //1972
  157.                     0x0A,0x4d,0x43,    //1973
  158.                     0x4d,0x26,0xB7,    //1974
  159.                     0x0d,0x25,0x4B,    //1975
  160.                     0x8d,0x52,0xBf,    //1976
  161.                     0x0B,0x54,0x52,    //1977
  162.                     0x0B,0x6A,0x47,    //1978
  163.                     0x69,0x6d,0x3C,    //1979
  164.                     0x09,0x5B,0x50,    //1980
  165.                     0x04,0x9B,0x45,    //1981
  166.                     0x4A,0x4B,0xB9,    //1982
  167.                     0x0A,0x4B,0x4d,    //1983
  168.                     0xAB,0x25,0xC2,    //1984
  169.                     0x06,0xA5,0x54,    //1985
  170.                     0x06,0xd4,0x49,    //1986
  171.                     0x6A,0xdA,0x3d,    //1987
  172.                     0x0A,0xB6,0x51,    //1988
  173.                     0x09,0x37,0x46,    //1989
  174.                     0x54,0x97,0xBB,    //1990
  175.                     0x04,0x97,0x4f,    //1991
  176.                     0x06,0x4B,0x44,    //1992
  177.                     0x36,0xA5,0x37,    //1993
  178.                     0x0e,0xA5,0x4A,    //1994
  179.                     0x86,0xB2,0xBf,    //1995
  180.                     0x05,0xAC,0x53,    //1996
  181.                     0x0A,0xB6,0x47,    //1997
  182.                     0x59,0x36,0xBC,    //1998
  183.                     0x09,0x2e,0x50,    //1999 294
  184.                     0x0C,0x96,0x45,    //2000 297
  185.                     0x4d,0x4A,0xB8,    //2001
  186.                     0x0d,0x4A,0x4C,    //2002
  187.                     0x0d,0xA5,0x41,    //2003
  188.                     0x25,0xAA,0xB6,    //2004
  189.                     0x05,0x6A,0x49,    //2005
  190.                     0x7A,0xAd,0xBd,    //2006
  191.                     0x02,0x5d,0x52,    //2007
  192.                     0x09,0x2d,0x47,    //2008
  193.                     0x5C,0x95,0xBA,    //2009
  194.                     0x0A,0x95,0x4e,    //2010
  195.                     0x0B,0x4A,0x43,    //2011
  196.                     0x4B,0x55,0x37,    //2012
  197.                     0x0A,0xd5,0x4A,    //2013
  198.                     0x95,0x5A,0xBf,    //2014
  199.                     0x04,0xBA,0x53,    //2015
  200.                     0x0A,0x5B,0x48,    //2016
  201.                     0x65,0x2B,0xBC,    //2017
  202.                     0x05,0x2B,0x50,    //2018
  203.                     0x0A,0x93,0x45,    //2019
  204.                     0x47,0x4A,0xB9,    //2020
  205.                     0x06,0xAA,0x4C,    //2021
  206.                     0x0A,0xd5,0x41,    //2022
  207.                     0x24,0xdA,0xB6,    //2023
  208.                     0x04,0xB6,0x4A,    //2024
  209.                     0x69,0x57,0x3d,    //2025
  210.                     0x0A,0x4e,0x51,    //2026
  211.                     0x0d,0x26,0x46,    //2027
  212.                     0x5e,0x93,0x3A,    //2028
  213.                     0x0d,0x53,0x4d,    //2029
  214.                     0x05,0xAA,0x43,    //2030
  215.                     0x36,0xB5,0x37,    //2031
  216.                     0x09,0x6d,0x4B,    //2032
  217.                     0xB4,0xAe,0xBf,    //2033
  218.                     0x04,0xAd,0x53,    //2034
  219.                     0x0A,0x4d,0x48,    //2035
  220.                     0x6d,0x25,0xBC,    //2036
  221.                     0x0d,0x25,0x4f,    //2037
  222.                     0x0d,0x52,0x44,    //2038
  223.                     0x5d,0xAA,0x38,    //2039
  224.                     0x0B,0x5A,0x4C,    //2040
  225.                     0x05,0x6d,0x41,    //2041
  226.                     0x24,0xAd,0xB6,    //2042
  227.                     0x04,0x9B,0x4A,    //2043
  228.                     0x7A,0x4B,0xBe,    //2044
  229.                     0x0A,0x4B,0x51,    //2045
  230.                     0x0A,0xA5,0x46,    //2046
  231.                     0x5B,0x52,0xBA,    //2047
  232.                     0x06,0xd2,0x4e,    //2048
  233.                     0x0A,0xdA,0x42,    //2049
  234.                     0x35,0x5B,0x37,    //2050
  235.                     0x09,0x37,0x4B,    //2051
  236.                     0x84,0x97,0xC1,    //2052
  237.                     0x04,0x97,0x53,    //2053
  238.                     0x06,0x4B,0x48,    //2054
  239.                     0x66,0xA5,0x3C,    //2055
  240.                     0x0e,0xA5,0x4f,    //2056
  241.                     0x06,0xB2,0x44,    //2057
  242.                     0x4A,0xB6,0x38,    //2058
  243.                     0x0A,0xAe,0x4C,    //2059
  244.                     0x09,0x2e,0x42,    //2060
  245.                     0x3C,0x97,0x35,    //2061
  246.                     0x0C,0x96,0x49,    //2062
  247.                     0x7d,0x4A,0xBd,    //2063
  248.                     0x0d,0x4A,0x51,    //2064
  249.                     0x0d,0xA5,0x45,    //2065
  250.                     0x55,0xAA,0xBA,    //2066
  251.                     0x05,0x6A,0x4e,    //2067
  252.                     0x0A,0x6d,0x43,    //2068
  253.                     0x45,0x2e,0xB7,    //2069
  254.                     0x05,0x2d,0x4B,    //2070
  255.                     0x8A,0x95,0xBf,    //2071
  256.                     0x0A,0x95,0x53,    //2072
  257.                     0x0B,0x4A,0x47,    //2073
  258.                     0x6B,0x55,0x3B,    //2074
  259.                     0x0A,0xd5,0x4f,    //2075
  260.                     0x05,0x5A,0x45,    //2076
  261.                     0x4A,0x5d,0x38,    //2077
  262.                     0x0A,0x5B,0x4C,    //2078
  263.                     0x05,0x2B,0x42,    //2079
  264.                     0x3A,0x93,0xB6,    //2080
  265.                     0x06,0x93,0x49,    //2081
  266.                     0x77,0x29,0xBd,    //2082
  267.                     0x06,0xAA,0x51,    //2083
  268.                     0x0A,0xd5,0x46,    //2084
  269.                     0x54,0xdA,0xBA,    //2085
  270.                     0x04,0xB6,0x4e,    //2086
  271.                     0x0A,0x57,0x43,    //2087
  272.                     0x45,0x27,0x38,    //2088
  273.                     0x0d,0x26,0x4A,    //2089
  274.                     0x8e,0x93,0x3e,    //2090
  275.                     0x0d,0x52,0x52,    //2091
  276.                     0x0d,0xAA,0x47,    //2092
  277.                     0x66,0xB5,0x3B,    //2093
  278.                     0x05,0x6d,0x4f,    //2094
  279.                     0x04,0xAe,0x45,    //2095
  280.                     0x4A,0x4e,0xB9,    //2096
  281.                     0x0A,0x4d,0x4C,    //2097
  282.                     0x0d,0x15,0x41,    //2098
  283.                     0x2d,0x92,0xB5,    //2099
  284. };

  285. ///?·??????
  286. code uchar day_code1[9]={0x0,0x1f,0x3b,0x5a,0x78,0x97,0xb5,0xd4,0xf3};
  287. code uint day_code2[3]={0x111,0x130,0x14e};

  288. /*
  289. ????????:????BCD????????,???BCD????????(?????1901-2099??)
  290. ???ú??????:Conversion(c_sun,year_sun,month_sun,day_sun)
  291. ??:????2004??10??16??Conversion(0,0x4,0x10,0x16);
  292. c_sun,year_sun,month_sun,day_sun???BCD????,c_sun???????λ,c_sun=0?21??
  293. ??,c_sun=1?19????
  294. ???ú?????,??????????,??c_moon,year_moon,month_moon,day_moon?ó?????BCD????
  295. */

  296. bit c_moon;
  297. //?????,?????????????????μ?????С??,????????????1,?С????0
  298. bit get_moon_day(uchar month_p,uint table_addr)
  299. {
  300.         uchar temp10;
  301.     switch (month_p){
  302.         case 1:{temp10=year_code[table_addr]&0x08;
  303.              if (temp10==0)return(0);else return(1);}
  304.         case 2:{temp10=year_code[table_addr]&0x04;
  305.              if (temp10==0)return(0);else return(1);}
  306.         case 3:{temp10=year_code[table_addr]&0x02;
  307.              if (temp10==0)return(0);else return(1);}
  308.         case 4:{temp10=year_code[table_addr]&0x01;
  309.              if (temp10==0)return(0);else return(1);}
  310.         case 5:{temp10=year_code[table_addr+1]&0x80;
  311.              if (temp10==0) return(0);else return(1);}
  312.         case 6:{temp10=year_code[table_addr+1]&0x40;
  313.              if (temp10==0)return(0);else return(1);}
  314.         case 7:{temp10=year_code[table_addr+1]&0x20;
  315.              if (temp10==0)return(0);else return(1);}
  316.         case 8:{temp10=year_code[table_addr+1]&0x10;
  317.              if (temp10==0)return(0);else return(1);}
  318.         case 9:{temp10=year_code[table_addr+1]&0x08;
  319.              if (temp10==0)return(0);else return(1);}
  320.         case 10:{temp10=year_code[table_addr+1]&0x04;
  321.              if (temp10==0)return(0);else return(1);}
  322.         case 11:{temp10=year_code[table_addr+1]&0x02;
  323.              if (temp10==0)return(0);else return(1);}
  324.         case 12:{temp10=year_code[table_addr+1]&0x01;
  325.              if (temp10==0)return(0);else return(1);}
  326.         case 13:{temp10=year_code[table_addr+2]&0x80;
  327.              if (temp10==0)return(0);else return(1);}
  328.                 default:return(2);
  329.     }
  330. }
复制代码





}


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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