1 / 9
文档名称:

DS1302液晶显示时间.doc

格式:doc   大小:52KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DS1302液晶显示时间.doc

上传人:xxj16588 2018/1/20 文件大小:52 KB

下载得到文件列表

DS1302液晶显示时间.doc

相关文档

文档介绍

文档介绍:#include<> //包含单片机寄存器的头文件
#include<> //包含_nop_()函数定义的头文件
/***********************************************************************
以下是DS1302芯片的操作程序
************************************************************************/
unsigned char code digit[10]={"0123456789"}; //定义字符数组显示数字
sbit DATA=P1^1; //位定义1302芯片的接口,
sbit RST=P1^2; //位定义1302芯片的接口,
sbit SCLK=P1^0; //位定义1302芯片的接口,
/*****************************************************
函数功能:延时若干微秒
入口参数:n
***************************************************/
void delaynus(unsigned char n)
{
unsigned char i;
for(i=0;i<n;i++)
;
}
/*****************************************************
函数功能:向1302写一个字节数据
入口参数:x
***************************************************/
void Write1302(unsigned char dat)
{
unsigned char i;
SCLK=0; //拉低SCLK,为脉冲上升沿写入数据做好准备
delaynus(2); //稍微等待,使硬件做好准备
for(i=0;i<8;i++) //连续写8个二进制位数据
{
DATA=dat&0x01; //取出dat的第0位数据写入1302
delaynus(2); //稍微等待,使硬件做好准备
SCLK=1; //上升沿写入数据
delaynus(2); //稍微等待,使硬件做好准备
SCLK=0; //重新拉低SCLK,形成脉冲
dat>>=1; //将dat的各数据位右移1位,准备写入下一个数据位
}

}
/*****************************************************
函数功能:根据命令字,向1302写一个字节数据
入口参数:Cmd,储存命令字;dat,储存待写的数据
***************************************************/
void WriteSet1302(unsigned char Cmd,unsigned char dat)
{
RST=0; //禁止数据传递
SCLK=0; //确保写数居