ARM课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013年11月23日至2014年01月3日华中科技大学武昌分校制
嵌入式系统课程设计任务书
一、设计(调查报告/论文)题目
课题:数字钟的设计
二、设计(调查报告/论文)主要内容
掌握定时器的使用方法,利用串口、数码管、点阵或者液晶屏进行日期、时间的实时显示,并可以根据需要进行调整。
三、原始资料
开发板的原理图,课设资料。
四、要求的设计(调查/论文)成果
●使用开发板或实验箱实现一个数字钟;
●根据原理图完成实验方案的设计;
●实时显示日期、时间。可以利用串口发送到上位机显示或利用数码管、点阵、液
晶屏显示;
●具备时间调整功能;
●在实验完成的基础上完成课程设计报告的撰写,按照模板的格式书写,要求有软
件流程图和详细的调试过程。
五、进程安排
时间内容地点
17周周一上午课题讲解、选题11-211
17周周一上午软硬件准备、清理实验楼403
17周周二至周三课题分析、收集资料、完成设计
实验楼403,图书馆
方案
17周周四至周五详细设计,编写代码实验楼403
18周周一至周三系统调试实验楼403
18周周四成果验收实验楼403
18周周五整理文档,撰写提交课设报告实验楼403
六、主要参考资料
见下发的课程设计资料
指导教师(签名):
20 年月日
目录
摘要 (2)
1.设计原理及基本方案 (3)
1.1设计原理 (3)
1.2基本方案 (5)
2.软件设计 (6)
2.1基本思路 (6)
2.2软件流程图 (6)
2.3主要代码说明 (7)
3.调试过程 (7)
4.课程设计中出现的问题 (10)
5.总结 (11)
6.附录 (12)
摘要
随着科技的发展,嵌入式系统广泛应用于工业控制和商业管理领域,在多媒体手机、袖珍电脑、掌上电脑、车载导航器等方面的应用,更是极大地促进了嵌入式技术深入到生活和工作各个方面。嵌入式系统主要由嵌入式处理器、相关支撑硬件及嵌入式软件系统组成;本文介绍基于ARM7的嵌入式微处理器S3C44BOX和LCD显示器的电子时钟的设计,实现电子时钟的功能,并在LCD上显示类似的时钟界面;动态显示当前的时间,包括:年、月、日、时、分、秒,时针。
关键词:ARM、电子钟、软件
1 设计原理及基本方案
1.1设计原理
(1)实时时钟RTC模块
S3C2410A 实时时钟单元是处理器集成的片内外设,由开发板上的后备电池供电,可以在系统电源关闭的情况下运行,RTC发送8位BCD码数据到CPU。传送的数据包括秒、分、时、星期、日期、月份和年份。RTC单元时钟源频率由外部32.768 kHz晶振提供,可以实现闹钟(报警)功能及时间片中断、置0计数功能。如图1-1。
RTC最重要的功能就是显示时间,是通过读/写寄存器实现的。要显示秒、分、时、日期、月、年,CPU必须读取存于BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON 与BCDYEAR寄存器中得值。时间的设置也是通过以上的寄存器实现的,即以上寄存器是可读写的。
(2)RTC特殊功能寄存器
所有RTC寄存器斗都是字节型的,必须使用字节型访问指令(STRB、LDRB)或者字符型指令访问。在小端模式和大端模式中所采用的地址不同,这里采用小端模式的地址。
①时钟BCD数据寄存器
时钟BCD数据寄存器用于保存RTC的实时数据,包括BCDSEC、BCDMIN、BCDHOUR、BCDDATE、BCDDAY、BCDMON和BCDYEAR等7个寄存器,如表1-1所列。
表1-1时钟数据寄存器
寄存器地址读写操作描述复位值
BCDSEC 0x57000070 读/写BCD秒数据寄存器未定义
BCDMIN 0x57000074 读/写BCD分数据寄存器未定义
BCDHOUR 0x57000078 读/写BCD时数据寄存器未定义
BCDDATE 0x5700007C 读/写BCD日数据寄存器未定义
BCDDAY 0x57000080 读/写BCD星期数据寄存器未定义
BCDMON 0x57000084 读/写BCD月数据寄存器未定义
BCDYEAR 0x57000088 读/写BCD年数据寄存器未定义
BCDSEC用于保存报警的秒数据,其中的位[6:0]SECDATA保存报警秒数据的BCD码,位[6:4]取值0-5,位[3:0]取值0-9。
BCDMIN用于保存报警的分数据,其中的位[6:0]MINDATA保存报警分数据的BCD码,位[6:4]取值0-5,位[3:0]取值0-9。
BCDHOUR用于保存报警的时数据,其中的位[5:0]HOURDATE保存报警时数据的BCD 码,位[5:4]取值0-2,位[3:0]取值0-9。
BCDDATE用于保存报警的日数据,其中的位[5:0]DATEDATA保存报警日数据的BCD 码,取值0-28、29、30、31,位[5:4]取值0-3,位[3:0]取值0-9。
BCDDAY用于保存报警的星期数据,其中的位[2:0]DAYDATA保存报警星期数据的BCD 码,取值1-7。
BCDMON用于保存报警的月数据,其中的位[4:0]MONDATA保存报警月数据的BCD码,位[4]取值0-1,位[3:0]取值0-9。
BCDYEAR用于保存报警的年数据,其中的位[7:0]YEARDATA保存报警年数据的BCD 码,取值00-99。
②实时时钟控制寄存器
实时时钟控制寄存器RTCCON如表1-2所列,共有四位。
表1-2实时时钟控制寄存器
寄存器地址读写操作描述复位值
RTCCON 0x57000040 读/写RTC控制寄存器0x0
各位定义如下:
[3]CLKRST:RTC时钟计数器复位。0=不复位;1=复位。
[2]CNTSEL:BCD计数器选择。0=合并BCD计数器;1=保留(即分离BCD计数器)。
[1]CLKSEL:BCD时钟选择。0=采用XTAL的1/215作为时钟;1=保留(XTAL时钟仪用于测试)。
[0]RTCEN:RTC控制使能。0=禁止;1=使能。
RTCEN控制BCD寄存器的读/写使能,CLKSEL、CNTSEL和CLKRST用于测试。RTCEN 控制着CPU和RTC的所有接口,为了使能数据可读/写,在系统复位后RTCEN应该置1。
③ RTC报警控制寄存器
RTC报警控制寄存器RTCALM如表1-3所列,控制着报警使能和报警时间。
表1-3 RTC报警控制寄存器
寄存器地址读写操作描述复位值
RTCALM 0x57000050 读/写RTC报警控制寄存器0x0