找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2552|回复: 0
打印 上一主题 下一主题
收起左侧

DS1302时钟+数码管proteus仿真

[复制链接]
跳转到指定楼层
楼主
#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char
uchar time1[8];
code seven_tab[15]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0--9,-,
sbit rtc_clk=P3^6;  //ds1302的串行时钟,控制数据的输入与输出
sbit rtc_data=P3^4;  //双向数据线
sbit rtc_rst=P3^5;  //复位引脚
sbit p2_2=P2^2;
sbit p2_3=P2^3;
sbit p2_4=P2^4;
       /*ds1302读,写都要先执行读地址
         ds1302的双向数线是以为一位执行
    */
void write1302(uchar address,uchar date)    //向ds1302写
{
   uchar n;
   rtc_rst=0;  //复位引脚低电平
   _nop_();      //延迟一个周期
   rtc_clk=0;  //时钟为低电平
   _nop_();
   rtc_rst=1;  //复位引脚置高,开始执行
   _nop_();
  for(n=0;n<8;n++)           //开始传送八位地址命令
  {
     rtc_data=address&0x01;   //  数据从低位开始传送
  address>>=1;       //地址数据向右移一位
  rtc_clk=1;       //串行时钟拉高,执行写入数据
  _nop_();
  rtc_clk=0;     //串行时钟拉高,为下一个数据写入做准备
  _nop_();
  }
  for(n=0;n<8;n++)          //开始传送八位地址数据
  {
     rtc_data=date&0x01;      //数据从低位开始传送
  date>>=1;           //地址数据向右移一位
  rtc_clk=1;   
  _nop_();
  rtc_clk=0;
  _nop_();
  }
  rtc_rst=0;      //结束复位拉低
  _nop_();
}
uchar read1302(uchar address)  //向ds1302读
{
   uchar n,dat,dat1;
   rtc_rst=0;
   _nop_();
   rtc_clk=0;
   _nop_();
   rtc_rst=1;
   _nop_();
   for(n=0;n<8;n++)              //开始传送八位地址命令
   {
        rtc_data=address&0x01;   //数据从低位开始传送
  address>>=1;       //地址数据向右移一位
  rtc_clk=1;   
  _nop_();
  rtc_clk=0;
  _nop_();
   }
    _nop_();
   for(n=0;n<8;n++)             //读取8位数据
   {
     dat1=rtc_data;
  dat=(dat>>1)|(dat1<<7);
  rtc_clk=1;
  _nop_();
  rtc_clk=0;
  _nop_();
   }
   rtc_rst=0;
    _nop_();
rtc_clk=1;
_nop_();
rtc_data=0;
_nop_();
rtc_data=1;
_nop_();   
return dat;
}

ea5af1af5d3df22ab5e376c3b282c63.png (74.76 KB, 下载次数: 64)

ea5af1af5d3df22ab5e376c3b282c63.png

ds1302时钟.rar

26.15 KB, 下载次数: 43, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表