试验9实时时钟设计-程序员.DOCVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
试验9实时时钟设计-程序员

实验9 实时时钟实验 实验目的 了解S3C2410的实时时钟硬件控制原理及设计方法。 掌握S3C2410的实时时钟的使用方法 实验内容 实现实时时钟计数 实现实时时钟Alarm,控制蜂鸣器 实验设备 S3C2410开发板 ADS1.2集成开发环境,JTAG调试器、串口连接线 实验原理 4.1简单介绍 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号员和参数设置存储电路。RTC具有计时准确、耗电低和体积小的特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化程度搞的领域无人职守环境。随着集成电路技术的不断发展,RTC器件的新品也不断推出,这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器和A/D数据采集通道等。 2410实时时钟单元模块在系统电源掉电的时候可以通过备份电源来完成供电。RTC提供8bit时间数据。其中包括秒、分、时、日、星期、月、年等时间信息。RTC要有外部晶振提供32.768kHZ的外部时钟。RTC也可以提供定时的功能。 特点: BCD数字,:秒、分、时、日、星期、月、年. 定时功能。 解除了千年虫的问题。 独立的电源引脚 支持毫秒时钟 读/写寄存器 访问RTC模块的寄存器,首先要设RTCCON的bit0为1,CPU通过读取RTC模块棕寄存器BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDMON和BCDYEAR的值,得到当前的相应时间值,然而,由于多个寄存器依次读出,所以有可能产生错误。例如:用户依次读取年(1989)、月(12)、日(31)、时(23)、分(59)、秒(59)。当秒数为1到59时没有任何问题,但是当秒数为0时,但前时间和日期就变成了1990年1月1日0时0分。这种情况下(秒数为0),用户应该重新读取年份到分钟的值。 后备电池 RTC单元可以使用后备电池通过管脚RTCVDD供电。当系统关闭电源以后,CPU和RTC的接口电路被阻断,后备电池驱动晶体和BCD计数器,从而达到最小的功耗。 闹钟功能 RTC在制定的时间产生报警信号,包括CPU工作在正常模式和休眠模式(power off)下,在正常工作模式下,报警中断信号(ALMINT)被激活。在休眠模式,报警中断信号和唤醒信号(PMWKUP)同时被激活。RTC报警寄存器(RTCALM)决定报警功能的使能/屏蔽和完成报警时间检测。 时间片中断 RTC时间片中断用于中断请求。寄存器TICNT有一个中断使能位和中断计数。搞中断计数自动递减,当达到0是,则产生中断,中断周期按照下列公式计算: Period=(n+1)/128 second 其中,n为RTC时钟中断计数,课取值1~127 4.2实时时钟的系统框图 实时时钟的功能框图如下 4.3实时时钟的寄存器 实时时钟的特殊寄存器主要有RTC控制寄存器(RTCCON)、TICK计数寄存器(TICNT)、RTC定时寄存器(RTCALM)还有6个定时时间寄存器和7个BCD时间寄存器。主要时用来设置时间常数和读取当前的时间。 在具体应用的过程中主要时注意三个控制寄存器的应用: 实时时钟控制寄存器(RTCCON) 这个寄存器中比较关键的是RTCEN位,这一位用来使能RTC模块时间寄存器的读写,在对RTC的寄存器操作之前一定要把这一位置1,在系统电源关闭的时候这一位要置0,用来防止对寄存器的误操作。 Tick时钟计数寄存器(TICNT) 这个寄存器主要时来控制产生实时时钟中断的频率,可以设置的频率是1到128。寄存器中还有一位是中断使能位。 RTC定时控制寄存器(RTCALM) 这个积存器用来使能定时功能。在这个寄存器中可以对年、月、日、分、秒等时间信息分别定时是能,可以最大限度满足用户的需求。 程序实现 5.1时钟设置 void Rtc_Init(void) { rRTCCON = 0x01; //RTC读写使能,选择BCD时钟、计数器, //无复位,1/32768 rBCDYEAR = 0x05 ; //设定年 rBCDMON = 0x09 ; //设定月 rBCDDAY = 0x05 ; //设定日 rBCDDATE = 0x2 ; //设定星期 rBCDHOUR = 0x11 ; /设定小时 rBCDMIN = 0x23 ; //设定分钟 rBCDSEC = 0x12 ; //设定秒 rRTCCON = 0x0; //RTC读写禁止,选择BCD时钟、计数器, //无复位,1/32768 } 5.2

文档评论(0)

sunshaoying + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档