资源简介
基于STC89C52的门禁模拟控制系统, 模块化编程, 注释详细.

代码片段和文件信息
#include“ds1302.h“
//---DS1302写入和读取时分秒的地址命令---//
//---秒分时日月周年 最低位读写位;-------//
uchar code READ_RTC_ADDR[7] = {0x81 0x83 0x85 0x87 0x89 0x8b 0x8d};
uchar code WRITE_RTC_ADDR[7] = {0x80 0x82 0x84 0x86 0x88 0x8a 0x8c};
//---DS1302时钟初始化2016年5月7日星期六12点00分00秒。---//
//---存储顺序是秒分时日月周年存储格式是用BCD码---//
uchar TIME[7] = {0 0x59 0x06 0x07 0x05 0x06 0x16};
/*******************************************************************************
* 函 数 名 : Ds1302Write
* 函数功能 : 向DS1302命令(地址+数据)
* 输 入 : addrdat
* 输 出 : 无
*******************************************************************************/
void Ds1302Write(uchar addr uchar dat)
{
uchar n;
RST = 0;
_nop_();
SCLK = 0;//先将SCLK置低电平。
_nop_();
RST = 1; //然后将RST(CE)置高电平。
_nop_();
for (n=0; n<8; n++)//开始传送八位地址命令
{
DSIO = addr & 0x01;//数据从低位开始传送
addr >>= 1;
SCLK = 1;//数据在上升沿时,DS1302读取数据
_nop_();
SCLK = 0;
_nop_();
}
for (n=0; n<8; n++)//写入8位数据
{
DSIO = dat & 0x01;
dat >>= 1;
SCLK = 1;//数据在上升沿时,DS1302读取数据
_nop_();
SCLK = 0;
_nop_();
}
RST = 0;//传送数据结束
_nop_();
}
/*******************************************************************************
* 函 数 名 : Ds1302Read
* 函数功能 : 读取一个地址的数据
* 输 入 : addr
* 输 出 : dat
*******************************************************************************/
uchar Ds1302Read(uchar addr)
{
uchar ndatdat1;
RST = 0;
_nop_();
SCLK = 0;//先将SCLK置低电平。
_nop_();
RST = 1;//然后将RST(CE)置高电平。
_nop_();
for(n=0; n<8; n++)//开始传送八位地址命令
{
DSIO = addr & 0x01;//数据从低位开始传送
addr >>= 1;
SCLK = 1;//数据在上升沿时,DS1302读取数据
_nop_();
SCLK = 0;//DS1302下降沿时,放置数据
_nop_();
}
_nop_();
for(n=0; n<8; n++)//读取8位数据
{
dat1 = DSIO;//从最低位开始接收
dat = (dat>>1) | (dat1<<7);
SCLK = 1;
_nop_();
SCLK = 0;//DS1302下降沿时,放置数据
_nop_();
}
RST = 0;
_nop_(); //以下为DS1302复位的稳定时间必须的。
SCLK = 1;
_nop_();
DSIO = 0;
_nop_();
DSIO = 1;
_nop_();
return dat;
}
/*******************************************************************************
* 函 数 名 : Ds1302Init
* 函数功能 : 初始化DS1302.
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Ds1302Init()
{
uchar n;
Ds1302Write(0x8E0X00); //禁止写保护,就是关闭写保护功能
for (n=0; n<7; n++)//写入7个字节的时钟信号:分秒时日月周年
{
Ds1302Write(WRITE_RTC_ADDR[n]TIME[n]);
}
Ds1302Write(0x8E0x80); //打开写保护功能
}
/*******************************************************************************
* 函 数 名 : Ds1302ReadTime
* 函数功能 : 读取时钟信息
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Ds1302ReadTime()
{
uchar n;
for (n=0; n<7; n++)//读取7个字节的时钟信号:分秒时日月周年
{
TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-27 15:49 003\
文件 3314 2018-09-17 14:18 003\ds1302.c
文件 534 2018-09-25 09:50 003\ds1302.h
文件 7014 2018-09-26 09:53 003\ds1302.LST
文件 5753 2018-09-26 09:53 003\ds1302.OBJ
文件 3842 2018-09-18 11:03 003\eeprom.c
文件 1268 2018-09-19 14:53 003\eeprom.h
文件 5903 2018-09-26 09:53 003\eeprom.LST
文件 4261 2018-09-26 09:53 003\eeprom.OBJ
文件 8740 2018-09-26 09:57 003\main.c
文件 20587 2018-09-26 09:53 003\main.LST
文件 24159 2018-09-26 09:53 003\main.OBJ
文件 28950 2018-09-26 09:53 003\pro
文件 8001 2018-09-26 09:53 003\pro.hex
文件 54 2018-09-26 09:53 003\pro.lnp
文件 34629 2018-09-26 09:53 003\pro.M51
文件 141 2018-09-27 08:30 003\pro.plg
文件 87056 2018-09-27 15:49 003\pro.uvgui.Administrator
文件 6142 2018-09-27 11:16 003\pro.uvopt
文件 14248 2018-09-27 11:16 003\pro.uvproj
文件 57685 2018-09-26 09:57 003\pro_uvopt.bak
文件 13467 2017-06-21 16:26 003\pro_uvproj.bak
文件 2460 2018-09-18 10:55 003\sonic.c
- 上一篇:Windows 10 镜像
- 下一篇:并行粒子群优化算法的设计与实现
相关资源
- EESkill NRF24L01 无线模块用户手册
- 基于STC89C52的瓦斯检测及红外控制系统
- RC522读写MI卡程序,STC89C52RC调试通过,
- STC89C52+LCD12864+18B20+1302万年历
- 单片机89c52与MLX90614红外的测温程序
- [Altium_Designer]_STC89C52单片机最小系统原
- 51单片机控制步进电机软硬件实现
- 基于STC89C52的GSM智能家居报警系统
- 基于STC89C52单片机的数字时钟
- 基于STC89C52单片机空气PM2.5系统设计资
- STC89C52中文资料
- 基于STC89C52单片机智能温控风扇设计资
- 内含RC522与51单片机硬件设计与程序,
- 基于STC89C52和DS18B20的温控系统
- 基于STC89C52的温湿度检测
- 基于STC89C52单片机温度系统控制资料
- 基于stc89c52红外语音通信装置
- stc89c52原理图及PCB布局图
- RFID-RC522+STC89C52+串口通信+新手教程+中
- 多功能小车 51单片机控制 超声测距
- 基于STC89C52 16*16点阵贪吃蛇
- STC89C52RC+DS1302电子时钟设计
- STC89C52 开发板PCB电路图与配套程
- 辉光管时钟全套开源资料 PCB 源码 5
- stc89c52教程
- 智能窗帘控制系统的设计
- STC89C52编程并用Proteus仿真验证
- 基于DS18B20的温度检测原理图和PCB图
- STC89C52电风扇智能调速器的设计
- 单片机stc89c52rc编程普中开发板
评论
共有 条评论