前 言
近年来,随着计算机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有发展前途的IT应用领域之一。32位嵌入式系统发展很快,32位单片机已逐渐占领8位机的市场,并以很高的性价比赢得了越来越多的用户的青睐。随着科技和工艺的进步,32位单片机的优势会更加突显出来,将会成为嵌入式系统的主流。在32位嵌入式系统中,基于ARM的应用占据了大部分份额。
实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC具有计时准确、耗电低和体积小等特点,特别适用于在各种嵌入式系统忠记录事件发生的时间和相关信息,尤其是在通信工程、电力自动化、工业控制等自动化程度较高领域的无人职守环境。随着集成电路技术的不断发展,RTC器件的新品也不断推出。这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器和A/D数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。
本次设计是采用LPC2138的32位芯片设计的可调万年历,具有调时、调分、调月、调日和准点报时的功能。当整点时,蜂鸣器响的次数为当时小时的值以及LED会闪烁相应的次数。
关键词:ARM LPC2138 LED RTC
目录
一、功能说明............................................................................................. 1 二、系统硬件设计 .................................................................................... 1 2.1 系统结构 ...................................................................................... 1 2.2元器件的选择 ............................................................................... 2 三、系统软件设计 .................................................................................... 3 3.1程序和芯片的初始化 ................................................................... 3 3.2构建功能模块 ............................................................................... 4 四、实验测试............................................................................................. 7 4.1IAR软件的编译,连接和运行 ..................................................... 7 4.2protues仿真软件的联合调试 ..................................................... 8 五、实验结果............................................................................................. 9 5.1仿真结果 ....................................................................................... 9 5.2实验板结果 ................................................................................. 10 六、心得体会........................................................................................... 11 七、程序清单........................................................................................... 11
一、功能说明
利用内部RTC的实时时钟,制作一个时钟,通过液晶显示模块显示年、月、日和时间。K1键、K2键、K3键和K4键分别可用于调整月份、日、小时和分钟数。在调整过程中,日期和时钟以新的时间为起点继续刷新显示。同时,该设计具有整点报时的功能,当整点时,蜂鸣器响的次数为当时小时的值以及LED会闪烁相应的次数。
本设计采用的是OCM128128液晶显示模块是128×128点阵型液晶显示模块,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。采用T6963C驱动IC进行控制。本实验板中采用的是3.3V的液晶模块,可以直接连接到LPC2138的GPIO上,而不需要进行电平转换。
二、系统硬件设计
2.1 系统结构
本实验是基于LPC2138ARM处理器而设计的实时时钟,综合性较强,涉及到RTC外部中断,引脚的GPIO功能,C语言编程等知识。
首先要定义P0口为基本I\\O功能,然后通过引脚功能选择寄存器PINSEL0及PINSEL1定义输入输出外部中断口所在的位,另外还要对外部中断进行初始化,其中有规定他们的优先级,中断触发方式,中断地址分配,
本实验采用液晶模块OCM128128同时显示实时时间,同样要对他们进行初始化,包括检查总线忙与闲,传送地址,传送数据及显示函数的编程、
LPC2138微控制器自带有一个实时时钟RTC带日历和时钟功能,要使用它也要进行一下的基本操作:
设置RTC基准时钟分频器
初始化RTC的时钟值如,YEAR,MONTH,HOUR等 启动RTC即CCR的CLKEN位职位 读取完整时间寄存器值或等待中断。 陈述完以上的模块初始化后,下面简要说明一下程序的流程。先调用以上各个模块的初始化函数lcd_int(),RTCint()。然后开启RTC时钟,并调用LCD显示函数SendTimetRtc(),如果没用中断发生就判断实时时间是否与以设定的报警时间相同,如果相同就马上接通蜂鸣器报警并且点亮LED灯。假如有中断发生,在无效状态下,马上给中断标志寄存器EXTINT对应位,然后写1清零,然后转到中断服务程序。
根据项目要求,确定该系统的设计方案,图2-1为该系统设计方案的结构框图。硬件电路由6个部分组成,即ARMLPC2138处理器、时钟电路、复位电路、
1