|
Re: 求助!!!!关于89c2051和ds1302组和设计的电子时钟。。。
给你个1320的程序。。。
#include
#include
#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);
}
|
|