本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit CS=P3^4;
sbit AS=P3^3;
sbit RW=P3^1;
sbit DS=P3^0;
void delay(uchar z);
void DS12R885_write(uchar add,uchar record);
uchar DS12885_read(uchar add);
void DS12R885_init();
void main()
{
DS12R885_init();
P1=0xff;
while(1)
{
//P1=DS12885_read(0x02);
}
}
/*******************************
延时函数
*******************************/
void delay(uchar z)
{
uchar i,j;
for(i=z;i>0;i--)
for(j=100;j>0;j--);
}
/*******************************
DS12R885写时序函数
先写地址,后写数据
*******************************/
void DS12R885_write(uchar add,uchar record)
{
CS=0; //AS上升沿清除地址
AS=1;
DS=1;
RW=1;
P0=add;
AS=0;
delay(1); //AS下降沿锁存地址
RW=0;
P0=record;
RW=1; //RW上升沿送进数据
AS=1;
CS=1;
}
/*******************************
DS12R885读时序函数
先写地址,后读数据
*******************************/
uchar DS12885_read(uchar add)
{
uchar Date;
CS=0;
AS=1;
DS=1;
RW=1;
P0=add;
AS=0;
delay(1);
DS=0;
Date=P0;
DS=1;
AS=1;
CS=1;
return(Date);
}
/*****************************
DS12R885初始化
*****************************/
void DS12R885_init()
{
DS12R885_write(0x0B,0x82);
DS12R885_write(0x0A,0x20);
DS12R885_write(0x00,0x00);
DS12R885_write(0x02,0x00);
DS12R885_write(0x04,0x00);
DS12885_read(0x0C);
DS12885_read(0x0D);
DS12R885_write(0x0B,0x02);
} |