Msp430-EXPF5529系列四(RTC时钟)

  • zhangsf_chongza
  • LV5工程师
  • |      2016-02-23 20:53:50
  • 浏览量 1246
  • 回复:0

F5529单片机实时时钟模块提供了具有日历模式、灵活可编程闹钟和校准的时钟计数器功能,其具有以下特征:

◆可配置成实时时钟模式或一般目的的计数器;

◆在日历模式下提供了秒、分钟、小时、星期、日期、月份和年份;

◆具有中断功能;

◆实时时钟模式里可选择BCD码或二进制格式;

◆实时时钟模式里具有可编程闹钟;

◆实时时钟模式里具有时间偏差的逻辑校正。

初始化时钟

RTCMODE:选择为日历模式,RTCBCD:日历模式,必须要设置为BCD格式

RTCHOLD:暂停日历,防止去读,RTCTEV_1:改变日期与时间

void SetupRTC(void)

{



RTCCTL01 = RTCMODE + RTCBCD + RTCHOLD + RTCTEV_1;

//设置时间,2016:02:19:04:30:00

    RTCHOUR = 0x04;

    RTCMIN = 0x30;

    RTCSEC = 0x00;

    RTCDAY = 0x19;

    RTCMON = 0x02;

    RTCYEAR = 0x2016;

	//打开日历

    RTCCTL01 &= ~RTCHOLD;



   // RTCPS1CTL = RT1IP_5;                    // Interrupt freq: 2Hz

    //RTCPS0CTL = RT0IP_7;                    // Interrupt freq: 128hz

	//使能读日历中断

    RTCCTL0 |= RTCRDYIE + RTCTEVIE;         // Enable interrupt  

}

void DisplayDigitalClock(void) {



	hourBCD = RTCHOUR;

	minuteBCD = RTCMIN;

	secondBCD = RTCSEC; //读取RTC时间寄存器



	DigitalClockDraw(); //显示当前数字时间

	//将当前的时候设置为旧的时间 

	hourOldBCD = hourBCD;

	minuteOldBCD = minuteBCD;

	secondOldBCD = secondBCD;



}

// 在第四行,第五行显示时间与日期

void DigitalClockDraw(void) {

	DigitalClockUpdate();

	Dogs102x6_stringDraw(4, 40, time, DOGS102x6_DRAW_NORMAL);

	Dogs102x6_stringDraw(5, 40, date, DOGS102x6_DRAW_NORMAL);



}

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子