这篇是在鄙人为大创项目做时钟模块选型的一部分记录。此次为项目选择的模块型号有:DS1302和PCF8563 。测试使用的平台为STC8A8K。
关于DS1302的简介、代码和各种库函数已经足够详细了,但是在自己移植开发的时候发现了一个问题是比人所查阅的资料中没有提及的。
话不多说先上代码:
此代码是在DS1302在51环境下的代码,针对所使用的STC8A8K进行移植的结果。其数据分离部分有明显改动。
//CODE_ds1302.h
#ifndef __CODE_DS1302_H_
#define __CODE_DS1302_H_
//---包含头文件---//
#include "intrins.h"
#include "headfile.h"
//---重定义关键词---//
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
//---定义ds1302使用的IO口---//
#define DSIO P35
#define RST P34
#define SCLK P36
//---定义全局函数---//
void Ds1302Write(uchar addr, uchar dat);
uchar Ds1302Read(uchar addr);
void Ds1302Init();
void Ds1302ReadTime();
//---加入全局变量--//
extern uchar TIME[7]; //加入全局变量
#endif
//CODE_ds1302.c
#include"CODE_ds1302.h"
//---DS1302写入和读取时分秒