📄 q.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 + -