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

📄 ds1302 c51ò»

📁 里面包括很多的驱动程序的
💻
📖 第 1 页 / 共 3 页
字号:
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ACC = number;
    
    ds1302_dat = ACC_0;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_rst = 0;
    ds1302_clk = 1;
}

unsigned char WriteRTC_Byte(unsigned char address,unsigned char number)    // 向
RTC中写入一个字节
{
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = address;
    ACC <<= 1;
    ACC |= 0x80;
    
    ds1302_dat = ACC_0;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ACC = number;
    
    ds1302_dat = ACC_0;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_rst = 0;
    ds1302_clk = 1;
}

void ReadRam(unsigned char data * buffer,unsigned char size)    // 从Ram中读出多
个字节
{
    register unsigned char a,b;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xff;
    
    ds1302_dat = ACC_0;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = 1;
    for(a=0;a<size;a++)
    {
        ACC_0 = ds1302_dat;    

        ds1302_clk = 1;
        ds1302_clk = 0;    
        ACC_1 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_2 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_3 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_4 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_5 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_6 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_7 = ds1302_dat;
        b = ACC;
        *(buffer+a)=b;
        ds1302_clk = 1;
        ds1302_clk = 0;
    }
    
    ds1302_rst = 0;
    ds1302_clk = 1;
}

void ReadRTC(unsigned char data * buffer,unsigned char size)    // 从RTC中读出多
个字节
{
    register unsigned char a,b;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xbf;
    
    ds1302_dat = ACC_0;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = 1;
    for(a=0;a<size;a++)
    {
        ACC_0 = ds1302_dat;    

        ds1302_clk = 1;
        ds1302_clk = 0;    
        ACC_1 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_2 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_3 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_4 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_5 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_6 = ds1302_dat;
    
        ds1302_clk = 1;
        ds1302_clk = 0;
        ACC_7 = ds1302_dat;
        b = ACC;
        *(buffer+a)=b;
        ds1302_clk = 1;
        ds1302_clk = 0;
    }
    
    ds1302_rst = 0;
    ds1302_clk = 1;
}

void WriteRam(unsigned char data * buffer,unsigned char size)    // 向Ram中写入多
个字节
{
    register unsigned char a;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xfe;
    
    ds1302_dat = ACC_0;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    for(a=0;a<size;a++)
    {
        ACC = *(buffer+a);
    
        ds1302_dat = ACC_0;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_1;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_2;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_3;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_4;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_5;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_6;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_7;
        ds1302_clk = 1;
        ds1302_clk = 0;
    }    
    ds1302_rst = 0;
    ds1302_clk = 1;
}

void WriteRTC(unsigned char data * buffer,unsigned char size)    // 向RTC中写入多
个字节
{
// 注意:连续写RTC只能是8个字节一起写
    register unsigned char a;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xbe;
    
    ds1302_dat = ACC_0;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_1;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_2;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_3;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_4;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_5;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_6;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    ds1302_dat = ACC_7;
    ds1302_clk = 1;
    ds1302_clk = 0;
    
    for(a=0;a<size;a++)
    {
        ACC = *(buffer+a);
    

⌨️ 快捷键说明

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