资源简介
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个文件信息
相关资源
- mingui编写时钟程序
- 基于msp430智能家居程序
- 用DS1302与LCD12864设计的可调电子钟及仿
- ADF4350单片机MSP430控制程序
- 基于MSP430制作MP3源程序
- 基于MSP430单片机的交流电压测量设计
- msp430的pwm程序
- LCD12864实现贪吃蛇游戏
- 51单片LCD1602时钟程序
- MSP430F149利用硬件SPI口读写串行Flash
- MSP430PID模块化程序
- STM32的RTC实时时钟程序,亲测能用
- MSP430 单片机读写SD卡程序带fat文件系
- 电子万年历毕业设计基于AT89C51单片机
- msp430 模块程序 包括DS18B20 PS2 串口 电
- MSP430单片机的实时多任务操作系统c源
- Nokia5110的程序在msp430G2553上可以
- pcf8583数字时钟程序清单.
- 基于DS1302的4位LED滚动日历
- msp430F149应用电路原理图
- 单片机多功能数字时钟报告1602LCD Ds
- DAC7811的驱动程序基于MSP430
- msp430FFT程序
- 基于msp430实现电子时钟程序
- AD9850的msp430串行程序
- LaunchPad(MSP430G2553)_官方例程
- 基于MSP430的温度采集系统设计
- MSP430g2553 读写Flash以及串口通讯
- MSP430舵机控制程序
- DS1302 VHDL
评论
共有 条评论