• 大小: 1.69MB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2023-10-15
  • 语言: 其他
  • 标签:

资源简介

电子万年历含有年月日时分秒,时钟,温度,星期,节气及电路图和仿真

资源截图

代码片段和文件信息

//亦木明
//哪天写的忘了。^_^
#include 
//#include “ds1302.h“

#define uchar unsigned char
#define uint  unsigned int

#define SECOND 0x80 //秒
#define MINUTE 0x82 //分鍾
#define HOUR   0x84 //小時
#define DAY    0x86 //天
#define MONTH  0x88 //月
#define WEEK   0x8a //星期
#define YEAR   0x8c //年

sbit DS1302_RST=P3^0;
sbit DS1302_SCLK=P3^1;
sbit DS1302_IO=P3^2;

typedef struct systime
{
uchar  cYear;
uchar cMon;
uchar cDay;
uchar cHour;
uchar cMin;
uchar cSec;
uchar cWeek;
}SYSTIME;
 
void DS1302_Write(uchar D)
{
uchar i;
for(i=0;i<8;i++)
{
DS1302_IO=D&0x01;
DS1302_SCLK=1;
DS1302_SCLK=0;
D=D>>1;
}
}

uchar DS1302_Read()
{
uchar TempDat=0i;
for(i=0;i<8;i++)
{
TempDat>>=1; 
if(DS1302_IO) TempDat=TempDat|0x80;
DS1302_SCLK=1;
DS1302_SCLK=0;

}
    return TempDat;
}

void WDS1302(uchar ucAddr uchar ucDat)
{
    DS1302_RST = 0;
    DS1302_SCLK = 0;
    DS1302_RST = 1;
    DS1302_Write(ucAddr);        // 地址,命令 
    DS1302_Write(ucDat);        // 写1Byte数据
    DS1302_SCLK = 1;
    DS1302_RST = 0;


uchar RDS1302(uchar ucAddr)
{
    uchar ucDat;
    DS1302_RST = 0;
    DS1302_SCLK = 0;
    DS1302_RST = 1;
    DS1302_Write(ucAddr);        // 地址,命令 
    ucDat=DS1302_Read();       
    DS1302_SCLK = 1;
    DS1302_RST = 0;
return ucDat;
}

void SetTime(SYSTIME sys)
{

    WDS1302(YEARsys.cYear); 
WDS1302(MONTHsys.cMon&0x1f);
WDS1302(DAYsys.cDay&0x3f);
WDS1302(HOURsys.cHour&0xbf);
WDS1302(MINUTEsys.cMin&0x7f);
WDS1302(SECONDsys.cSec&0x7f);
WDS1302(WEEKsys.cWeek&0x07);

}

void GetTime(SYSTIME *sys)
{
uchar uiTempDat;
uiTempDat=RDS1302(YEAR|0x01);   
(*sys).cYear=(uiTempDat>>4)*10+(uiTempDat&0x0f);

// uiTempDat=RDS1302(0x88|0x01);
// (*sys).cMon=((uiTempDat&0x1f)>>4)*10+(uiTempDat&0x0f);
uiTempDat=RDS1302(0x88|0x01);
(*sys).cMon=((uiTempDat&0x1f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(DAY|0x01);
(*sys).cDay=((uiTempDat&0x3f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(HOUR|0x01);
(*sys).cHour=((uiTempDat&0x3f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(MINUTE|0x01);
sys->cMin=((uiTempDat&0x7f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(SECOND|0x01);
sys->cSec=((uiTempDat&0x7f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(MONTH|0x01);
(*sys).cMon=uiTempDat&0x17;

uiTempDat=RDS1302(WEEK|0x01);
sys->cWeek=uiTempDat&0x07;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      85215  2011-05-10 15:32  12864wannianli\12864

     文件     123183  2011-05-10 19:43  12864wannianli\12864.DSN

     文件      14687  2008-07-29 14:29  12864wannianli\12864.h

     文件      14387  2008-07-29 14:29  12864wannianli\12864.h.bak

     文件      41733  2011-05-10 15:32  12864wannianli\12864.hex

     文件         87  2011-05-10 15:32  12864wannianli\12864.lnp

     文件      80208  2011-05-10 15:32  12864wannianli\12864.M51

     文件       4065  2011-05-10 15:33  12864wannianli\12864.Opt

     文件       4062  2011-05-10 15:32  12864wannianli\12864.plg

     文件       2127  2011-05-10 19:43  12864wannianli\12864.PWI

     文件       2274  2011-05-10 15:33  12864wannianli\12864.Uv2

    .......      2985  2008-07-30 18:47  12864wannianli\12864_Opt.Bak

    .......      2308  2008-07-29 20:06  12864wannianli\12864_Uv2.Bak

     文件        426  2001-06-24 00:06  12864wannianli\Delay.LST

     文件       2489  2008-07-29 19:36  12864wannianli\ds1302.c

     文件       2486  2008-07-29 19:36  12864wannianli\ds1302.c.bak

     文件        500  2008-07-29 19:23  12864wannianli\ds1302.h

     文件       5786  2011-05-10 15:32  12864wannianli\ds1302.LST

     文件       7473  2011-05-10 15:32  12864wannianli\ds1302.OBJ

     文件       3840  2001-06-24 16:34  12864wannianli\DS1820.C

     文件        229  2001-06-23 17:30  12864wannianli\ds1820.h

     文件       9433  2008-07-26 17:17  12864wannianli\DS1820.LST

     文件       6081  2008-07-26 17:17  12864wannianli\DS1820.OBJ

     文件       3694  2008-07-29 19:49  12864wannianli\input_080627.h

     文件       3630  2008-07-28 20:28  12864wannianli\input_080627.h.bak

     文件     123443  2011-05-08 10:09  12864wannianli\Last Loaded 12864.DBK

     文件       9943  2008-07-29 19:01  12864wannianli\lunar.c

     文件      10399  2008-07-29 14:50  12864wannianli\lunar.c.bak

     文件        448  2008-07-29 16:01  12864wannianli\Lunar.h

     文件      19057  2011-05-10 15:32  12864wannianli\lunar.LST

............此处省略26个文件信息

评论

共有 条评论

相关资源