资源简介

MSP430+DS1302程序,IAR for Msp430开发环境。两个按键,4位时钟专用数码管显示。MSP430G253芯片。

资源截图

代码片段和文件信息


#include “includes.h“

//初始状态启动RTC
const unsigned char init_code[]={0x00x00x00x40x20x20x14};

/*******************************************
函数名称: DS1302_writeB
功    能: 向DS1302写入一个字节数据(没有RST操作)
参    数: byte--要写入的数据
返回值  : 无
********************************************/
void DS1302_writeB(unsigned char byte)
{
unsigned char i;
for(i=0;i<8;i++)     
{   
RTC_CLK_0;
if(byte&0x01)  
{
RTC_DATA_1;
}
else   
{
RTC_DATA_0;   
}  
RTC_CLK_1; //时钟上升沿(DS1302采样数据)   
byte>>=1;  //数据右移1位,为送出新数据位做准备
}
}
/*******************************************
函数名称: DS1302_readB
功    能: 从DS1302读出一个字节数据(没有RST操作)
参    数: 无
返回值  : byte--读出的数据
********************************************/
unsigned char DS1302_readB(void)
{
unsigned char ibyte=0;
for(i=0;i<8;i++)  //8位数据计数
{
byte>>=1;
RTC_CLK_1;  //时钟上升沿
RTC_CLK_0;  //时钟下降沿,DS1302输出数据位 
if(RTC_DATA_H)  //当前位是否是高电平
{
byte |= 0x80;
}
else
{
byte &= 0x7F;  
}
}
return byte;  //返回读出的数据 
 
}
/*******************************************
函数名称: DS1302_writeD
功    能: 向DS1302的某个地址写入一个字节数据
参    数: addr--地址值(寄存器或RAM)
     data--要写入的地址
返回值  : 无
********************************************/
void DS1302_writeD(unsigned char addrunsigned char dat)
{
RTC_RST_0;  //拉低片选端
RTC_CLK_0;  //拉低时钟端
RTC_RST_1;  //拉高片选端
DS1302_writeB(addr);  //写入操作命令(地址)
RTC_CLK_0;  //拉低时钟端
DS1302_writeB(dat);  //写入数据
RTC_CLK_0;;  //拉低时钟端
RTC_RST_0;  //拉低片选端
}
/*******************************************
函数名称: DS1302_readD
功    能: 从DS1302的某个地址读出一个字节数据
参    数: addr--地址值(寄存器或RAM)
返回值  : data--读出的数据
********************************************/
/*
unsigned char DS1302_readD(unsigned char addr)
{
xdata unsigned char dat;
RTC_RST_0;  //拉低片选端
RTC_CLK_0;   //拉低时钟端
// delay_us(5);
RTC_RST_1;  //拉高片选端
// delay_us(5);   //调整片选脉冲
DS1302_writeB(addr);  //写入操作命令(地址)
// delay_us(5);
dat=DS1302_readB();  //读出数据
// delay_us(5);
RTC_CLK_0;   //拉低时钟端
RTC_RST_0;    //拉低片选端
return dat;  //返回读出的数据
}
*/
/*******************************************
函数名称: DS1302_setT
功    能: 设置DS1302的时间
参    数: ptTimeD--设置时间数组指针
返回值  : 无
*******************************************/
void DS1302_setT(unsigned char ptTimeD[])
{
    unsigned char i;
    unsigned char addr = 0x80;      //写入地址从秒寄存器开始
    DS1302_writeD(C_WP|WRUPROTECT); //控制命令WP位为0允许写操作
    for(i=0;i<7;i++)
    {
        DS1302_writeD(addr|WRptTimeD[i]);   // 秒 分 时 日 月 星期 年         
        addr+=2;
    }
    DS1302_writeD(C_WP|WRPROTECT);  //控制命令WP位为1不允许写操作
}
/*******************************************
函数名称: DS1302_getT
功    能: 读取DS1302的当前时间
参    数: time[]--读取的时间数组
返回值  : 无
********************************************/
void DS1302_getT(unsigned char time[])
{
    unsigned char i;
////////下面的是单次读写//////////////////////////
   /* unsigned char addr = 0x80;         //读取地址从秒寄存器开始 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-05-03 15:51  LED_Clock_soft\
     文件       19032  2011-09-30 11:58  LED_Clock_soft\Backup of my_demo.ewd
     文件       47458  2011-09-30 11:57  LED_Clock_soft\Backup of my_demo.ewp
     目录           0  2013-08-03 23:27  LED_Clock_soft\Debug\
     目录           0  2014-05-03 15:51  LED_Clock_soft\Debug\Exe\
     文件       27935  2014-05-03 15:51  LED_Clock_soft\Debug\Exe\LED_Clock.d43
     文件       13653  2013-07-25 14:46  LED_Clock_soft\Debug\Exe\my_demo.d43
     目录           0  2013-08-03 14:02  LED_Clock_soft\Debug\List\
     目录           0  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\
     文件      324059  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\ds1302.pbi
     文件        9958  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\ds1302.pbi.cout
     文件       12651  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\ds1302.r43
     文件         846  2011-11-14 09:28  LED_Clock_soft\Debug\Obj\EW2A.r43
     文件      521120  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\LED_Clock.pbd
     文件      521120  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\LED_Clock.pbd.browse
     文件      475086  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\main.pbi
     文件        9956  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\main.pbi.cout
     文件       60601  2014-05-03 15:51  LED_Clock_soft\Debug\Obj\main.r43
     文件      275247  2013-07-25 14:55  LED_Clock_soft\Debug\Obj\my_demo.pbd
     文件      275247  2013-07-25 14:55  LED_Clock_soft\Debug\Obj\my_demo.pbd.browse
     文件        2864  2014-05-03 16:08  LED_Clock_soft\LED_Clock.dep
     文件       20422  2013-07-25 17:14  LED_Clock_soft\LED_Clock.ewd
     文件       52380  2014-05-03 15:51  LED_Clock_soft\LED_Clock.ewp
     文件         163  2013-10-03 10:25  LED_Clock_soft\LED_Clock.eww
     文件          25  2014-05-03 16:08  LED_Clock_soft\LED_ClockCustomSfr.sfr
     文件        2180  2011-10-08 11:58  LED_Clock_soft\main.c.bak
     文件        2020  2013-07-25 14:54  LED_Clock_soft\my_demo.dep
     文件       20422  2013-07-25 14:46  LED_Clock_soft\my_demo.ewd
     文件          25  2013-07-25 14:55  LED_Clock_soft\my_demoCustomSfr.sfr
     文件           0  2014-05-03 16:08  LED_Clock_soft\path.txt
     目录           0  2013-08-03 23:27  LED_Clock_soft\settings\
............此处省略31个文件信息

评论

共有 条评论