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

📄 723_1lcd.c

📁 自己写的DS1302 的代码
💻 C
字号:
//lcd显示用的
#include<reg51.h>
#define uchar unsigned char
sbit t_clk=P1^2;
sbit t_io=P1^3;
sbit t_rst=P1^4;
sbit BIT0=ACC^0;
sbit BIT7=ACC^7;
uchar time1[7];
unsigned char code tab[]=
	{
	 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
	 0x6f,0x00,0x00,0x00,0x00,0x00,0x00
	};
void delay(unsigned int cc)
	{ uchar j;
	 for(;cc>0;cc--)
	 for(j=0;j<110;j++);
	}
void inputbyte(uchar shuju)//对ds1302输入操作
{
 uchar i;
 ACC=shuju;
 t_rst=1;//启动对1302允许传送
 for(i=8;i>0;i--)
   {
     t_io=BIT0;//准备送最低位数据
     t_clk=0;
     t_clk=1;//产生一个上升沿,写人数据
     ACC=ACC>>1;
   }
}
uchar outputbyte()//对ds1302进行输出操作
{
 uchar i;
 t_rst=1;//启动对1302允许传送

 for(i=8;i>0;i--)
   {
     ACC=ACC>>1;//将接受到的数据移到最低位
     t_io=1;//准备
     t_clk=1;
     t_clk=0;//产生一个下降沿,读出数据
     BIT7=t_io;//把数据给最高位
   }
return ACC;
}
void wr_1302(uchar addr,uchar shuju)
{//将指令或数据(shuju)写入对应寄存器(addr)
  t_rst=0;
  t_clk=0;
  t_rst=1;
inputbyte(addr);//输入地址
inputbyte(shuju);//输入数据
t_rst=0;
t_io=1;
}
uchar re_1302(uchar addr)
{// 读出对应寄存器的内容
 uchar dat1;
  t_rst=0;
  t_clk=0;
  t_rst=1;
  inputbyte(addr);
  dat1=outputbyte();
  t_rst=0;
  return (dat1);
}
  
void get_1302(uchar time[])
{
  uchar i,j,j1;
  uchar addr=0x81;
  for(i=0;i<3;i++)
  {
    time[i]=re_1302(addr);
 /*   j=time[i];//lcd显示用的
    j1=j/16;//
    j=j%16;//
    j=j1*10+j;//
    time[i]=j;//*/
    addr+=2; 
  }
}


void main()
{
uchar aa=0,aa1,aa2,bb=0,bb1,bb2,dd=0,dd1,dd2;
wr_1302(0x8e,0x00);//取消写保护
wr_1302(0x80,0x50);//初始化秒
wr_1302(0x82,0x59);//分
wr_1302(0x84,0x01);//小时
wr_1302(0x8e,0x80);//写保护

while(1)
	{
	get_1302(time1);
	aa=time1[2];//测试小时
	aa1=aa/16;//数据进制转换
	aa2=aa%16;
	P2=0xfe;
	P0=tab[aa2];//
	delay(1);
	P2=0xfd;
	P0=tab[aa1];//
	delay(1);
	
	bb=time1[1];//分钟
	bb1=bb/16;                         
	bb2=bb%16;
	P2=0xfb;
	P0=tab[bb2];//
	delay(1);
	P2=0xf7;
	P0=tab[bb1];//
	delay(1);
	dd=time1[0];//秒
	dd1=dd/16;                          
	dd2=dd%16;
	P2=0xbf;
	P0=tab[dd2];
	delay(1);
	P2=0x7f;
	P0=tab[dd1];
	delay(1);
	}
}

⌨️ 快捷键说明

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