• 大小: 84KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签: 单片机  

资源简介

基于51单片机的电子钟电路图仿真,c程序,已仿真成功。

资源截图

代码片段和文件信息

//*************************************************************************************************
//*   *
//* ***************************DS1302驱动程序*************************   *
//*   *
//*************************************************************************************************


//*************************************************************************************************
//*   *
//*  ******************************头文件及宏定义**************************   *
//*   *
//*************************************************************************************************
#include 

#define DSIO P1_2    //实时时钟数据线引脚
#define DSCLK P1_1    //实时时钟时钟线引脚 
#define DSRST P1_0    //实时时钟复位线引脚

#define DS_SECOND 0x80    //DS1302数据地址。
#define DS_MINUTE 0x82
#define DS_HOUR 0x84 
#define DS_WEEK 0x8A
#define DS_DAY 0x86
#define DS_MONTH 0x88
#define DS_YEAR 0x8C


//*************************************************************************************************
//*   *
//*   ********************************全局变量******************************   *
//*   *
//*************************************************************************************************            
sbit  ACC0 = ACC^0;
sbit  ACC7 = ACC^7;

typedef struct TIME   //定义的时间类型
{
unsigned char ucSecond;
unsigned char ucMinute;
unsigned char ucHour;
unsigned char ucWeek;
unsigned char ucDay;
unsigned char ucMonth;
unsigned char ucYear;
unsigned char ucaDateString[9];
unsigned char ucaTimeString[9];
}TIME;



//*************************************************************************************************
//*   *
//*  *********************实时时钟写入一字节(内部函数)*************************   *
//*   *
//*************************************************************************************************
void vWriteByte(unsigned char ucByte) 

    unsigned char ucCount;

    ACC = ucByte;

    for(ucCount=8;ucCount>0;ucCount--)
    {
        DSIO = ACC0;             //把累加器第0位赋给DSIO口。

        DSCLK = 1;   //DSCLK下降沿,写入数据。
        DSCLK = 0;

        ACC = ACC >> 1;    //把累加器里的数据右移一位。
    } 
}


//*************************************************************************************************
//*   *
//*  *********************实时时钟读入一字节(内部函数)************************   *
//*   *
//*************************************************************************************************
unsigned char ucReadByte(void) 

    unsigned char ucCount;

    for(ucCount=8;ucCount>0;ucCount--)
    {
        ACC = ACC >>1;      //把累加器右移一位。
       
        ACC7 = DSIO;    //把DSIO的数据传给累加器最高位。

        DSCLK = 1;    //DSCLK下降沿读出数据。
        DSC

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

     文件     103650  2007-08-07 22:01  DigitalClock\DigitalClock.DSN

     文件        935  2007-10-26 22:30  DigitalClock\DigitalClock.PWI

     文件      36728  2007-08-07 23:36  DigitalClock\Keil\DigitalClock

     文件       6644  2007-08-07 23:36  DigitalClock\Keil\DigitalClock.hex

     文件         99  2007-08-07 23:36  DigitalClock\Keil\DigitalClock.lnp

     文件      27580  2007-08-07 23:36  DigitalClock\Keil\DigitalClock.M51

     文件       1948  2007-10-26 22:42  DigitalClock\Keil\DigitalClock.Opt

     文件        209  2007-10-26 22:42  DigitalClock\Keil\DigitalClock.plg

     文件       2339  2007-08-07 17:02  DigitalClock\Keil\DigitalClock.Uv2

     文件      20023  2007-08-07 23:36  DigitalClock\Keil\DS1302.lst

     文件      11374  2007-08-07 23:36  DigitalClock\Keil\DS1302.obj

     文件       1317  2007-08-07 22:50  DigitalClock\Keil\include\DS1302.h

     文件        178  2007-08-07 16:13  DigitalClock\Keil\include\Includes.h

     文件        106  2007-08-06 09:27  DigitalClock\Keil\include\KeyProcess.h

     文件        103  2007-08-06 09:36  DigitalClock\Keil\include\KeyScan.h

     文件       1250  2007-08-06 08:51  DigitalClock\Keil\include\SMC1602.h

     目录          0  2007-08-07 14:10  DigitalClock\Keil\include

     文件      11074  2007-08-07 23:36  DigitalClock\Keil\KeyProcess.lst

     文件       6296  2007-08-07 23:36  DigitalClock\Keil\KeyProcess.obj

     文件       7181  2007-08-07 23:36  DigitalClock\Keil\KeyScan.lst

     文件       3047  2007-08-07 23:36  DigitalClock\Keil\KeyScan.obj

     文件      13132  2007-08-07 23:36  DigitalClock\Keil\main.lst

     文件       9739  2007-08-07 23:36  DigitalClock\Keil\main.obj

     文件      15631  2007-08-07 23:36  DigitalClock\Keil\SMC1602.lst

     文件      11015  2007-08-07 23:36  DigitalClock\Keil\SMC1602.obj

     文件       9121  2007-08-07 22:55  DigitalClock\Keil\source\DS1302.c

     文件       4106  2007-08-07 22:25  DigitalClock\Keil\source\KeyProcess.c

     文件       2962  2007-08-07 12:44  DigitalClock\Keil\source\KeyScan.c

     文件       6617  2007-08-07 22:59  DigitalClock\Keil\source\main.c

     文件       6840  2007-08-07 12:37  DigitalClock\Keil\source\SMC1602.c

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

评论

共有 条评论