**stc15f2k60s2芯片编程(时钟DS1302)**

main.c函数

#include <STC15F2K60S2.H>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void shumaguan();
uchar code abile[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};unsigned char saomiao[]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
uchar yi,er,san,si,wu ,liu,qi,ba;
extern uchar shijian[7];
void Delay100us();void readtime();
void dsinit();
void main()
{P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF;P2=P2&0X1F|0XA0;P0=0X00;P2&=0X1F;dsinit();while(1){readtime();yi=shijian[2]/16;er=shijian[2]%16;san=10;si=shijian[1]/16;wu=shijian[1]%16;liu=10;qi=shijian[0]/16;ba=shijian[0]%16;shumaguan();Delay100us();}
}void shumaguan()
{unsigned char i;P2=P2&0x1f|0xe0;P0=0xff;P2=0x1f;P2=P2&0x1f|0xc0;P0=1<<i;P2=0x1f;P2=P2&0x1f|0xe0;P0=saomiao[i];P2=0x1f;i++;if(i==8) i=0;saomiao[0]=abile[yi];saomiao[1]=abile[er];saomiao[2]=abile[san];saomiao[3]=abile[si];saomiao[4]=abile[wu];saomiao[5]=abile[liu];saomiao[6]=abile[qi];saomiao[7]=abile[ba];
}void Delay100us()      //@11.0592MHz
{unsigned char i, j;_nop_();_nop_();i = 2;j = 15;do{while (--j);} while (--i);
}

ds1302.c函数

#include <stc15f2k60s2.h>
#include "ds1302.h"
#include <intrins.h>sbit SCK=P1^7;
sbit SDA=P2^3;
sbit RST = P1^3;   // DS1302¸´Î»                                               void Write_Ds1302_Byte(unsigned  char temp)
{unsigned char i;for (i=0;i<8;i++)        { SCK=0;SDA=temp&0x01;temp>>=1; SCK=1;}
}   void Write_Ds1302( unsigned char address,unsigned char dat )
{RST=0;_nop_();SCK=0;_nop_();RST=1;  _nop_();  Write_Ds1302_Byte(address);   Write_Ds1302_Byte(dat);     RST=0;
}unsigned char Read_Ds1302 ( unsigned char address )
{unsigned char i,temp=0x00;RST=0;_nop_();SCK=0;_nop_();RST=1;_nop_();Write_Ds1302_Byte(address);for (i=0;i<8;i++)     {       SCK=0;temp>>=1; if(SDA)temp|=0x80; SCK=1;} RST=0;_nop_();RST=0;SCK=0;_nop_();SCK=1;_nop_();SDA=0;_nop_();SDA=1;_nop_();return (temp);
}void readtime(){unsigned char i;unsigned char address=0x81;Write_Ds1302(0x8e,0x00);for(i=0;i<7;i++){shijian[i]=Read_Ds1302(address);address=address+2;}Write_Ds1302(0x8e,0x80);
}
void dsinit()
{uchar i;uchar address=0x80;Write_Ds1302(0x8e,0x00);   for(i=0;i<7;i++){Write_Ds1302(address,ds[i]);address=address+2;}Write_Ds1302(0x8e,0x80);}

ds1302.h函数

#ifndef __DS1302_H
#define __DS1302_H#define uchar unsigned char
#define uint unsigned int   void Write_Ds1302_Byte(unsigned  char temp);
void Write_Ds1302( unsigned char address,unsigned char dat );
unsigned char Read_Ds1302 ( unsigned char address );
uchar shijian[7];
uchar code ds[]={0x50,0x59,0x23,0x10,0x10,0x01,0x16};#endif

基于stc15f2k60s2芯片单片机编程(时钟DS1302)相关推荐

  1. 基于stc15f2k60s2芯片单片机编程(数码管)

    **蓝桥杯stc15f2k60s2芯片编程(数码管)** ** ** (1)数码管显示01234567 ** ** #include <stc15f2k60s2.h>unsigned ch ...

  2. 基于stc15f2k60s2芯片单片机编程(串口+超声波)

    通过单片机发送当前超声波测量的距离给串口1显示 (感谢广东某大神的帮助) #include <stc15f2k60s2.h> #include <intrins.h>void ...

  3. 基于stc15f2k60s2芯片单片机编程(闹铃)

    用定时器中断写时钟加调节 1)关闭蜂鸣器.继电器等无关外设: 2)设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒. A.时间显示格式 2 3 - 5 9 - 5 ...

  4. 基于stc15f2k60s2芯片单片机编程(秒表)

    用定时器做一个秒表,精确到0.1,S7按下,开始计时,S6按下清零 #include <stc15f2k60s2.h> #include <intrins.h> void Ti ...

  5. 基于stc15f2k60s2芯片单片机编程(EEPROM24C02实验)

    主函数 #include <stc15f2k60s2.h> #include <intrins.h> #include <12.h> void shumaguan( ...

  6. 基于AVR系列单片机,DS1302时钟芯片的具体用法

    一.引脚连接 二.DS1302初始化 void ds1302_init(void) {Pin1设置为低电平: /*RST脚置低*/Pin2设置为低电平 /*SCK脚置低*/Pin1设置为输出 /*RS ...

  7. 基于微型计算机系统的实时时钟设计,基于单片机的DS12C887时钟芯片应用研究

    摘 要: 新型时钟芯片DS12C887具有计时精确.断电情况下运行十年以上不丢失资料等优点,在单片机计时系统中有着广泛应用.本文分析了DS12C887的功能特性,介绍了DS12C887与AT89C51 ...

  8. 基于Proteus学习单片机系列(七)——实时时钟DS1302

    获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...

  9. 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】

    C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...

最新文章

  1. 在PHP中模拟asp的response类
  2. 分布式一致Hash算法
  3. Python自动化开发学习15-css补充内容
  4. 一个成功敏捷团队的失败历程
  5. SQL Server XML性能优化(Best Practices)
  6. Python爬虫-代理ip池建立
  7. java基础学习(一)hashcode
  8. 【Spark Summit East 2017】可扩展性机器学习的特征哈希
  9. ext2.0 主体皮肤 (xtheme-black)
  10. python中的shallow copy 和 deep copy
  11. ios 去掉cell最后一条分割线
  12. GetHashCode 方法 并不能保证值唯一
  13. 刘意-Java基础视频(基础部分)笔记(一)
  14. aes解密流程图_aes流程图(apqp五个阶段流程图)
  15. 大量大数据如何进行查询
  16. 一个人的行动力,取决于他的底层信念。
  17. python将时间戳转换成北京时间、标准格式
  18. 【工具分享】任意坐标系CAD范围线多点配准及准确导入导入LSV
  19. java程序设计 秒表计时器_【Java】Java计时器(秒表)
  20. 网友8年观察楼市得出11大房价经验 高手在民间

热门文章

  1. C++抽奖(随机数+人名的不停闪烁)
  2. 新化学物质持久性、生物累积性和毒性的判定及登记要求..
  3. delphi2010泛型练习
  4. stm32F407-------RTC实时时钟
  5. 《趣谈网络协议》学习笔记DAY10
  6. pcl编译时 Could NOT find ClangFormat
  7. 易宝支付 下单失败! 失败原因: 业务接口维护中,请您稍候再试!
  8. 【Presto】URLDecoder: Illegal hex characters in escape (%) pattern 错误处理
  9. 【无标题】MATLAB引用REFPROP混合物的物性
  10. 新中大SE(ngpower)反月结、反记账