资源简介
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个文件信息
相关资源
- IAR for MSP430 v7.10.1 注册机
- 基于MSP430G2553的蓝牙控制小车
- 利用DS1302和msp430进行闹钟和万年历的
- msp430F149操作红外接收模块源码
- [免费]msp430f149控制PS2键盘并用1602显示
- MSP430f149读sd FAT txt
- 用8位spi实现16位spi
- 基于MSP430单片机的实时多任务操作系
- STM32F407实时时钟_DS1302实时时钟模块和
- 基于STM32F103的实时时钟程序,采用D
- 51单片机_DS1302时钟芯片_共阴数码管
- MSP430系列单片机例程(msp430f235)
- MSP430控制AD9850产生频率可调的方波及
- DS1302时钟带可调时间显示
- DS1302+DS13B20+12864,万年历。农历
- msp430f449程序
- 基于MSP430的数控直流电压源
- MSP430F5438A Timer_B 操作实验
- MSP430F5438 UCS 时钟操作实验
- MSP430F5438A Timer_A 操作实验
- MSP430F5438 看门狗实验
- IAR EW430连接仿真器在线仿真
- 初识畅学系列MSP430F149单片机开发板
- 畅学多功能实验箱 MSP430F5438 RTC 操作实
- MSP430F5438A RAM操作实验
- msp430f5438a技术资料
- AVR多功能实验箱DS1302时钟实验源码资
- 畅学STM32多功能实验箱DS1302时钟芯片源
- MSP430 JTAGUSB的和并口的与目标板连接的
- MSP430教程:MSP430单片机ADC12模块
评论
共有 条评论