文档介绍:精品好资料 学习推荐
: .
# / 6
精品好资料 学习推荐
第十章DS1302实时时钟
本章主要讲述DS1302的使用方法。
LCD1
LM016L
data:ll-10-ll tine:00:00:00
O
U1
U2
?ESPACk-8 <EXT>
* 39
■鋁
* 27
■鋁
a3g
B34
* 33
* 32
■26
_-28
-3-
2UL
址
311
>XTAL1
XTAL2
RST
PSEN
ALE
EA
P27/A15
P1 3T2
)RKD
P12
.
P13
P15
-1
P16
P36AW
工
24
■ 22
■ 23
_2±
■11
7・
・12
6・
■10
VCC1
VCC2
X1
RSf
SCLK
IIU
K2
P5J3Q2
::「丄
・.・|—| XI .・.
1—CRYSTAL.
.・•・■] vTEXJm
图 : DS1302 显示
C程序:
〃使用uchar数,否则岀错
//请注意 int uint char uchar 的用法。
#include<>
#include<>
#define uint unsigned int
#define uchar unsigned char
#define port P0 sbit rst=P3A0;//dsl302
sbit sclk=P3Al;// 时钟
sbit io=P3A2;//数据口
sbit h=P3A6;//小时
sbit m=P3A7;//分钟
sbit e=P2A2;〃使能
sbit rw=P2Al;//读写
sbit rs=P2A0;//数据/命令
sbit busy=P0A7;〃检测忙
int hour=23zminute=51;
//-…发送一个字节(8位)…•
void send{uchar dt)
{
uchar i;
for(i=0;i<8;i++)
{
sclk=0;
io=dt&0x01;//取第一位 dt»=l;//左移一位 sclk=l;//上升沿有效
}
}
//……写地址、数据——
void write(uchar addr;uchar dat) {
rst=O;sclk=O;rst=l;
send(addr);// 发送地