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

📄 q.c

📁 这是一个和proteus结合的一用ds1032实现的例子
💻 C
字号:
#pragma small
#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char 

sbit ds1032_clk=P0^0;
sbit ds1032_dat=P0^1;
sbit ds1032_rst=P0^2;

sbit ACC_0=ACC^0;
sbit ACC_1=ACC^1;
sbit ACC_2=ACC^2;
sbit ACC_3=ACC^3;
sbit ACC_4=ACC^4;
sbit ACC_5=ACC^5;
sbit ACC_6=ACC^6;
sbit ACC_7=ACC^7;

  void clock_out(void)    //写ds1032操作
  {
   ds1032_dat=ACC_0;
   ds1032_clk=1;ds1032_clk=0;
   ds1032_dat=ACC_1;
   ds1032_clk=1;ds1032_clk=0;
   ds1032_dat=ACC_2;
   ds1032_clk=1;ds1032_clk=0;
   ds1032_dat=ACC_3;
   ds1032_clk=1;ds1032_clk=0;
   ds1032_dat=ACC_4;
   ds1032_clk=1;ds1032_clk=0;
   ds1032_dat=ACC_5;
   ds1032_clk=1;ds1032_clk=0;
   ds1032_dat=ACC_6;
   ds1032_clk=1;ds1032_clk=0;
   ds1032_dat=ACC_7;
   ds1032_clk=1;ds1032_clk=0;
  }


 uchar clock_in(void)
  { uchar i;
    for(i=8; i>0; i--)
    {
        ACC= ACC >>1;         /*相当于汇编中的 RRC */
        ACC_7=ds1032_dat;
        ds1032_clk=1;
        ds1032_clk=0;
    } 
    return(ACC); 
  }

  

 uchar read_clock(uchar ord)
       {uchar dd=0;
	    ds1032_clk=0;
		ds1032_rst=0;
		ds1032_rst=1;
		ACC=ord;
		clock_out();
		dd=clock_in();
		ds1032_rst=0;
		ds1032_clk=1;
		return(dd);
		}

  void write_clock(uchar ord,uchar dd)
       {ds1032_clk=0;
		ds1032_rst=0;
		ds1032_rst=1;
		ACC=ord;
		clock_out();
		ACC=dd;
		clock_out();
		ds1032_rst=0;
		ds1032_clk=1;
		}

void main()
 {uchar address,d;
  address=0; d=3;
  write_clock(0x80|address,d);
  address=2;d=5;
  write_clock(0x80|address,d);
  address=1; 
  d=read_clock(0x80|address);
  address=3;
  d=read_clock(0x80|address);
 }


⌨️ 快捷键说明

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