×

实时时钟实验

消耗积分:1 | 格式:docx | 大小:18KB | 2014-06-03

鹿鼎公

分享资料个

实时时钟实验

1 实验目的

Ø 了解实时时钟的硬件控制原理及设计方法。

Ø 掌握S3C2410X处理器的RTC模块程序设计方法。

2 实验设备

Ø 硬件:Embest EduKit-IV平台,ULINK2仿真器套件,PC机;

Ø 软件:μVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP。

3 实验内容

学习和掌握Embest ARM教学实验平台中RTC模块的使用,编写应用程序,修改时钟日期及时间的设置,以及使用EMBEST ARM教学系统的串口,在超级终端显示当前系统时间。

4 实验设计

(1)时钟设置

时钟设置程序须实现时钟工作情况以及数据设置有效性检测功能。具体实现可参考示例程序设计。

(2)时钟显示

时钟参数通过实验系统串口0 输出到超级终端,显示内容包括年月日时分秒。参数以BCD 码形式传送,用户使用串口通信函数(参见串口通信实验)将参数取出显示。

* name:rtc_display

* func:display rtc value

* para:none

* ret:none

* modify:

* comment:

************************************************************************/

void rtc_display(void)

{

INT32T nTmp;

uart_printf(“\n Display current Date and time: \n”);rRTCCON = 0x01;// No reset, Merge BCD counters, 1/32768, RTC Control enable

uart_printf(“ Press any key to exit.\n”);

while(!uart_getkey())

{

while(1)

{

if(rBCDYEAR==0x99)

g_nYear = 0x1999;

else

g_nYear = 0x2000 + rBCDYEAR;

g_nMonth = rBCDMON;

g_nWeekday = rBCDDAY;

g_nDate = rBCDDATE;

g_nHour = rBCDHOUR;

g_nMin = rBCDMIN;

g_nSec = rBCDSEC;

if(g_nSec!=nTmp)// Same time is not display

{

nTmp = g_nSec;

break;

}

}

uart_printf(“ %02x:%02x:%02x %10s, %02x/%02x/%04x\r”,

g_nHour,g_nMin,g_nSec,day[g_nWeekday],g_nMonth,g_nDate,g_nYear);

}

rRTCCON = 0x0;// No reset, Merge BCD counters, 1/32768, RTC Control disable(for power consumption)

uart_printf(“\n\n Exit display.\n”);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !