| ²é¿´: 448 | »Ø¸´: 1 | |||
ºÇºÇÈ˼ÒÒø³æ (³õÈëÎÄ̳)
|
[ÇóÖú]
¸ç¸ç½ã½ãÃÇ˸øÎÒ¸öµ¥Æ¬»ú¿ª·¢°åÍòÄêÀúµÄCÓïÑÔ³ÌÐò
|
| ¿ÉÒÔÔÚKeilÉϱàÒëµÄ£¬Ð»Ð»£¡¸ø·ÖµÄŶ |
» ²ÂÄãϲ»¶
0703»¯Ñ§/290Çóµ÷¼Á/±¾¿Æ¾Àú·á¸»/¹¤¿ÆÒ²¿É
ÒѾÓÐ4È˻ظ´
284Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
»¯Ñ§¹¤³Ì085602 305·ÖÇóµ÷¼Á
ÒѾÓÐ12È˻ظ´
¿¼Ñе÷¼Á
ÒѾÓÐ4È˻ظ´
292Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
Ò»Ö¾Ô¸ Î÷±±´óѧ ×Ü·Ö282 Ó¢ÓïÒ»62 Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
315·ÖÇóµ÷¼Á
ÒѾÓÐ5È˻ظ´
»·¾³×¨Ë¶324·ÖÇóµ÷¼ÁÍÆ¼ö
ÒѾÓÐ5È˻ظ´
ѰÕÒµ÷¼Á
ÒѾÓÐ7È˻ظ´
291 Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
ÓÐËÖªµÀ¹ã¶«Ê¡¸ßµÈѧУ¿Æ¼¼´´ÐÂÏîÄ¿µÄÆÀÉó½á¹û£¿
ÒѾÓÐ7È˻ظ´
ËÄÜÏêϸ½²½²³õѧ±à³ÌѧʲôÓïÑÔÊʺϣ¿ÒÔºóµ¥Æ¬»ú·½Ïò~~лл~~
ÒѾÓÐ7È˻ظ´
ͬÊÂ˵cÓïÑÔÖ®¸¸È¥ÊÀÁË
ÒѾÓÐ30È˻ظ´
CÓïÑÔÓëFortranÓïÑÔÖ®¼äµÄת»¯
ÒѾÓÐ9È˻ظ´
tinker³ÌÐòʹÓÃ
ÒѾÓÐ3È˻ظ´
cÓïÑÔ¶¯Ì¬Êý×é
ÒѾÓÐ7È˻ظ´
¹ØÓÚcÓïÑÔµÄÒ»¸öСÎÊÌâ ×øµÈ»Ø¸´°¡ ¼±°¡ ÊǹØÓÚ½¨Á¢Êý×éµÄ
ÒѾÓÐ9È˻ظ´
ÉϴκÜÊÇʧ°Ü£¬ÔÙÀ´Ò»¸ö£¬´ó¼Ò¸øµã¹ÄÀøÑ½£¡
ÒѾÓÐ6È˻ظ´
¡¾ÇóÖú¡¿~~ÉϺ£¶þ¼¶CÓïÑÔÕæÌâ~~¸÷λ´óÏÀ
ÒѾÓÐ6È˻ظ´
¡¾ÇóÖú¡¿°ïÎÒ±à¸ö³Ì°¡~CÓïÑÔ£¬C++£¬Matlab£¬VB...¶¼ÐÐ~
ÒѾÓÐ14È˻ظ´
¡¾ÇóÖú¡¿ÈçºÎʹÓÃpicµ¥Æ¬»úʵÏÖÂö³å¼ÆÊý
ÒѾÓÐ4È˻ظ´
ÇóÖúCÓïÑÔÓÐÏÞԪһά¡¢¶þά¡¢¾ØÐÎÍø¸ñÒÔ¼°Èý½ÇÐÎÍø¸ñ³ÌÐò
ÒѾÓÐ4È˻ظ´
ouxinlei
Ìú³æ (³õÈëÎÄ̳)
- Ó¦Öú: 1 (Ó×¶ùÔ°)
- ½ð±Ò: 29.5
- Ìû×Ó: 3
- ÔÚÏß: 2.6Сʱ
- ³æºÅ: 1291421
- ×¢²á: 2011-05-10
- רҵ: ¿ØÖÆÀíÂÛÓë·½·¨
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
|
/************************************************************************** THE REAL TIMER DS1302 DRIVER LIB COPYRIGHT (c) 2005 BY JJJ. -- ALL RIGHTS RESERVED -- File Name: DS1302.h Author: Jiang Jian Jun Created: 2003/7/21 Modified: NO Revision: 1.0 ***************************************************************************/ #ifndef _REAL_TIMER_DS1302_2003_7_21_ #define _REAL_TIMER_DS1302_2003_7_21_ sbit DS1302_CLK = P1^6; //ʵʱʱÖÓʱÖÓÏßÒý½Å sbit DS1302_IO = P1^7; //ʵʱʱÖÓÊý¾ÝÏßÒý½Å sbit DS1302_RST = P1^5; //ʵʱʱÖÓ¸´Î»ÏßÒý½Å sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; typedef struct __SYSTEMTIME__ { unsigned char Second; unsigned char Minute; unsigned char Hour; unsigned char Week; unsigned char Day; unsigned char Month; unsigned char Year; unsigned char DateString[11]; unsigned char TimeString[9]; }SYSTEMTIME; //¶¨ÒåµÄʱ¼äÀàÐÍ #define AM(X) X #define PM(X) (X+12) // ת³É24Ð¡Ê±ÖÆ #define DS1302_SECOND 0x80 #define DS1302_MINUTE 0x82 #define DS1302_HOUR 0x84 #define DS1302_WEEK 0x8A #define DS1302_DAY 0x86 #define DS1302_MONTH 0x88 #define DS1302_YEAR 0x8C #define DS1302_RAM(X) (0xC0+(X)*2) //ÓÃÓÚ¼ÆËã DS1302_RAM µØÖ·µÄºê void DS1302InputByte(unsigned char d) //ʵʱʱÖÓдÈëÒ»×Ö½Ú(ÄÚ²¿º¯Êý) { unsigned char i; ACC = d; for(i=8; i>0; i--) { DS1302_IO = ACC0; //Ï൱ÓÚ»ã±àÖÐµÄ RRC DS1302_CLK = 1; DS1302_CLK = 0; ACC = ACC >> 1; } } unsigned char DS1302OutputByte(void) //ʵʱʱÖÓ¶Áȡһ×Ö½Ú(ÄÚ²¿º¯Êý) { unsigned char i; for(i=8; i>0; i--) { ACC = ACC >>1; //Ï൱ÓÚ»ã±àÖÐµÄ RRC ACC7 = DS1302_IO; DS1302_CLK = 1; DS1302_CLK = 0; } return(ACC); } void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302µØÖ·, ucData: ҪдµÄÊý¾Ý { DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302InputByte(ucAddr); // µØÖ·£¬ÃüÁî DS1302InputByte(ucDa); // д1ByteÊý¾Ý DS1302_CLK = 1; DS1302_RST = 0; } unsigned char Read1302(unsigned char ucAddr) //¶ÁÈ¡DS1302ijµØÖ·µÄÊý¾Ý { unsigned char ucData; DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302InputByte(ucAddr|0x01); // µØÖ·£¬ÃüÁî ucData = DS1302OutputByte(); // ¶Á1ByteÊý¾Ý DS1302_CLK = 1; DS1302_RST = 0; return(ucData); } void DS1302_SetProtect(bit flag) //ÊÇ·ñд±£»¤ { if(flag) Write1302(0x8E,0x10); else Write1302(0x8E,0x00); } void DS1302_SetTime(unsigned char Address, unsigned char Value) // ÉèÖÃʱ¼äº¯Êý { DS1302_SetProtect(0); Write1302(Address, ((Value/10)<<4 | (Value%10))); } void DS1302_GetTime(SYSTEMTIME *Time) { unsigned char ReadValue; ReadValue = Read1302(DS1302_SECOND); Time->Second = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_MINUTE); Time->Minute = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_HOUR); Time->Hour = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_DAY); Time->Day = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_WEEK); Time->Week = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_MONTH); Time->Month = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_YEAR); Time->Year = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); } void DateToStr(SYSTEMTIME *Time) { if(hide_year<2) { Time->DateString[0] = Time->Year/10 + '0'; Time->DateString[1] = Time->Year%10 + '0'; } else { Time->DateString[0] = ' '; Time->DateString[1] = ' '; } Time->DateString[2] = '-'; if(hide_month<2) { Time->DateString[3] = Time->Month/10 + '0'; Time->DateString[4] = Time->Month%10 + '0'; } else { Time->DateString[3] = ' '; Time->DateString[4] = ' '; } Time->DateString[5] = '-'; if(hide_day<2) { Time->DateString[6] = Time->Day/10 + '0'; Time->DateString[7] = Time->Day%10 + '0'; } else { Time->DateString[6] = ' '; Time->DateString[7] = ' '; } if(hide_week<2) { Time->DateString[8] = ' '; Time->DateString[9] = Time->Week%10 + '0'; } else { Time->DateString[8] = ' '; Time->DateString[9] = ' '; } Time->DateString[10] = '\0'; } void TimeToStr(SYSTEMTIME *Time) { if(hide_hour<2) { Time->TimeString[0] = Time->Hour/10 + '0'; Time->TimeString[1] = Time->Hour%10 + '0'; } else { Time->TimeString[0] = ' '; Time->TimeString[1] = ' '; } Time->TimeString[2] = ':'; if(hide_min<2) { Time->TimeString[3] = Time->Minute/10 + '0'; Time->TimeString[4] = Time->Minute%10 + '0'; } else { Time->TimeString[3] = ' '; Time->TimeString[4] = ' '; } Time->TimeString[5] = ':'; if(hide_sec<2) { Time->TimeString[6] = Time->Second/10 + '0'; Time->TimeString[7] = Time->Second%10 + '0'; } else { Time->TimeString[6] = ' '; Time->TimeString[7] = ' '; } Time->DateString[8] = '\0'; } void Initial_DS1302(void) { unsigned char Second=Read1302(DS1302_SECOND); Write1302(0x8e,0x00); //дÈëÔÊÐí Write1302(0x80,0x50); Write1302(0x82,0x56); Write1302(0x84,0x22); Write1302(0x8e,0x80); //½ûֹдÈë if(Second&0x80) DS1302_SetTime(DS1302_SECOND,0x80); } #endif |
2Â¥2012-04-18 15:48:56













»Ø¸´´ËÂ¥
6