?? sh408.c
字號:
#include <reg51.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit P1_0=P1^0; // 引腳連接關系
sbit P1_1=P1^1;
sbit P1_2=P1^2;
uchar readclk(uchar addr)
{
uchar i,k;
P1_1=0;
addr=1;
P1_2=1;
k=1;
for (i=0;i<8;i++) // 按時序讀RAM中的數據
{
if (addr&k)P1_0=1;
else P1_0=0;
P1_1=1;
k<<=1;
P1_1=0;
}
k=0;
P1_0=1;
for (i=0;i<8;i++)
{
k>>=1;
P1_1=0;
if(P1_0) k|=0x80;
P1_1=1;
}
P1_2=0;
return k;
}
void writeclk(uchar addr, uchar d)
{
uchar i,k;
P1_1=0; // clk
P1_2=1; // 片選
addr&=0xfe;
k=1;
for (i=0;i<8;i++)
{
if (addr&k) P1_0=1; // 按時序寫RAM中的數據
else P1_0=0;
P1_1=1;
k<<=1;
P1_1=0;
}
k=1;
for (i=0;i<8;i++)
{
if(d&k) P1_0=1;
else P1_0=0;
P1_1=1;
k<<=1;
P1_1=0;
}
P1_2=0;
}
void main(void)
{
unsigned char addr,d;
addr=0;
d=readclk(0xc0|addr); //讀內部RAM 0:
addr=1; //讀內部RAM 1:
d=readclk(0xc0|addr);
addr=0;
d=5; //寫內部RAM 0,寫入5:
writeclk(0xc1|addr,d);
addr=1;
d=123; //讀內部RAM 1,寫入123:
d=readclk(0xc0|addr);
addr=0;
d=3; //寫內部時鐘日歷數據0:秒,寫入03秒
writeclk(0x80|addr,d);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -