大创笔记——STC8A8K移植DS1302时钟模块

本文记录了作者在大创项目中移植DS1302时钟模块到STC8A8K单片机的过程,遇到的写保护地址问题以及解决现象。在禁止写保护地址为0x8E和0x80时,写入初始时间的行为不同,导致代码写入的TIME[7]效果不一致。同时提醒使用STC8A8K开发并涉及EEPROM时,避免使用3.3V电源,以免影响写入/读取操作。
摘要由CSDN通过智能技术生成

        这篇是在鄙人为大创项目做时钟模块选型的一部分记录。此次为项目选择的模块型号有: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写入和读取时分秒
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值