久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2937|回復: 0
打印 上一主題 下一主題
收起左側

main.c(404): error C141: syntax error near 'unsigned'新人求教

[復制鏈接]
跳轉到指定樓層
樓主
ID:195499 發表于 2017-5-2 17:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
main.c(404): error C141: syntax error near 'unsigned'
找不到錯誤啊,求大神幫忙
程序如下:

  1. #include <reg52.h>                 
  2. #include <string.h>
  3. #include <intrins.h>


  4. #define uchar unsigned cha
  5. #define uint unsigned int
  6. #define dim(x) sizeof(x)         
  7. #define WRITE_SECOND            0x80
  8. #define WRITE_MINUTE                0x82
  9. #define WRITE_HOUR              0x84
  10. #define WRITE_DAY                      0x86
  11. #define WRITE_MONTH                    0x88
  12. #define WRITE_WEEK              0x8a
  13. #define WRITE_YEA               0x8c

  14. sbit ACC_7 = ACC^7;

  15. #define READ_SECOND             0x81
  16. #define READ_MINUTE             0x83
  17. #define READ_HOUR               0x85
  18. #define READ_DAY                      0x87
  19. #define READ_MONTH                    0x89
  20. #define READ_WEEK               0x8b
  21. #define READ_YEA                0x8d

  22. #define WRITE_PROTECT           0x8E
  23. sbit SCLK = P3^5;      
  24. sbit DIO  = P3^6;     
  25. sbit CE   = P3^7;
  26. sbit key_mode = P1^0;
  27. sbit key_jia  = P1^1;        
  28. sbit key_jian = P1^2;
  29. sbit key_ok   = P1^3;
  30. sbit key_dao  = P1^4;
  31. sbit led      = P2^4;
  32. sbit Beep_P=P2^7;

  33. unsigned char time[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00};

  34. void Read_time(void);
  35. void Writeds1302 ( uchar addr,dat);        //DS1302Ö¸¶¨μØÖ·£¬D′êy¾Y
  36. unsigned char Read1302 ( uchar addr );                  //DS1302Ö¸¶¨μØÖ·£¬¶áêy¾Y
  37. unsigned char Read1302_yuanshi(uchar addr);        //DS1302¶áÔ-ê¼êy¾Yoˉêy
  38. void Read_time(void);                                //DS1302¶áê±¼äèÕÆúoˉêy
  39. void DS1302_init(void);        

  40. void  AT24C02_delay(uint n);                                            //Ñóê±40*n΢Ãî
  41. void  AT24C02_start();                                                           //¿aê¼DÅoÅ
  42. void  AT24C02_stop();                                                           //í£Ö1DÅoÅ
  43. void  AT24C02_respons();                                                   //ó|′eDÅoÅ
  44. void  AT24C02_write(uchar date);                                   //D′êy¾Y
  45. unsigned char AT24C02_read();                                                           //¶áêy¾Y
  46. void  AT24C02_write_date(uchar address,uchar date);//ÏòaddressμØÖ·D′êädateêy¾Y
  47. unsigned char AT24C02_read_date(uchar address);                           //Ïòaddress¶á3öêy¾Y2¢·μ»Ø




  48. void Read_time(void)
  49. {
  50.         time[0]=Read1302(0x81);
  51.         time[1]=Read1302(0x83);
  52.         time[2]=Read1302(0x85);
  53.         time[3]=Read1302(0x87);
  54.         time[4]=Read1302(0x89);
  55.         time[5]=Read1302(0x8b);
  56.         time[6]=Read1302(0x8d);
  57. }

  58. uchar set_f=0;                //éèÖÃÑ¡Ôñ±ê¼Ç£¬=0·ÇéèÖã¬=1éèÖÃÄ꣬=2éèÖÃÔ£¬=3éèÖÃèÕ¡£=4éèÖÃê±£¬=5éèÖ÷Ö£¬=6éèÖÃÃë
  59.                                         //   =7éèÖÃÄÖÖó-ê±£¬=8éèÖÃÄÖÖó-·Ö¡£=9éèÖÃÄÖÖóÃ룬=10éèÖÃÄÖÖó-¿a1Ø
  60. uchar set_dao=0;        //μ1¼Æê±éèÖñê¼Ç

  61. uchar num;                        //¼Æêy±äá¿
  62. uchar naozhong[5];        //ÄÖÖó-Ãë¡¢ÄÖÖó-·Ö¡¢ÄÖÖó-걡¢ÄÖÖó-¿a1Ø¡¢òôàÖDòoÅ

  63. bit   naozhong_f=0;        //ÄÖÖó¿aê¼±ê¼Ç룬=1ÄÖÖó¿aê¼£¬=0ÄÖÖóÎ′¿aê¼
  64. //òÔÏÂòôàÖóD1رäá¿
  65. uchar gSong;                                    // gSong′ú±íμ±Ç°2¥·Åμ½μú¼¸ê׸è
  66. uchar gTone;                                        // gTone′ú±íμ±Ç°òa2¥·ÅμÄòôμ÷
  67. bit   gPlayStatus;                                // gPlayStatus′ú±íμ±Ç°μÄ2¥·Å×′쬣¬0êÇÔYí££¬1êÇ2¥·Å

  68. /*  ¶¨ê±Æ÷3õÖμ          μí1  μí2  μí3  μí4  μí5  μí6  μí7  ÖD1  ÖD2  ÖD3  ÖD4  ÖD5  ÖD6  ÖD7  ¸ß1  ¸ß2  ¸ß3  ¸ß4  ¸ß5  ¸ß6  ¸ß7 */
  69. uchar code  ArrTh0[]={ 0xF8,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF };
  70. uchar code  ArrTl0[]={ 0x8C,0x5B,0x15,0x67,0x04,0x90,0x0C,0x43,0xAC,0x09,0x34,0x82,0xC8,0x06,0x22,0x56,0x85,0x9A,0xC1,0xE4,0x03 };

  71. /*  ¡¶Ë®êÖ¡·μÄà֯נ */
  72. uchar code ArrMusic1[]={
  73.                 5,4,  9,2,  8,2,  9,4, 8,2,  9,2,      
  74.                 10,3, 11,1, 10,2, 8,2, 9,8,  9,1,     
  75.                 10,2, 10,1, 9,1,  8,2, 7,1,  7,1,  8,2,  7,1, 7,1, 8,2, 9,2,
  76.                 7,2,  6,2,  5,2,  7,2, 6,8,      
  77.                 5,4,  9,2,  8,2,  9,4, 8,2,  9,2,        
  78.                 10,2, 10,1, 11,1, 9,2, 8,2,  9,8,
  79.                 10,3, 9,1,  8,2,  7,2, 8,2,  8,1,  7,1,  8,2, 8,1, 9,1,  
  80.                 6,2,  6,2,  5,2,  4,2, 5,8,  
  81.                 8,3,  8,1,  8,2,  8,2, 10,2, 10,1, 9,1,  8,2, 7,1, 7,1,
  82.                 9,3,  8,1,  7,2,  8,1, 7,1,  5,8,      
  83.                 8,3,  8,1,  8,2,  8,2, 8,2,  8,1,  8,1,  8,2, 7,1, 8,1,         
  84.                 9,2,  9,2,  9,1,  8,1, 7,1,  8,1,  9,8,
  85.                 8,3,  8,1,  8,2,  8,2, 10,2, 9,2,  8,2,  8,2,      
  86.                 9,2,  8,2,  7,2,  8,1, 7,1,  5,7,  5,1,         
  87.                 8,3,  8,1,  8,2,  8,1, 8,1,  8,2,  8,2,  7,2, 8,2,
  88.                 9,2,  9,2,  8,2,  7,2, 9,4,  9,2,  11,2,
  89.                 12,4, 11,4, 9,4,  8,2, 7,2,
  90.                 8,2,  9,1,  8,1,  7,2, 6,2,  5,4,  5,2,  6,2,
  91.                 7,4,  7,2,  9,2,  8,4, 6,1,  5,1,  4,2,
  92.                 5,3,  5,1,  7,2,  8,2, 9,4,  9,2,  11,2,
  93.                 12,4, 11,4, 9,4,  8,2, 7,2,
  94.                 8,2,  9,1,  8,1,  7,2, 6,2,  5,4,  5,2,  6,2,
  95.                 7,4,  7,2,  9,2,  8,4, 7,2,  6,2,  5,12
  96.                 };

  97. /*  ¡¶»ó×Å3á°òμÄÅ®o¢¡·μÄà֯נ */
  98. uchar code ArrMusic2[]={
  99.                 9,4,  9,2,  10,2, 11,4, 7,2,  8,2,      
  100.                 9,2,  9,2,  9,2,  10,2, 11,4, 8,2,  9,2,   
  101.                 10,4, 10,2, 9,2,  7,4,  10,2, 9,2,
  102.                 10,4, 5,2,  7,2,  8,4,  7,2,  8,2,      
  103.                 9,4,  9,2,  10,2, 11,4, 12,2, 13,2,        
  104.                 14,2, 14,2, 9,2,  10,2, 11,4, 8,2,  9,2,
  105.                 10,2, 9,2,  10,2, 14,2, 14,4, 8,2,  9,2,  
  106.                 10,2, 9,2,  10,2, 15,2, 15,4, 14,2, 13,2,  
  107.                 14,6, 15,2, 16,2, 15,2, 14,2, 13,2,
  108.                 14,6, 14,2, 13,2, 11,2, 11,2, 7,2,      
  109.                 12,6, 12,2, 11,2, 7,2,  7,2,  9,2,         
  110.                 8,6,  9,1,  10,1, 10,2, 11,2, 14,2, 13,2,
  111.                 14,6, 15,2, 16,2, 15,2, 14,2, 13,2,      
  112.                 14,6, 14,2, 13,2, 11,2, 11,2, 7,2,         
  113.                 12,6, 12,2, 11,2, 11,2, 14,2, 13,2,
  114.                 14,16 };

  115. /*  ¡¶üÔàò»¨¡·μÄà֯נ */                                                         
  116. uchar code ArrMusic3[]={
  117.                 9,4,  9,2,  11,2, 12,2, 14,2, 14,2, 12,2,  
  118.                 11,4, 11,2, 12,2, 11,8,                 
  119.                 9,4,  9,2,  11,2, 12,2, 14,2, 14,2, 12,2,
  120.         11,4, 11,2, 12,2, 11,8,                    
  121.                 11,4, 11,4, 11,4, 9,2,  11,2,           
  122.                 12,4, 12,4, 11,8,
  123.                 9,4,  8,2,  9,2,  11,4, 9,2,  8,2,         
  124.                 7,4,  7,2,  8,2,  7,8,                  
  125.                 9,2,  8,2,  7,2,  9,2,  8,6,  9,2,
  126.                 11,4, 12,2, 14,2, 11,8,                    
  127.                 8,4,  9,2,  11,2, 8,2,  9,2,  7,2,  5,2,  
  128.                 4,8,  5,4,  7,4,  
  129.                 8,6,  9,2,  7,2,  8,2,  7,2,  5,2,         
  130.                 4,12 };
  131. /*********************************************************/
  132. // oáÃë¼¶μÄÑóê±oˉêy£¬timeêÇòaÑóê±μÄoáÃëêy
  133. /*********************************************************/
  134. void Delay_Ms(uint time)
  135. {
  136.         uint i,j;
  137.         for(i=time;i>0;i--)
  138.                 for(j=110;j>0;j--);
  139. }
  140. /*********************************************************/
  141. // ¶¨ê±Æ÷13õê¼»ˉoˉêy
  142. /*********************************************************/
  143. void TimerInit()
  144. {
  145.         TMOD|=0x10;                                        // ¶¨ê±Æ÷1£¬1¤×÷·½ê½1
  146.         ET1=1;                                                // ¿aÆô¶¨ê±Æ÷1ÖD¶Ï
  147.         EA=1;                                                // ¿aÆô×üÖD¶Ï
  148. }
  149. /*********************************************************/
  150. // ·¢3öÖ¸¶¨òôμ÷¼°Æä½úÅÄμÄéùòô£¬tone′ú±íòôμ÷£¬beat′ú±í½úÅÄ
  151. /*********************************************************/                 
  152. void PlayTone(uchar tone,float beat)
  153. {
  154.         int i;
  155.         TH1 = ArrTh0[tone];                        // ×°èë¶¨ê±Æ÷TH0μÄ3õÖμ
  156.         TL1 = ArrTl0[tone];                        // ×°èë¶¨ê±Æ÷TL0μÄ3õÖμ
  157.         TR1=1;                                                // Æô¶ˉ¶¨ê±Æ÷
  158.         beat=(int)beat*4;
  159.         for(i=0;i<beat;i++)
  160.         {
  161.                 Delay_Ms(47);
  162.         }
  163.         TR1=0;                                                // í£Ö1¶¨ê±Æ÷                                    
  164. }
  165. /*********************************************************/
  166. // 2¥·ÅÄúÖÃμÄòôàÖ
  167. // arr[]êÇòa2¥·ÅμÄàÖÆ×êy×飬numêÇêy×éàïÃæμÄÔaËØ¸öêy
  168. /*********************************************************/
  169. void PlayMusic(uchar arr[],uint num)
  170. {
  171.         uint i=0;
  172.         while(i<num)                        
  173.         {   
  174.                 if(gPlayStatus==1)                                          // ÅD¶Ï2¥·Å×′ì¬êÇ·ñÎa2¥·Å»1êÇÔYí£
  175.                 {   
  176.                         gTone=arr[i];                                        // ¸øè«¾Ö±äá¿gTone¸3Ö죬·½±ãÖD¶Ïoˉêyê1óÃ
  177.                         PlayTone(arr[i],arr[i+1]);                   // ¿aê¼ÑY×àò»¸ö½úÅÄ
  178.                          i+=2;                                                        // ½øèëÏÂò»¸ö½úÅÄ£¬òòÎaÿ2¸öêyÎa1×飬ËùòÔÿ′Îòa¼ó2
  179.                         if(i==num)                                                // ÅD¶Ï¸èÇúêÇ·ñ2¥·ÅíêáË
  180.                                 gPlayStatus=0;                                // 2¥·ÅíêáËμÄ»°£¬Ôò°Ñ2¥·Å×′쬸ÄÎaÔYí££¬·ñÔò»áÑ-»·2¥·Å
  181.                 }

  182.                 if(key_ok==0)                                                // ÅD¶Ï2¥·Å1y3ìÖDêÇ·ñ°′ÏÂáË¡°¿aê¼/ÔYí£¡±¼ü
  183.                 {                                                                        
  184.                         Delay_Ms(10);                                        // Ïû3y°′¼ü°′ÏÂμͶ¶ˉ
  185.                         while(!key_ok);                                        // μè′y°′¼üêí·Å
  186.                         i=num;
  187.                         gPlayStatus=0;//íË3öÄÖáå2¥·Å
  188.                     Beep_P=1;//1رÕà®°è
  189.                         led=1;         //1رÕÖ¸ê¾μÆ
  190.                 }                                       
  191.         }
  192. }
  193. /********************************************************
  194. oˉêyÃû3Æ:void delayms(uint ms)
  195. oˉêy×÷óÃ:oáÃëÑóê±oˉêy
  196. 2ÎêyËμÃ÷:
  197. ********************************************************/
  198. void delayms(uint ms)
  199. {
  200.         unsigned char i=100,j;
  201.         for(;ms;ms--)
  202.         {
  203.                 while(--i)
  204.                 {
  205.                         j=10;
  206.                         while(--j);
  207.                 }
  208.         }
  209. }
  210. /********************************************************
  211. oˉêyÃû3Æ:void display(void)
  212. oˉêy×÷óÃ:Õy3£ÏÔê¾èÕÆú¡¢ê±¼äoˉêy
  213. 2ÎêyËμÃ÷:
  214. ********************************************************/
  215. void LCD_init(void);                                                                   //3õê¼»ˉoˉêy
  216. void LCD_write_command(uchar command);                                   //D′Ö¸áîoˉêy
  217. void LCD_write_data(uchar dat);                                                   //D′êy¾Yoˉêy
  218. void LCD_disp_char(uchar  x,uchar  y,uchar  dat);           //ÏÔê¾ò»¸ö×Ö·û,  X(0-16),y(1-2)¡£
  219. void lcd1602_write_character(uchar x,uchar y,uchar *p);//ÏÔê¾ò»¸ö×Ö·û′®,X(0-16),y(1-2)¡£
  220. void lcd1602_write_pic(uchar add,uchar *pic_num);      //D′èë×Ô¶¨òå×Ö·û



  221. void delay_n40us(uint n)
  222. {
  223.         uint i;
  224.         uchar j;
  225.         for(i=n;i>0;i--)
  226.         for(j=0;j<2;j++);   
  227. }

  228. void delay_n40us(uint n);
  229. /********************************************************
  230. oˉêyÃû3Æ:bit YearFlag(uchar cYear)
  231. oˉêy×÷óÃ:¼ÆËãêÇ·ñèòÄê
  232. 2ÎêyËμÃ÷:êäèë£o1£oèòÄ꣬0£oƽÄê         
  233. ********************************************************/

  234.                 bit YearFlag(uchar cYear)
  235.         {
  236.                 if (((!(cYear%4)) && (cYear%100)) || !(cYear%400))
  237.                  return 1;
  238.                 else
  239.                 return 0;
  240.         }

  241. void display(void)
  242. {

  243.           uchar xq;                                           //′æ′¢DÇÆú
  244.            uchar temp2[2];                                   //′æ′¢ÄÖÖó½áêøê±¼ä

  245.         //¼ÆËãÄÖÖó½áêø¡¾ê±¼ä¡¿
  246.         if(naozhong[1]!=59)                           //ÄÖÖó-·Ö 2»μèóú59·Ö ¡¾ày£o11:11¡¿  
  247.         {
  248.                 temp2[0]=naozhong[2];           //ÄÖÖó½áêøê±¼äÎa£oD¡ê±2»±ä£¬·ÖÖó+1
  249.                 temp2[1]=naozhong[1]+1;
  250.         }
  251.         else                                                   //ÄÖÖó-·Ö μèóú59·Ö
  252.         {
  253.                 if(naozhong[2]!=23)                   //ÄÖÖó-ê± 2»μèóú23ê± ¡¾ày£o11:59¡¿
  254.                 {
  255.                         temp2[0]=naozhong[2]+1;//ÄÖÖó½áêøê±¼äÎa£oD¡ê±¼ó1£¬·ÖÖó=0
  256.                         temp2[1]=0;        
  257.                 }
  258.                 else                                           //ÄÖÖó-ê± μèóú23ê±   ¡¾ày£o23:59¡¿
  259.                 {
  260.                         temp2[0]=0;                           //ÄÖÖó½áêøê±¼äÎa£oD¡ê±=0£¬·ÖÖó=0
  261.                         temp2[1]=0;        
  262.                 }


  263.         }
  264.         if(time[2]==naozhong[2]&&time[1]==naozhong[1]&&time[0]==naozhong[0]&&naozhong[3]%2==1)  
  265.           {               
  266.                 led=0;                                                 //¿aÆôÄÖáåLEDμÆμãáá
  267.                 gPlayStatus=1;                            //½øèë2¥·Å
  268.                 naozhong_f=1;                            //±ê¼ÇÄÖÖó¿aÆô
  269.                 LCD_write_command(0x01);
  270.                 delay_n40us(100);
  271.                 lcd1602_write_character(0,1,"The alarm clock ");
  272.                 lcd1602_write_character(0,2,"  It's time to  ");
  273.                 switch(naozhong[4])            //2¥·Å¶Ôó|μĸèÇú        
  274.                 {
  275.                         case 0 : PlayMusic(ArrMusic1,dim(ArrMusic1)); break;
  276.                         case 1 : PlayMusic(ArrMusic2,dim(ArrMusic2)); break;
  277.                         case 2 : PlayMusic(ArrMusic3,dim(ArrMusic3)); break;        
  278.                 }
  279.                 LCD_write_command(0x01);
  280.                 delay_n40us(100);
  281.         }
  282.          else if(time[2]==00&&time[1]==00&&time[0]==10%2==1)
  283.         {               
  284.                 led=0;                                                 //¿aÆôÄÖáåLEDμÆμãáá
  285.                 gPlayStatus=1;                            //½øèë2¥·Å
  286.                 naozhong_f=1;                            //±ê¼ÇÄÖÖó¿aÆô
  287.                 LCD_write_command(0x01);
  288.                 delay_n40us(100);
  289.                 lcd1602_write_character(0,1,"The alarm clock ");
  290.                 lcd1602_write_character(0,2,"  It's time to  ");
  291.                 switch(naozhong[4])            //2¥·Å¶Ôó|μĸèÇú        
  292.                 {
  293.                         case 0 : PlayMusic(ArrMusic1,dim(ArrMusic1)); break;
  294.                         case 1 : PlayMusic(ArrMusic2,dim(ArrMusic2)); break;
  295.                         case 2 : PlayMusic(ArrMusic3,dim(ArrMusic3)); break;        
  296.                 }
  297.                 LCD_write_command(0x01);
  298.                 delay_n40us(100);
  299.         }
  300.           else if(time[2]==00&&time[1]==00&&time[0]==11%2==1)
  301.                   {               
  302.                 led=0;                                                 //¿aÆôÄÖáåLEDμÆμãáá
  303.                 gPlayStatus=1;                            //½øèë2¥·Å
  304.                 naozhong_f=1;                            //±ê¼ÇÄÖÖó¿aÆô
  305.                 LCD_write_command(0x01);
  306.                 delay_n40us(100);
  307.                 lcd1602_write_character(0,1,"The alarm clock ");
  308.                 lcd1602_write_character(0,2,"  It's time to  ");
  309.                 switch(naozhong[4])            //2¥·Å¶Ôó|μĸèÇú        
  310.                 {
  311.                         case 0 : PlayMusic(ArrMusic1,dim(ArrMusic1)); break;
  312.                         case 1 : PlayMusic(ArrMusic2,dim(ArrMusic2)); break;
  313.                         case 2 : PlayMusic(ArrMusic3,dim(ArrMusic3)); break;        
  314.                 }
  315.                 LCD_write_command(0x01);
  316.                 delay_n40us(100);
  317.         }
  318.                      else if(time[2]==00&&time[1]==00&&time[0]==12%2==1)
  319. //ÅD¶Ïμ±Ç°êÇ·ñÎaÄÖÖóê±¼ä
  320.         
  321.                
  322.         {               
  323.                 led=0;                                                 //¿aÆôÄÖáåLEDμÆμãáá
  324.                 gPlayStatus=1;                            //½øèë2¥·Å
  325.                 naozhong_f=1;                            //±ê¼ÇÄÖÖó¿aÆô
  326.                 LCD_write_command(0x01);
  327.                 delay_n40us(100);
  328.                 lcd1602_write_character(0,1,"The alarm clock ");
  329.                 lcd1602_write_character(0,2,"  It's time to  ");
  330.                 switch(naozhong[4])            //2¥·Å¶Ôó|μĸèÇú        
  331.                 {
  332.                         case 0 : PlayMusic(ArrMusic1,dim(ArrMusic1)); break;
  333.                         case 1 : PlayMusic(ArrMusic2,dim(ArrMusic2)); break;
  334.                         case 2 : PlayMusic(ArrMusic3,dim(ArrMusic3)); break;        
  335.                 }
  336.                 LCD_write_command(0x01);
  337.                 delay_n40us(100);
  338.         }
  339.                  if(time[2]==naozhong[2]&&time[1]==naozhong[1]&&time[0]==naozhong[0]&&naozhong[3]%2==1)

  340.         {
  341.                 led=1;
  342.                 naozhong_f=0;                                //ÖØÖÃÄÖÖó¿aÆô±êÖ¾
  343.         }
  344.          else if(time[2]==00&&time[1]==00&&time[0]==10%2==1)
  345.                  
  346.         {
  347.                 led=1;
  348.                 naozhong_f=0;                                //ÖØÖÃÄÖÖó¿aÆô±êÖ¾
  349.         }
  350.           else if(time[2]==00&&time[1]==00&&time[0]==11%2==1)
  351.                   
  352.         {
  353.                 led=1;
  354.                 naozhong_f=0;                                //ÖØÖÃÄÖÖó¿aÆô±êÖ¾
  355.         }
  356.                     else if(time[2]==00&&time[1]==00&&time[0]==12%2==1)

  357.         {
  358.                 led=1;
  359.                 naozhong_f=0;                        
  360.         }


  361. /********************************************************
  362. oˉêyÃû3Æ:uchar GetWeekDay(uchar cYear,uchar cMon,uchar cDay)
  363. oˉêy×÷óÃ:¼ÆËãÑôàúèÕÆú¶Ôó|μÄDÇÆúêy
  364. 2ÎêyËμÃ÷:êäèë£oÑôàúGreYear£¨Ä꣩,GreMon£¨Ô£©,GreDay£¨èÕ£©
  365.                  êä3ö£oDÇÆú¼¸
  366. ********************************************************/
  367. unsigned char GetWeekDay(uchar cYear,uchar cMon,uchar cDay)
  368. {
  369.         char i;
  370.         int  Sum=0,tmpyear=2000+cYear;
  371.         for(i=1;i<=cMon-1;i++)
  372.                 Sum+=Mon1[YearFlag(cYear)][i];
  373.         Sum+=cDay-1;
  374.         
  375.         return (((tmpyear-1)+(tmpyear-1)/4-(tmpyear-1)/100+(tmpyear-1)/400+Sum)%7)+1;

  376. }

  377.            
  378.    xq=GetWeekDay(time[6],time[4],time[3]);//»ñè¡DÇÆú
  379.    //ÏÔê¾DÇÆú
  380.    switch(xq)
  381. {
  382.            case 1:lcd1602_write_character(11,2,"Mon"); break;
  383.            case 2:lcd1602_write_character(10,2,"Tues"); break;
  384.            case 3:lcd1602_write_character(9,2,"Wednes"); break;
  385.            case 4:lcd1602_write_character(10,2,"Thurs"); break;
  386.            case 5:lcd1602_write_character(10,2,"Frid"); break;
  387.            case 6:lcd1602_write_character(10,2,"Satur"); break;
  388.            case 7:lcd1602_write_character(11,2,"Sun"); break;
  389.            default: break;
  390. }

  391.         //ÏÔê¾ê±¼ä
  392.         //12D¡ê±ÖÆ
  393.         /*LCD_disp_char(0,2,ASCII[time[2]%12/10]);//ÏÔê¾ê±¡¾0£o±íê¾μú1áD£¬2£o±íê¾μú2DD£¬ËùóD1ØóúÏÔê¾¶¼ò»Ñù¡¿
  394.         LCD_disp_char(1,2,ASCII[time[2]%12%10]);//*/        
  395.         //24D¡ê±ÖÆ
  396.         LCD_disp_char(0,2,ASCII[time[2]/10]);//ÏÔê¾ê±¡¾0£o±íê¾μú1áD£¬2£o±íê¾μú2DD£¬ËùóD1ØóúÏÔê¾¶¼ò»Ñù¡¿
  397.         LCD_disp_char(1,2,ASCII[time[2]%10]); //*/
  398.         LCD_disp_char(2,2,':');
  399.         LCD_disp_char(3,2,ASCII[time[1]/10]);        //ÏÔê¾·Ö
  400.         LCD_disp_char(4,2,ASCII[time[1]%10]);
  401.         LCD_disp_char(5,2,':');
  402.         LCD_disp_char(6,2,ASCII[time[0]/10]);        //ÏÔê¾Ãë
  403.         LCD_disp_char(7,2,ASCII[time[0]%10]);

  404.         if(time[2]/12==0)                                            //D¡óú12D¡ê±£¬ÅD¶ÏÎaéÏÎç
  405.                 lcd1602_write_character(11,1,"AM");        
  406.         else                                                                        //·ñÕߣ¬ÏÂÎç
  407.                 lcd1602_write_character(11,1,"PM");
  408.         //ÏÔê¾èÕÆú
  409.         LCD_disp_char(0,1,ASCII[time[6]/10]);//ÏÔê¾Äê
  410.         LCD_disp_char(1,1,ASCII[time[6]%10]);
  411.         LCD_disp_char(2,1,'/');
  412.         LCD_disp_char(3,1,ASCII[time[4]/10]);//ÏÔê¾ÔÂ
  413.         LCD_disp_char(4,1,ASCII[time[4]%10]);
  414.         LCD_disp_char(5,1,'/');
  415.         LCD_disp_char(6,1,ASCII[time[3]/10]);//ÏÔê¾èÕ
  416.         LCD_disp_char(7,1,ASCII[time[3]%10]);
  417. }
  418. /********************************************************
  419. oˉêyÃû3Æ:void display2(void)
  420. oˉêy×÷óÃ:ÏÔê¾μ÷ÕûèÕÆú¡¢ê±¼äoˉêy
  421. 2ÎêyËμÃ÷:
  422. ********************************************************/
  423. void display2()
  424. {
  425.         num++;

  426.         lcd1602_write_character(1,1,"Date:");
  427.         lcd1602_write_character(1,2,"Time:");
  428.         
  429.         if(num%2==0)        //żêy′ÎÏÔê¾£¬Ææêy′Î2»ÏÔ꾡£ÕaÑù¾í»áóDéá˸D§1û£¬¿éòÔÇå3t¿′μ½μ±Ç°éèÖÃμÄêÇÄĸöÖμ
  430.         {
  431.                 LCD_disp_char(6,1,ASCII[time[6]/10]); //ÏÔê¾Äê
  432.                 LCD_disp_char(7,1,ASCII[time[6]%10]);
  433.                 LCD_disp_char(8,1,'/');  
  434.                 LCD_disp_char(9,1,ASCII[time[4]/10]); //ÏÔê¾ÔÂ
  435.                 LCD_disp_char(10,1,ASCII[time[4]%10]);           
  436.                 LCD_disp_char(11,1,'/');
  437.                 LCD_disp_char(12,1,ASCII[time[3]/10]);//ÏÔê¾èÕ
  438.                 LCD_disp_char(13,1,ASCII[time[3]%10]);
  439.         
  440.                 LCD_disp_char(6,2,ASCII[time[2]/10]); //ÏÔê¾ê±
  441.                 LCD_disp_char(7,2,ASCII[time[2]%10]);
  442.                 LCD_disp_char(8,2,':');  
  443.                 LCD_disp_char(9,2,ASCII[time[1]/10]); //ÏÔê¾·Ö
  444.                 LCD_disp_char(10,2,ASCII[time[1]%10]);           
  445.                 LCD_disp_char(11,2,':');
  446.                 LCD_disp_char(12,2,ASCII[time[0]/10]);//ÏÔê¾Ãë
  447.                 LCD_disp_char(13,2,ASCII[time[0]%10]);
  448.         }        
  449.         else                         //Ææêy′Î2»ÏÔê¾
  450.         {
  451.                 switch(set_f)//¸ù¾Yμ±Ç°éèÖÃμÄÄúèY£¬¶Ôó|λÖÃéá˸
  452.                 {
  453.                         case 1: lcd1602_write_character(6,1,"  "); break;
  454.                         case 2: lcd1602_write_character(9,1,"  "); break;
  455.                         case 3: lcd1602_write_character(12,1,"  "); break;
  456.                         case 4: lcd1602_write_character(6,2,"  "); break;
  457.                         case 5: lcd1602_write_character(9,2,"  "); break;
  458.                         case 6: lcd1602_write_character(12,2,"  "); break;
  459.                         default: break;
  460.                 }
  461.         }        
  462. }
  463. /********************************************************
  464. oˉêyÃû3Æ:void display3(void)
  465. oˉêy×÷óÃ:ÏÔê¾μ÷ÕûÄÖÖóoˉêy
  466. 2ÎêyËμÃ÷:
  467. ********************************************************/
  468. void display3()
  469. {
  470.         num++;

  471.         lcd1602_write_character(3,1,"Alarm clock");
  472.         if(num%2==0)        //żêy′ÎÏÔê¾£¬Ææêy′Î2»ÏÔ꾡£ÕaÑù¾í»áóDéá˸D§1û£¬¿éòÔÇå3t¿′μ½μ±Ç°éèÖÃμÄêÇÄĸöÖμ
  473.         {        
  474.                 LCD_disp_char(1,2,ASCII[naozhong[2]/10]);//ÏÔê¾ÄÖÖó-ê±
  475.                 LCD_disp_char(2,2,ASCII[naozhong[2]%10]);
  476.                 LCD_disp_char(3,2,':');  
  477.                 LCD_disp_char(4,2,ASCII[naozhong[1]/10]);//ÏÔê¾ÄÖÖó-·Ö
  478.                 LCD_disp_char(5,2,ASCII[naozhong[1]%10]);           
  479.                 LCD_disp_char(6,2,':');
  480.                 LCD_disp_char(7,2,ASCII[naozhong[0]/10]);//ÏÔê¾ÄÖÖó-Ãë
  481.                 LCD_disp_char(8,2,ASCII[naozhong[0]%10]);

  482.                 if(naozhong[3]%2==0)
  483.                         lcd1602_write_character(10,2,"OFF"); //ÏÔê¾ÄÖÖó-¿a/1Ø
  484.                 else
  485.                         lcd1602_write_character(10,2,"ON");        

  486.                 LCD_disp_char(14,2,ASCII[naozhong[4]%10+1]);
  487.         }
  488.         else                         //Ææêy′Î2»ÏÔê¾
  489.         {
  490.                 switch(set_f)//¸ù¾Yμ±Ç°éèÖÃμÄÄúèY£¬¶Ôó|λÖÃéá˸
  491.                 {
  492.                         case 7: lcd1602_write_character(1,2,"  "); break;
  493.                         case 8: lcd1602_write_character(4,2,"  "); break;
  494.                         case 9: lcd1602_write_character(7,2,"  "); break;
  495.                         case 10: lcd1602_write_character(10,2,"   "); break;
  496.                         case 11: lcd1602_write_character(14,2," "); break;
  497.                         default: break;
  498.                 }
  499.         }
  500. }




  501. /********************************************************
  502. oˉêyÃû3Æ:void scan(void)
  503. oˉêy×÷óÃ:°′¼ü2éÑˉ′|àíoˉêy
  504. 2ÎêyËμÃ÷:
  505. ********************************************************/
  506. void scan(void)
  507. {
  508.         //éèÖüü
  509.         if(key_mode==0)                                           //°′¼ü°′ÏÂ
  510.         {  
  511.                 delayms(7);                                           //Ñóê±Ïû¶¶
  512.                 if(key_mode==0)                                   //Ôù′Îè·èϰ′¼ü°′ÏÂ
  513.                         {
  514.                             led=1;
  515.                                 if(set_f==0||set_f==6||set_f==10)     //½øèëéèÖÃÏèÇå3yÆáÄ»£¬ÏÔê¾éèÖÃ2¿·Ö
  516.                                 {
  517.                                         Writeds1302 (WRITE_PROTECT,0X00); //½ûÖ1DS1302D′±£»¤
  518.                                         LCD_write_command(0x01);          //Çå3yÆáÄ»ÏÔê¾
  519.                                         delay_n40us(100);                          //Ñóê±μè′yè«2¿Çå3yíê±Ï
  520.                                 }                                
  521.                                 set_f++;                                                          //éèÖñäá¿+1
  522.         
  523.                                 if(set_f>11)                          //è«2¿éèÖÃíê3飬íË3öéèÖÃ
  524.                                 {
  525.                                         set_f=0;                                                  //ÖØÖÃéèÖñäá¿
  526.                                         AT24C02_write_date(0,naozhong[0]);//D′è롾ÄÖÖó-Ãë¡¿êy¾Y±£′æ
  527.                                         AT24C02_write_date(1,naozhong[1]);//D′è롾ÄÖÖó-·Ö¡¿êy¾Y±£′æ
  528.                                         AT24C02_write_date(2,naozhong[2]);//D′è롾ÄÖÖó-걡¿êy¾Y±£′æ
  529.                                         AT24C02_write_date(3,naozhong[3]);//D′è롾ÄÖÖó-¿a1Ø¡¿êy¾Y±£′æ
  530.                                         AT24C02_write_date(4,naozhong[4]);//D′è롾òôàÖDòoÅ¡¿êy¾Y±£′æ
  531.                                         Writeds1302 (WRITE_MINUTE,(time[1]/10)*16+time[1]%10);//½«éèÖÃoÃμÄê±¼äD′èëDS1302
  532.                                         Writeds1302 (WRITE_SECOND,(time[0]/10)*16+time[0]%10);

  533.                                         LCD_write_command(0x01);          //Çå3yÆáÄ»ÏÔê¾
  534.                                         delay_n40us(100);                          //Ñóê±μè′yè«2¿Çå3yíê±Ï
  535.                                 }
  536.                         }
  537.                         else                           //·ñÔò£¬Ãë±íģ꽻òÕßμ1¼Æê±Ä£ê½
  538.                         {
  539.                                 if(set_dao==0) //èç1û£¬·Çμ1¼Æê±éèÖÃÆeê¼ê±¼ä×′ì¬ÏÂ
  540.                                         TR0=~TR0;  //ÇD»» Ãë±í¼Æê±»òμ1¼Æê±-¿aê¼/ÔYí£
  541.                         }                        
  542.                 }
  543.                 while(!key_mode);      //μè′y°′¼üËé¿a
  544.         
  545.         //è·¶¨

  546.                 if(key_ok==0&&set_f!=0)//Ôù′Îè·èϰ′¼ü°′Ï£¬2¢Çòμ±Ç°′|óúéèÖÃÄ£ê½
  547.                 {
  548.                         set_f=0;                                                  //ÖØÖÃéèÖñäá¿        
  549.                         AT24C02_write_date(0,naozhong[0]);//D′è롾ÄÖÖó-Ãë¡¿êy¾Y±£′æ
  550.                         AT24C02_write_date(1,naozhong[1]);//D′è롾ÄÖÖó-·Ö¡¿êy¾Y±£′æ
  551.                         AT24C02_write_date(2,naozhong[2]);//D′è롾ÄÖÖó-걡¿êy¾Y±£′æ
  552.                         AT24C02_write_date(3,naozhong[3]);//D′è롾ÄÖÖó-¿a1Ø¡¿êy¾Y±£′æ        
  553.                         AT24C02_write_date(4,naozhong[4]);//D′è롾òôàÖDòoÅ¡¿êy¾Y±£′æ
  554.                         Writeds1302 (WRITE_MINUTE,(time[1]/10)*16+time[1]%10);//½«éèÖÃoÃμÄê±¼äD′èëDS1302
  555.                         Writeds1302 (WRITE_SECOND,(time[0]/10)*16+time[0]%10);

  556.                         LCD_write_command(0x01);          //Çå3yÆáÄ»ÏÔê¾
  557.                         delay_n40us(100);                          //Ñóê±μè′yè«2¿Çå3yíê±Ï
  558.                 }
  559.                 else
  560.                         if(key_ok==0&&naozhong_f==1)          //·ñÔò£¬μ±Ç°ÄÖÖóÏìÆe£¬½øèëÔYí£ÄÖÖó
  561.                                 led=1;                                                  //ϨÃeLEDμÆ
  562.                         else
  563.                                 if(key_ok==0&&set_f==0&&dao_f==0)//·ñÕߣ¬ÇD»»Ãë±íÄ£ê½oíÕy3£Ä£ê½
  564.                                 {
  565.                                                                
  566.                                         LCD_write_command(0x01);  //Çå3yÆáÄ»ÏÔê¾
  567.                                     delay_n40us(100);                  //Ñóê±μè′yè«2¿Çå3yíê±Ï
  568.                                         if(miaobiao_f==0)                  //íË3öÃë±íÄ£ê½ê±£¬1رÕÃë±í¼Æê±
  569.                                         {
  570.                                                 TR0=0;                                  //1رն¨ê±Æ÷
  571.                                                 T0_num=0;                          //ÖØÖÃËùóDÃë±íμÄê±¼ä
  572.                                                 times=0;
  573.                                                 fens=0;
  574.                                         }
  575.                                         AT24C02_write_date(5,miaobiao_f);//D′è롾Ãë±í±êÖ¾¡¿êy¾Y±£′æ
  576.                                 }
  577.                                 else
  578.                                         if(dao_f==1)                          //·ñÕߣ¬μ1¼Æê±Ä£ê½
  579.                                         {
  580.                                                 if(set_dao==0||set_dao==3)        
  581.                                                 {
  582.                                                         LCD_write_command(0x01);//Çå3yÆáÄ»ÏÔê¾
  583.                                                             delay_n40us(100);                //Ñóê±μè′yè«2¿Çå3yíê±Ï
  584.                                                 }
  585.                                                 set_dao++;                                        //μ1¼Æê±Æeê¼ê±¼äéèÖñêÖ¾+1
  586.                                                 if(set_dao==4)                            //è«2¿éèÖÃíê3é
  587.                                                         set_dao=0;                                //ÖØÖÃμ1¼Æê±Æeê¼ê±¼äéèÖñêÖ¾
  588.                                         }
  589.                                 
  590.                 while(!key_ok);                                        //μè′y°′¼üËé¿a
  591.         {
  592.         //¼ó¼ü               
  593.         if(key_jia==0)
  594.         {
  595.                 delayms(7);
  596.                 if(key_jia==0&&set_f!=0)
  597.                 {
  598.                         if(set_f==1)           //éèÖÃÄê
  599.                         {
  600.                                 time[6]++;                                                        //Äê·Y+1
  601.                                 time[6]=(time[6]/10)*16+time[6]%10;        //½«Äê·Y×a»»3é16½øÖÆ£¬àyèç£o16Äê-->0x16
  602.                                 if(time[6]>0x79)                                        //ÅD¶ÏêÇ·ñ′ïμ½×î′óÄê·Y79Äê
  603.                                         time[6]=0x00;                                        //ÖØD»Øμ½00Äê
  604.                                 Writeds1302 (WRITE_YEA,time[6]);        //½«éèÖÃoÃμÄÄê·YD′èëμ½DS1302′æ′¢Æeà′
  605.                                 time[6]=Read1302(0x8d);                                //¶áè¡μ±Ç°Äê·Y
  606.                         }
  607.                
  608.                         if(set_f==2)           //éèÖÃÔÂ
  609.                         {
  610.                                 time[4]++;                                                        //Ô·Y+1
  611.                                 time[4]=(time[4]/10)*16+time[4]%10;        //½«Ô·Y×a»»3é16½øÖÆ£¬àyèç£o08ÔÂ-->0x08
  612.                                 if(time[4]>0x12)                                        //ÅD¶ÏêÇ·ñ′ïμ½×î′óÔ·Y12ÔÂ
  613.                                         time[4]=0x01;                                        //ÖØD»Øμ½01ÔÂ
  614.                                 Writeds1302 (WRITE_MONTH,time[4]);        //½«éèÖÃoÃμÄÔ·YD′èëμ½DS1302′æ′¢Æeà′
  615.                         }
  616.                
  617.                         if(set_f==3)         //éèÖÃèÕ
  618.                         {
  619.                                 time[3]++;                                                        //èÕ·Y+1
  620.                                 time[3]=(time[3]/10)*16+time[3]%10;        //½«èÕ·Y×a»»3é16½øÖÆ£¬àyèç£o15èÕ-->0x15
  621.                                 if(time[4]==1||time[4]==3||time[4]==5||time[4]==7||time[4]==8||time[4]==10||time[4]==12)//1,3,5,7,8,10,12Îa′óÔ£¬Ã¿ÔÂ31ìì
  622.                                 {
  623.                                         if(time[3]>0x31)                                //ÅD¶ÏêÇ·ñ′ïμ½×î′óèÕ·Y31èÕ
  624.                                                 time[3]=0x01;                                //ÖØD»Øμ½01èÕ
  625.                                 }
  626.                                 else                                                                //·ñÕß2,4,6,9,11ÎaD¡ÔÂ
  627.                                 {
  628.                                         if(time[4]==0x02)                                //èç1ûêÇ2Ô£¬DèòaÇø·Öèò¡¢ƽÄê
  629.                                         {
  630.                                                 if(((!(time[6]%4) && (time[6]%100)) || !(time[6]%400))==0)//èç1ûèòÄê
  631.                                                 {
  632.                                                         if(time[3]>0x28)                //ÅD¶ÏêÇ·ñ′ïμ½×î′óèÕ·Y28èÕ
  633.                                                                 time[3]=0x01;                //ÖØD»Øμ½01èÕ
  634.                                                 }
  635.                                                 else                                                //·ñÕ߯½Äê
  636.                                                 {
  637.                                                         if(time[3]>0x29)                //ÅD¶ÏêÇ·ñ′ïμ½×î′óèÕ·Y29èÕ
  638.                                                                 time[3]=0x01;                //ÖØD»Øμ½01èÕ
  639.                                                 }
  640.                                         }
  641.                                         else                                                        //·ñÕßÎaê£ÏÂμÄÔ·Y
  642.                                         {
  643.                                                 if(time[3]>0x30)                        //ÅD¶ÏêÇ·ñ′ïμ½×î′óèÕ·Y30èÕ
  644.                                                         time[3]=0x01;                        //ÖØD»Øμ½01èÕ
  645.                                         }
  646.                                 }        
  647.                                 Writeds1302 (WRITE_DAY,time[3]);        //½«éèÖÃoÃμÄèÕ·YD′èëμ½DS1302′æ′¢Æeà′
  648.                         }
  649.                
  650.                         if(set_f==4)          //éèÖÃê±£¬í¬éÏ
  651.                         {                        
  652.                                 time[2]++;
  653.                                 time[2]=(time[2]/10)*16+time[2]%10;
  654.                                 if(time[2]>0x23)
  655.                                         time[2]=0x00;
  656.                                 Writeds1302 (WRITE_HOUR,time[2]);        
  657.                         }
  658.                
  659.                         if(set_f==5)          //éèÖ÷Ö£¬í¬éÏ
  660.                         {
  661.                                 time[1]++;
  662.                                 time[1]=(time[1]/10)*16+time[1]%10;
  663.                                 if(time[1]>0x59)
  664.                                         time[1]=0x00;
  665.                                 Writeds1302 (WRITE_MINUTE,time[1]);        
  666.                         }
  667.                
  668.                         if(set_f==6)         //éèÖÃÃ룬í¬éÏ
  669.                         {
  670.                                 time[0]++;
  671.                                 time[0]=(time[0]/10)*16+time[0]%10;
  672.                                 if(time[0]>0x59)
  673.                                         time[0]=0x00;
  674.                                 Writeds1302 (WRITE_SECOND,time[0]);        
  675.                         }
  676.                         
  677.                         if(set_f==7)         //éèÖÃÄÖÖó-ê±
  678.                         {
  679.                                 naozhong[2]++;                //ÄÖÖó-ê± +1
  680.                                 if(naozhong[2]>23)        //ÅD¶ÏÄÖÖó-ê± êÇ·ñ′óóú23ê±
  681.                                         naozhong[2]=0;        //èç1ûêÇ£¬»Øμ½0ê±
  682.                         }
  683.                
  684.                         if(set_f==8)    //éèÖÃÄÖÖó-·Ö
  685.                         {
  686.                                 naozhong[1]++;                //ÄÖÖó-·Ö +1
  687.                                 if(naozhong[1]>59)        //ÅD¶ÏÄÖÖó-·Ö êÇ·ñ′óóú59ê±
  688.                                         naozhong[1]=0;        //èç1ûêÇ£¬»Øμ½0·Ö        
  689.                         }
  690.                         
  691.                         if(set_f==9)        //éèÖÃÄÖÖó-Ãë
  692.                         {
  693.                                 naozhong[0]++;                //ÄÖÖó-Ãë +1
  694.                                 if(naozhong[0]>59)        //ÅD¶ÏÄÖÖó-Ãë êÇ·ñ′óóú59Ãë
  695.                                         naozhong[0]=0;        //èç1ûêÇ£¬»Øμ½0Ãë
  696.                         }
  697.                         
  698.                         if(set_f==10)        //éèÖÃÄÖÖó-¿a/1Ø
  699.                         {
  700.                                 naozhong[3]++;                //ÇD»»ÄÖÖó¿a/1Ø£¬Ö»Dèòa0±íê¾1Ø£¬1±í꾿a¾í¿éòÔ¡£        
  701.                                 if(naozhong[3]==2)
  702.                                         naozhong[3]=0;
  703.                         }
  704.                         if(set_f==11)        //éèÖÃòôàÖ
  705.                         {
  706.                                 naozhong[4]++;                //ÇD»»ÄÖÖó¿a/1Ø£¬Ö»Dèòa0±íê¾1Ø£¬1±í꾿a¾í¿éòÔ¡£        
  707.                                 if(naozhong[4]==3)
  708.                                         naozhong[4]=0;
  709.                         }
  710.                 }
  711.                 if(key_jia==0&&miaobiao_f==1)//Ãë±íÄ£ê½ÏÂ
  712.                 {
  713.                         T0_num=0;                                 //¸′λÃë±íê±¼ä
  714.                         times=0;
  715.                         fens=0;
  716.                 }
  717.                 if(key_jia==0&&set_dao!=0&&set_f==0)//éèÖÃμ1¼Æê±Æeê¼ê±¼ä
  718.                 {
  719.                         if(set_dao==1)                  //éèÖÃμ1¼Æê±Æeê¼ê±¼ä-·Ö
  720.                         {
  721.                                 if(fens!=255)
  722.                                         fens++;
  723.                         }
  724.                         if(set_dao==2)                  //éèÖÃμ1¼Æê±Æeê¼ê±¼ä-Ãë
  725.                         {
  726.                                 if(times==59)
  727.                                 {
  728.                                         fens++;
  729.                                         times=0;
  730.                                 }
  731.                                 else
  732.                                         times++;
  733.                         }
  734.                         if(set_dao==3)                  //éèÖÃμ1¼Æê±Æeê¼ê±¼ä-·ÖÃë
  735.                         {
  736.                                 if(T0_num==18)
  737.                                 {
  738.                                         times++;
  739.                                         T0_num=0;
  740.                                 }
  741.                                 else
  742.                                         T0_num=T0_num+2;
  743.                         }
  744.                 }        
  745.         }
  746.         //¼õ¼ü
  747.         if(key_jian==0)
  748.         {
  749.                 delayms(7);
  750.                 if(key_jian==0&&set_f!=0)
  751.                 {
  752.                         if(set_f==1)         //éèÖÃÄê
  753.                         {
  754.                                 if(time[6]==0)                                           //ÅD¶Ïμ±Ç°êÇ·ñÎa00Äê
  755.                                         time[6]=79;                                           //èç1ûêÇ»Øμ½×î′óÄê·Y£o79Äê
  756.                                 else
  757.                                         time[6]--;                                           //·ñÕߣ¬Äê·Y-1
  758.                                 time[6]=(time[6]/10)*16+time[6]%10;//½«Äê·Y×a»»3é16½øÖÆ£¬àyèç£o16Äê-->0x16                        
  759.                                 Writeds1302 (WRITE_YEA,time[6]);   //½«éèÖÃoÃμÄÄê·YD′èëμ½DS1302′æ′¢Æeà′
  760.                         }
  761.         
  762.                         if(set_f==2)         //éèÖÃÔ£¬í¬éÏ
  763.                         {
  764.                                 if(time[4]==1)
  765.                                         time[4]=12;
  766.                                 else
  767.                                         time[4]--;
  768.                                 time[4]=(time[4]/10)*16+time[4]%10;
  769.                                 Writeds1302 (WRITE_MONTH,time[4]);               
  770.                         }
  771.         
  772.                         if(set_f==3)        //éèÖÃèÕ£¬í¬éÏ
  773.                         {
  774.                                 time[3]--;
  775.                                 time[3]=(time[3]/10)*16+time[3]%10;
  776.                                 if(time[4]==1||time[4]==3||time[4]==5||time[4]==7||time[4]==8||time[4]==10||time[4]==12)
  777.                                 {
  778.                                         if(time[3]<0x01)
  779.                                                 time[3]=0x31;
  780.                                 }
  781.                                 else
  782.                                 {
  783.                                         if(time[4]==0x02)
  784.                                         {
  785.                                                 if(((!(time[6]%4) && (time[6]%100)) || !(time[6]%400))==0)
  786.                                                 {
  787.                                                         if(time[3]<0x01)
  788.                                                                 time[3]=0x28;
  789.                                                 }
  790.                                                 else
  791.                                                 {
  792.                                                         if(time[3]<0x01)
  793.                                                                 time[3]=0x29;
  794.                                                 }
  795.                                         }
  796.                                         else
  797.                                         {
  798.                                                 if(time[3]<0x01)
  799.                                                         time[3]=0x30;
  800.                                         }
  801.                                 }        
  802.                                 Writeds1302 (WRITE_DAY,time[3]);               
  803.                         }
  804.         
  805.                         if(set_f==4)        //éèÖÃê±£¬í¬éÏ
  806.                         {                        
  807.                                 if(time[2]==0)
  808.                                         time[2]=23;
  809.                                 else
  810.                                         time[2]--;
  811.                                 time[2]=(time[2]/10)*16+time[2]%10;
  812.                                 Writeds1302 (WRITE_HOUR,time[2]);               
  813.                         }
  814.         
  815.                         if(set_f==5)        //éèÖ÷Ö£¬í¬éÏ
  816.                         {
  817.                                 if(time[1]==0)
  818.                                         time[1]=59;
  819.                                 else
  820.                                         time[1]--;
  821.                                 time[1]=(time[1]/10)*16+time[1]%10;
  822.                                 Writeds1302 (WRITE_MINUTE,time[1]);               
  823.                         }
  824.         
  825.                         if(set_f==6)        //éèÖÃÃ룬í¬éÏ
  826.                         {
  827.                                 if(time[0]==0)
  828.                                         time[0]=59;
  829.                                 else
  830.                                         time[0]--;
  831.                                 time[0]=(time[0]/10)*16+time[0]%10;
  832.                                 Writeds1302 (WRITE_SECOND,time[0]);                        
  833.                         }
  834.                         if(set_f==7)         //éèÖÃÄÖÖó-ê±£¬í¬éÏ
  835.                         {
  836.                                 if(naozhong[2]==0)
  837.                                         naozhong[2]=23;
  838.                                 else        
  839.                                         naozhong[2]--;                                                
  840.                         }
  841.         
  842.                         if(set_f==8)        //éèÖÃÄÖÖó-·Ö£¬í¬éÏ
  843.                         {
  844.                                 if(naozhong[1]==0)
  845.                                         naozhong[1]=59;
  846.                                 else        
  847.                                         naozhong[1]--;
  848.                         }
  849.                         
  850.                         if(set_f==9)        //éèÖÃÄÖÖó-Ã룬í¬éÏ
  851.                         {
  852.                                 if(naozhong[0]==0)
  853.                                         naozhong[0]=59;
  854.                                 else        
  855.                                         naozhong[0]--;
  856.                         }
  857.                         
  858.                         if(set_f==10)        //éèÖÃÄÖÖó-¿a/1Ø£¬í¬éÏ
  859.                         {
  860.                                 naozhong[3]++;                        
  861.                                 if(naozhong[3]==2)
  862.                                         naozhong[3]=0;
  863.                         }
  864.                         if(set_f==11)        //éèÖÃòôàÖDòoÅ
  865.                         {
  866.                                                         
  867.                                 if(naozhong[4]==0)
  868.                                         naozhong[4]=2;
  869.                                 else
  870.                                         naozhong[4]--;
  871.                         }
  872.                 }
  873.                 if(key_jian==0&&miaobiao_f==1)//Ãë±íÄ£ê½
  874.                 {
  875.                         T0_num=0;                                  //¸′λÃë±íê±¼ä
  876.                         times=0;
  877.                         fens=0;
  878.                 }
  879.                 if(key_jian==0&&set_dao!=0&&set_f==0)//éèÖÃμ1¼Æê±Æeê¼ê±¼ä
  880.                 {
  881.                         if(set_dao==1)                                
  882.                         {
  883.                                 if(fens!=0)
  884.                                         fens--;
  885.                         }
  886.                         if(set_dao==2)                            //éèÖÃμ1¼Æê±Æeê¼ê±¼ä-Ãë
  887.                         {
  888.                                 if(times!=0)
  889.                                         times--;
  890.                         }
  891.                         if(set_dao==3)                            //éèÖÃμ1¼Æê±Æeê¼ê±¼ä-·ÖÃë
  892.                         {
  893.                                 if(T0_num!=0)
  894.                                         T0_num=T0_num-2;
  895.                         }
  896.                 }
  897.         }
  898.         //μ1¼Æê±
  899.         
  900.         }
  901. }
  902. /********************************************************
  903. oˉêyÃû3Æ:void mian()
  904. oˉêy×÷óÃ:Ö÷oˉêy
  905. 2ÎêyËμÃ÷:
  906. ********************************************************/
  907. void  AT24C02_delay(uint n);                                            //Ñóê±40*n΢Ãî
  908. void  AT24C02_start();                                                           //¿aê¼DÅoÅ
  909. void  AT24C02_stop();                                                           //í£Ö1DÅoÅ
  910. void  AT24C02_respons();                                                   //ó|′eDÅoÅ
  911. void  AT24C02_write(uchar date);                                   //D′êy¾Y
  912. unsigned char AT24C02_read();                                                           //¶áêy¾Y
  913. void  AT24C02_write_date(uchar address,uchar date);//ÏòaddressμØÖ·D′êädateêy¾Y
  914. unsigned char AT24C02_read_date(uchar address);                           //Ïòaddress¶á3öêy¾Y2¢·μ»Ø

  915. void main()
  916. {        
  917.     uchar i;

  918.         if(key_dao==0)
  919.         {
  920.                 delayms(100);
  921.                 if(key_dao==0)
  922.                 {
  923.                         for(i=0;i<7;i++)
  924.                         {
  925.                                 AT24C02_write_date(i,0);//D′èëêy¾Y±£′æ
  926.                         }
  927.                 }
  928.         }
  929.         naozhong[0]=AT24C02_read_date(0);//¶áè¡′æ′¢μÄ¡¾ÄÖÖó-Ãë¡¿êy¾Y
  930.         naozhong[1]=AT24C02_read_date(1);//¶áè¡′æ′¢μÄ¡¾ÄÖÖó-·Ö¡¿êy¾Y
  931.         naozhong[2]=AT24C02_read_date(2);//¶áè¡′æ′¢μÄ¡¾ÄÖÖó-걡¿êy¾Y
  932.         naozhong[3]=(bit)AT24C02_read_date(3);//¶áè¡′æ′¢μÄ¡¾ÄÖÖó-¿a1Ø¡¿êy¾Y
  933.         naozhong[4]=AT24C02_read_date(4);//¶áè¡′æ′¢μÄ¡¾òôàÖDòoÅ¡¿êy¾Y



  934.         T0_init();         //¶¨ê±Æ÷3õê¼»ˉ
  935.         TimerInit(); //¶¨ê±Æ÷13õê¼»ˉ£¬2úéúòôàÖóÃ
  936.         LCD_init();  //LCD16023õê¼»ˉ
  937.         Read_time(); //Õa±ß3õê¼»ˉÏè¶áè¡ò»′ÎèÕÆú걼䣬êÇÎaáË·àÖ1ģ꽼Çòäμ½μ1¼Æê±»òÃë±íê±íË3öÃë±í»òμ1¼Æê±ê±»áÎóèÏÎaêÇÕûμã½øDD±¨ê±¡£
  938.                                 

  939.         }

  940. /*********************************************************/
  941. // 1|Äü£o¶¨ê±Æ÷1ÖD¶Ï′|àíoˉêy
  942. /*********************************************************/                  
  943. void time1() interrupt 3
  944. {
  945.         Beep_P=!Beep_P;                        // ½«¿ØÖÆÑïéùÆ÷μÄ1ü½Åè¡·′
  946.         TH1=ArrTh0[gTone];               
  947.         TL1=ArrTl0[gTone];               
  948. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 四虎永久免费黄色影片 | 在线中文字幕亚洲 | 久草网在线视频 | 不卡的av电影 | 激情视频网站 | 91高清在线视频 | 久久大| 日韩av在线一区 | 91欧美 | 99久热在线精品视频观看 | 国产第一页在线观看 | 一区二区精品在线 | 一级黄色毛片子 | 国产日韩欧美一区 | 久久久久久免费精品一区二区三区 | 国产精品一区二区视频 | 欧美日韩福利视频 | 草久网 | 91国内外精品自在线播放 | 亚洲精品电影在线观看 | 欧美精品一区在线发布 | 美国av毛片| 国产区第一页 | 国产一区二区三区不卡av | 成人一区二区在线 | 欧美视频一区二区三区 | 日韩aⅴ片| 毛片一区二区三区 | 一区二区三区视频在线 | 国产乱人伦精品一区二区 | 亚洲精品中文字幕中文字幕 | 91精品久久久久久久久久入口 | 四虎在线视频 | 91网在线观看 | 一级毛片视频 | 欧美一区二区三区在线视频 | 国内精品久久久久久久影视简单 | 久久久久久久久久久久91 | 黄视频免费观看 | 91精品国产乱码久久久久久久久 | 黄色片在线观看网址 |