嵌入式实训24.doc

上传人:人*** 文档编号:543539420 上传时间:2023-01-07 格式:DOC 页数:15 大小:184.51KB
返回 下载 相关 举报
嵌入式实训24.doc_第1页
第1页 / 共15页
嵌入式实训24.doc_第2页
第2页 / 共15页
嵌入式实训24.doc_第3页
第3页 / 共15页
嵌入式实训24.doc_第4页
第4页 / 共15页
嵌入式实训24.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《嵌入式实训24.doc》由会员分享,可在线阅读,更多相关《嵌入式实训24.doc(15页珍藏版)》请在金锄头文库上搜索。

1、嵌入式实训24维信科技一、实训目的 学习系统时间相关API函数和使用信号量解决uCOS-II任务之间的互斥问题,把系统时间显示在一个文本框中,并可以通过键盘设置修改。二、实训内容(维信科技,太原最好的IT培训) 本次实验在用户的Main_Task任务中创建一个新任务,来实现系统时钟的显示和更新。同时,通过在Main_Task任务中响应键盘消息,可以对系统的时钟进行更改。使用uCOS-II多任务系统中的信号量保证多个任务对系统的同一个控件访问而不产生冲突。三、预备知识1、用ARM SDT 2.5或ADS1.2集成开发环境,编写和调试程序的基本过程。2、基于uCOS-II操作系统应用程序的框架结构

2、。3、会使用消息循环响应键盘消息。4、会使用文本框控件。四、设备及工具(包括软件调试工具) 硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。 软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序、UltraEdit。五、原理及说明 当系统掉电后RTC (Real Time Clock)电路可以依靠后备电池工作。RTC电路能够以BCD码的形式向CPU提供时间信息,这些信息包括年、月、日、星期和时、分、秒。RTC的运行依赖于一个外部32.768KHz晶振,并

3、具有闹钟功能。该RTC电路还具有闰年发生器、闹钟中断或掉电唤醒、解决Y2K问题、独立电源引脚、秒钟舍入复位功能、用于RTOS核的毫秒级时钟节拍中断等特性。1、RTC电路单元说明RTC电路的框图如图4-9所示。1)闰年发生器 该模块可以根据BCDDAY、BCDMON、BCDYEAR等寄存器的数据决定每个月的最后一天是28、29、30还是31,在决定最后日期时考虑了闰年。因为8位计数器只能保存两位BCD码,所以无法判断00年是闰年与否。例如无法区分1900年和2000年。为此,44B0的RTC单元用硬件来支持闰年2000年,注意这里1900不是闰年而2000年是闰年。因而00年代表2000年而非1

4、900年。图4-9 RTC电路图框图 需要注意,RTC的合法时间范围是100年,比如19012000或20002099,也可以是19492048等。否则程序中无法判断某一年是哪个世纪的,由于00年应该认为是2000年,这个范围在实际应用中已经足够了。2)读写寄存器 RTCCON寄存器的Bit0位必须置1后才能读写RTC单元的寄存器。为了显示秒、分、时、星期、日期、月和年,CPU应该分别读取BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON、BCDYEAR等寄存器的内容。然而,由于读多个寄存器,一秒的偏差是可能存在的。例如,用户从BCDYEAR到BCDMIN读

5、取寄存器(维信科技,太原最好的IT培训),结果正好为59年12月31日23时59分;当用户读取BCDSEC寄存器并且结果在1到59秒时,这没有问题,但是当结果为0秒时,由于上述的一秒偏差,年、月、日、时和分可能已经变为60年1月1日0时0分了。在这种情况下,如果BCDSEC为0的话,用户应该从BCDYEAY到BCDMIN重新读取。3)闹钟功能 RTC可以在掉电模式或正常工作模式中在指定时刻产生闹钟信号;在正常工作模式下闹钟中断ALMINT被激活,而在掉电模式下,电源管理唤醒PMWKUP信号与ALMINT同时被激活。RTC闹钟寄存器RTCALM决定闹钟的使能和时刻设置。4)时钟节拍中断 RTC的

6、时钟节拍用于中断请求,TICNT寄存器包含中断使能位和用于中断的计数值,当计数值减少到0则产生时钟节拍中断。那么中断周期就是:Period = ( n+1 ) / 128 second 其中n : Tick time count value (1-127)RTC的时钟节拍可以用于RTOS(实时操作系统)内核的时钟节拍。如果时钟节拍由RTC产生,RTOS的时间相关功能将一直与实时钟同步。5)舍入复位功能 舍入复位功能由RTC的舍入复位寄存器RTCRST完成,秒进位发生器的舍入边界(30、40或50秒)是可选的,在舍入复位时秒值被舍入为0。例如当前时间是23:37:47,(维信科技,太原最好的IT

7、培训)并且舍入边界选择为40秒,那么舍入复位将当前时间改为23:38:00。2、RTC相关寄存器实时时钟控制寄存器 (RTCCON)的设置和位描述如下表4-21和表4-22所示:表4-21 实时时钟控制寄存器 (RTCCON)的设置寄存器地址R/W描述复位值RTCCON 0x01D70040(L) 0x01D70043(B) R/W (by byte) RTC控制寄存器0x0 表4-22 实时时钟控制寄存器 (RTCCON)的位描述RTCCON 位 描述 初始化状态 CLKRST 3 RTC时钟计数复位0=无复位,1=复位 0 CNTSEL 2 BCD计数选择0=合并BCD计数器1=保留(分离

8、BCD计数器)0 CLKSEL 1 BCD时钟选择0=晶振XTAL 1/215分频时钟1=保留(XTAL时钟只为检测) 0 RTCEN 0 RTC读/写 使能0=禁止,1=使能如果RTC读/写特征使能,静态电流将大量消耗。为了减少STOP电流,在不访问RTC时该位应该为0。即使该位为0,RTC时钟仍然运行。 0 RTC 闹钟控制寄存器 (RTCALM)的设置和位描述如下表4-23和表4-24所示:表4-23 RTC 闹钟控制寄存器 (RTCALM)的设置寄存器 地址 R/W 描述 复位值RTCALM 0x01D70050(L) 0x01D70053(B) R/W (by byte) RTC闹钟

9、控制寄存器0x00 表4-24 RTC 闹钟控制寄存器 (RTCALM)的位描述RTCALM位描述 初始化状态 Reserved7 0 ALMEN6 闹钟全局使能 0 = 禁止, 1 = 使能 0 YEAREN5 年闹钟使能 0 = 禁止, 1 = 使能0 MONREN4 月闹钟使能 0 = 禁止, 1 = 使能0 DAYEN3天闹钟使能 0 = 禁止, 1 = 使能0 HOUREN2 小时闹钟使能 0 = 禁止, 1 = 使能0 MINEN1 分钟闹钟使能 0 = 禁止, 1 = 使能0 SECEN0 秒闹钟使能 0 = 禁止, 1 = 使能 0 闹钟第二数据寄存器(ALMSEC)的设置和位

10、描述如表4-25和表4-26所示:表4-25 闹钟第二数据寄存器(ALMSEC)的设置寄存器地址R/W 描述 复位值ALMSEC 0x01D70054(L) 0x01D70057(B) R/W (by byte) 闹钟第二数据寄存器0x00 表4-26 闹钟第二数据寄存器(ALMSEC)的位描述ALMSEC 位 描述 初始化状态 Reserved7 0 SECDATA6:4 闹钟秒的BCD值,从0-5。 000 3:0 0 到 9 0000 闹钟分钟数据寄存器 (ALMMIN)的设置和位描述如下表4-27和表4-28所示:表4-27 闹钟分钟数据寄存器 (ALMMIN)的设置寄存器 地址 R/

11、W 描述 复位值ALMMIN0x01D70058(L) 0x01D7005B(B) R/W (by byte)闹钟分钟数据寄存器 0x00表4-28 闹钟分钟数据寄存器 (ALMMIN)的位描述ALMMIN 位 描述 初始化状态 Reserved 7 0 MINDATA 6:4 闹钟分钟的BCD值,从0到5。 000 3:0 0 到 9 0000 闹钟小时数据寄存器(ALMHOUR)的设置和位描述如下表4-29和表4-30所示:表4-29 闹钟小时数据寄存器(ALMHOUR)的设置寄存器地址 R/W 描述 复位值ALMHOUR0x01D7005C(L) 0x01D7005F(B) R/W (b

12、y byte) 闹钟时间数据寄存器0x00 表4-30 闹钟小时数据寄存器(ALMHOUR)的位描述ALMHOUR 位 描述 初始化状态 Reserved7:6 0 HOURDATA5:4 闹钟时间的BCD值,从0到2。 00 3:0 0 到 9 0000 闹钟天数据寄存器 (ALMDAY)的设置和位描述如下表4-31和表4-32所示:表4-31 闹钟天数据寄存器 (ALMDAY)的设置寄存器地址 R/W 描述 复位值ALMDAY0x01D70060(L) 0x01D70063(B) R/W (by byte) 闹钟天数据寄存器 0x01表4-32 闹钟天数据寄存器 (ALMDAY)的位描述A

13、LMDAY 位 描述初始化状态 Reserved7:6 0 DAYDATA5:4 闹钟天的BCD值,从0到28, 29, 30, 31 0 到 3 00 3:0 0 到 9 0001 闹钟月数据寄存器(ALMMON)的设置和位描述如下表4-33和表4-34所示:表4-33 闹钟月数据寄存器(ALMMON)的设置寄存器地址R/W描述复位值ALMMON0x01D70064(L) 0x01D70067(B) R/W (by byte) 闹钟月数据寄存器 0x01 表4-34 闹钟月数据寄存器(ALMMON)的位设置ALMMON 位 描述 初始化状态 Reserved7:5 0 MONDATA4 闹钟

14、月的BCD值,从0到1。 0 3:0 0 到 9 0001 闹钟年数据寄存器 (ALMYEAR)的设置和位描述如下表4-35和表4-36所示:表4-35 闹钟年数据寄存器 (ALMYEAR)的设置寄存器地址R/W描述复位值ALMYEAR0x01D70068(L) 0x01D7006B(B) R/W (by byte) 闹钟年数据寄存器 0x00 表4-36 闹钟年数据寄存器 (ALMYEAR)的设置的位描述ALMYEAR 位 描述 初始化状态 YEARDATA7:0 年的BCD值,从00-99 0x00 RTC复位寄存器 (RTCRST)的设置和位描述如下表4-37和表4-38所示:表4-37 RTC复位寄存器 (RTCRST)的设置寄存器地址 R/W 描述 复位值RTCRST 0x01D7006

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号