ds1302.c

来自「lyd-sy-5100单片机开发板的示例程序 分为C语言版本和ASM汇编版本。其」· C语言 代码 · 共 93 行

C
93
字号
#include<reg51.h>
#include<stdio.h>

#define uchar unsigned char
#define uint unsigned int

sbit P1_0=P1^0;             //引脚连接关系,根据具体情况而定
sbit P1_1=P1^1;
sbit P1_2=P1^2;

uchar readclk(uchar addr)
{
  uchar i,k;
  P1_1=0;
  addr=1;
  P1_2=1;
  k=1;
  for(i=0;i<8;i++)
 {
    if (addr&k)P1_1=1;
    else P1_1=0;
    P1_1=1;
    k<<=1;
    P1_1=0;
 
}
     k=0;
     P1_1=1;
     for(i=0;i<8;i++)
    { 
      k>>=1;
      P1_1=0;
      if(P1_1)k=0x80;
      P1_1=1;
}
 P1_2=0;
 return k;
}


void writeclk(uchar addr,uchar d)
{
  uchar i,k;
  P1_1=0;
  P1_2=1;
  addr&=0xfe;
  k=1;
 for(i-0;i<8;i++)
{
  if(addr&k)P1_1=1;
   else P1_1=0;
   P1_1=1;
   k<<=1;
   P1_1=0;
}
   k=1;
   for(i=0;i<8;i++)
  {
    if(d&k)P1_1=1;
    else P1_1=0;
    P1_1=0;
    k<<=1;
    P1_1=0;

   }
P1_2=0;

}



void main(void)
{
  unsigned char addr,d;
  addr=0;
  d=readclk(0xc0|addr);
  addr=1;
  d=readclk(0xc0|addr);
  addr=0;
  d=5;
  writeclk(0xc1|addr,d);
  addr=1;
  d=123;
  d=readclk(0xc1|addr,d);
  addr=0;
  d=3;
  writeclk(0x80|addr,d);




}

⌨️ 快捷键说明

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