datasheet
超过460,000+ 应用技术资源下载
null

DS1302程序

  • 1星
  • 日期: 2015-06-16
  • 大小: 1.55KB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: DS1302

DS1302时钟程序,完美的程序,很好的哦

#include //位寻址寄存器定义 sbit ACC_0 = ACC^0; sbit ACC_7 = ACC^7; //管脚定义 sbit DS1302_CLK = P1^1; //实时时钟时钟线引脚 sbit DS1302_IO = P1^2; //实时时钟数据线引脚 sbit DS1302_RST = P1^3; //实时时钟复位线引脚 #if 1 void DS1302WriteByte(uchar dat) //实时时钟写入一字节(内部函数) { uchar i; ACC = dat; for(i=8; i>0; i--) { DS1302_IO = ACC_0; //相当于汇编中的 RRC DS1302_CLK = 1; DS1302_CLK = 0; ACC >>= 1; } } uchar DS1302ReadByte() //实时时钟读取一字节(内部函数) { uchar i,dat1=0,dat2=0; for(i=8; i>0; i--) { ACC >>= 1; //相当于汇编中的 RRC ACC_7 = DS1302_IO; DS1302_CLK = 1; DS1302_CLK = 0; } dat1 = ACC; dat2 = dat1>>4; //数据进制转换 dat1 = dat1%16; //十六进制转十进制 dat1 = dat1+dat2*10; return(dat1); } void Write1302(uchar cmd, uchar dat) //cmd: DS1302地址命令, dat: 要写的数据 { DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302WriteByte(cmd); // 地址,命令 DS1302WriteByte(dat); // 写1Byte数据 DS1302_RST = 0; DS1302_CLK = 1; } uchar Read1302(uchar cmd) //读取DS1302某地址的数据 { uchar dat=0; DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302WriteByte(cmd); //地址,命令 dat = DS1302ReadByte(); //读1Byte数据 DS1302_RST = 0; DS1302_CLK = 1; return(dat); } #endif
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子

$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })