#include<reg52.h>
#include"1602.h"
#define uchar unsigned char
sbit RST=P3^4;
sbit SCLK=P3^2;
sbit IO=P3^3;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
uchar year,month,day,hour,min,sec;
void delay(unsigned int n)
{ unsigned int x,y;
for(x=n;x>0;x--)
for(y=110;y>0;y--)
;
}
void inputbyte(uchar uc)
{
uchar i;
ACC=uc;
for(i=8;i>0;i++)
{
IO=ACC0;
TCLK=0;
TCLK=1;
ACC=ACC>>1;
}
}
uchar outputbyte(void)
{
uchar i;
for(i=8;i>0;i++)
{
ACC=ACC>>1;
ACC7=IO;
TCLK=1;
TCLK=0;
}
return(ACC);
}
void w1302(uchar add,uchar uc)
{
RST=0;
TCLK=0;
RST=1;
inputbyte(add);
inputbyte(uc);
TCLK=1;
RST=0;
}
uchar r1302(uchar add)
{
uchar uc;
RST=0;
TCLK=0;
RST=1;
inputbyte(add);
uc=outputbyte();
TCLK=1;
RST=0;
return(uc);
}
void burstw1302(uchar *psec)
{
uchar i;
w1302(0x8e,0x00);
RST=0;
TCLK=0;
RST=1;
inputbyte(0xbe);
for(i=8;i>0;i--)
{
inputbyte(*psec);
psec++;
}
TCLK=1;
RST=0;
}
void burstr1302(uchar *psec)
{
uchar i;
RST=0;
SCLK=0;
RST=1;
inputbyte(0xbf);
for(i=8;i>0;i--)
{
*psec=outputbyte();
psec++;
}
TCLK=1;
RST=0;
}
void init1302(void)
{
w1302(0x8e,0x00);
w1302(0x90,0xa5);
w1302(0x80,0x32);
w1302(0x82,0x13);
w1302(0x84,0x18);
w1302(0x86,0x01);
w1302(0x88,0x01);
w1302(0x8a,0x01);
w1302(0x8c,0x06);
w1302(0x82,0x15);
w1302(0x8e,0x80);
}
void main()
{
uchar i;
//init1302();
RW=0;
init();
delay(0x1000);
i=r1302(0x81);
write_data(i/16+0x30);
write_data(i%16+0x30);
while(1);
}
šgÓ¹âÅR (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |