⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c8563.c

📁 单片机的RTC的运用。888 888 8888
💻 C
字号:
#include	<reg52.h>
#include	<VIiC_C51.H>	//包含VI2C软件包
#include    <zlg7290.h>

#define	PCF8563	0xA2	//定义器件地址
#define	WRADDR	0x00	//定义写单元首地址
#define	RDADDR	0x02	//定义读单元首地址


unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};

/*********************************************************************************************************
** 函数名称: 	display
** 功能描述: 	7298A led显示
** 输 入: *sd :	显示缓冲区的头地址
**         
** 输 出: 0 :	OK;
**         1 :	FAIL;
** 全局变量:	无
** 调用模块: 	ZLG7289_SendBuf
**
** 作 者: 叶皓贲
** 日 期: 2003-3-4
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned char display(unsigned char  *sd)
{ 

	sd[0]=sd[0]&0x7f;
	sd[1]=sd[1]&0x7f;
	sd[2]=sd[2]&0x3f;					//屏蔽保留位
  	disp_buf[0] =(sd[0]%16);			
    disp_buf[1] =(sd[0]/16);		
    disp_buf[2] = 31;
    disp_buf[3] =(sd[1]%16);
    disp_buf[4] =(sd[1]/16);
    disp_buf[5] = 31;
    disp_buf[6] =(sd[2]%16);	
    disp_buf[7] =(sd[2]/16);
    ZLG7290_SendBuf(disp_buf,8);
	return 0;
}

/*********************************************************************************************************
** 函数名称: 	DelayNS
** 功能描述: 	长软件延时
** 输 入: no :	延时参数,值越大时延时越久
**         
** 输 出: 0 :	OK;
**         1 :	FAIL;
** 全局变量:	无
** 调用模块: 	无
**
** 作 者: 叶皓贲
** 日 期: 2003-3-4
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned char DelayNS(unsigned char  no)
{ 
	unsigned char  i,j;					//延时参数

  	for(; no>0; no--)
  	{ 
		for(i=0; i<100; i++)
     		for(j=0; j<100; j++);
  	}
  	return 0; 
}
void	main()
{
	unsigned char td[5]={0x00,0x12,0x00,0x30,0x12};	//定义初始化字
	unsigned char rd[5];	//定义接收法缓冲区
	ISendStr(PCF8563,WRADDR,td,0x5);	//初始化PCF8563,如果需要的话可以不去掉
	while(1)
	{
	IRcvStr(PCF8563,RDADDR,rd,0x3);	//读现在的时、分、秒
	DelayNS(1);
	display(rd);	//调显示子程序
	DelayNS(1);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -