搜索
您的当前位置:首页正文

ARM实验六 RTC及数码管显示实验

来源:爱够旅游网
实验六 RTC及数码管显示实验(设计性实验)

一 实验目的

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

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

二 实验设备

●硬件:Embest S3CEV40实验平台,Embest ARM标准/增强型仿真器套件,PC机。

●软件:Embest IDE 2003集成开发环境.Windows 98/2000 /NT/ XP操作系统。

三 实验内容

学习和掌握S3C44B0X处理器的RTC模块的使用,编写应用程序,修改时钟日期及时间的设置,并使用Embest ARM教学系统的串口,在超级终端上显示当前系统时间。

四 实验原理

1.实时时钟

实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC具有计时准确、耗电低和体积小等特点,特别适用于在各种嵌人式系统中记录事件发生的时间和相关信息,尤其是在通信工程、电力自动化、工业控制等自动化程度较高领域的无人值守环境。随着集成电路技术的不断发展,RTC器件的新品也不断推出。这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器和A/D数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。

RTC器件与微控制器之间的接口大都采用连线简单的串行接口,诸如I2C、SPI、MICROWIRE和CAN等串行总线接口。这些串口由2~3根线连接,分为同步和异步。 2.S3C44B0X实时时钟单元

S3C44B0X实时时钟单元是处理器集成的片内外设,其功能框图如图所示。由开发板上的后备电池供电,可以在系统电源关闭的情况下运行。RTC发送8位BCD码数据到CPU。传送的数据包括秒、分、小时、星期、日期、月份和年份。RTC单元时钟源由外部32.768

RTC功能框图

kHz晶振提供,可以实现闹钟(报警)功能。

S3C44B0X实时时钟单元特性如下:

●BCD数据:秒、分、小时、星期、日期、月份和年份; ●闹钟(报警)功能:产生定时中断或激活系统; ●自动计算闰年; ●无2000年问题; ●独立的电源输入;

●支持ms级时间片中断,为RTOS提供时间基准。 1)读/写寄存器

访问RTC模块的寄存器,首先要设RTCCON的位0为1。CPIJ通过读取RTC模块中寄存器BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON和BCDYEAR的值,得到当前的相应时间值。但是,由于多个寄存器依次读出,所以有可能产生错误。例如:用户依次读取年(1989)、月(12)、日(31)、时(23)、分(59)、秒(59)。当秒数为1~59时,无任何问题;但是,当秒数为0时,当前时间和日期就变成了1990年1月1日0时0分。在这种情况下(秒数为0),用户应该重新读取年份到分钟的值(参考程序设计)。 2)后备电池

RTC单元可以使用后备电池通过引脚RTCVDD供电。当系统关闭电源以后,CPU和RTC的接口电路被阻断。后备电池只需要驱动晶振和BCD计数器,从而达到最小功耗。 3)闹钟报蕾功能

RTC在指定的时间产生报警信号,包括CPU工作在正常模式和休眠(Power Down)模式下。在正常工作模式,报警中断信号(ALMINT)被激活;在休眠模式,报警中断信号和唤醒信号(PMWKUP)同时被激活。RTC报警寄存器(RTCALM)决定报警功能的使能/屏蔽和完成报警时间检测。 4)时间片中断

RTC时间片中断用于中断请求。寄存器TICNT有一个中断使能位和中断计数。该中断计数自动递减,当达到0时,则产生中断。中断周期Period计算公式如下: Period=(n+1)/128 s

其中,n为RTC时钟中断计数,可取值为l~127。 5)置0计数功能

RTC的置0计数功能可以实现30 s、40 s和50 s步长重新计数,供某些专用系统使用。当使用50 s置0设置时,如果当前时间是1 l:59:49,则1 s后时间将变为12:00:00。 注意:所有的RTC寄存器都是字节型的,必须使用字节访问指令(STRB、LDRB)或字符型指针访问。

五 实验设计

l.硬件电路设计 实时时钟外围电路如图所示。

2.软件程序设计 1)时钟设置

时钟设置程序必须实现时钟工作情况及数据设置有效性检测功

RTC外围电路

能。

2)时钟显示

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

六 实验操作步骤

①准备实验环境。使用Embest仿真器连接目标板,使用Embest S3CEV40实验板附带的串口线连接实验板上的UART0和PC机的串口。

②在PC机上运行Windows自带的超级终端串口通信程序(波特率为115 200 b/s,1个停止位,无校验位,无硬件流控制);或者使用其他串口通信程序。

③使用Embest IDE通过Embest仿真器连接实验板,打开实验例程目录下RTC_test子目录中的RTC_Test.ews例程,编译、链接通过后连接目标板,下载并运行它。

④在PC上观察超级终端程序主窗口,可以看到如下显示: RTC Working now.To set time(Y/N)?:Y

⑤用户可以选择是否重新进行时钟设置。当输人不正确时,也会提示是否重新设置。提示内容如下:

Current day is(200d,1e,27,TUE).To set day(yy-mm-dd w):2003-11-07 5 Current time is(1f:08:18).To set time(hh:mm;ss):15:10:00 ⑥最终超级终端输出信息如下: 2003-11-07,FRI 15:10:14

⑦理解和掌握实验后.完成实验练习题。

七 练习题

1. 在RTC_Test.ews例程中有5处不合理的地方,请找出来,并改正。 2. RTC_Test.ews例程只能显示一天的时间变化,如

2003-11-07,FRI 23:59:59 后会变成

2003-11-07,FRI 00:00:00 而不是

2003-11-08,SAT 00:00:00

请修改程序,让其DAY和DATE可变。

3. 用LED显示秒的个位。(LED显示参照数码管实验)

数码管(LED)显示实验

一 实验目的

●通过实验掌握LED的显示控制方法。

●巩固4.1节实验中所掌握的对存储区进行访问的方法。

二 实验设备

●硬件:Embest S3CEV40实验平台,Embest ARM标准/增强型仿真器套件,PC机。 ●软件:Embest IDE 2003集成开发环境,windows 98/2000/NT/XP操作系统。

三 实验内容

编写程序使实验板上8段数码管循环显示0~9、A~F字符。

四 实验原理

1.8段数码管 嵌入式系统中,经常使用8段数码管来显示数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。 1)结 构

8段数码管由8个发光二极管组成,其中7个长条形的发光管排列成“日”字形,右下角1个点形发光管作为显示小数点用。8段数码管能显示所有数字及部分英文字母,见图。

2)类 型

8段数码管有2种不同的形式:一种是8个发光二极管的阳极都连在一起,称之为共阳极8段数码管;另一种是8个发光二极管的阴极都连在一起,称之为共阴极8段数码管。 3)工作原理

以共阳极8段数码管为例。当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮。当需要显示某字符时,8段数码管的结构 就将该字符对应的所有二极管点亮。共阴极二极管则相反,控制信号为高电平时点亮。

电平信号按照dp、g、e…a的顺序组合形成的数据字称为该字符对应的段码。常用字符的段码如表所列。

4)显示方式

8段数码管的显示方式有两种,即是静态显示和动态显示。 静态显示:是指当8段数码管显示一个字符时,该字符对应段的发光二极管控制信号一 直保持有效。 动态显示:是指当8段数码管显示一个字符时,该字符对应段的发光二极管是轮流点亮的,即控制信号按一定周期有效。在轮流点亮的过程中,点亮时间是极为短暂的(约1 ms)。但由于人的视觉暂留现象及发光二极管的余辉效应,数码管的显示依然是非常稳定的。

常用字符段码表

2.电路原理

在S3CEV40教学电路中,使用的是共阳极8段数码管。各段的控制信号由处理器S3C44B0X的数据总线低8位通过锁存器74LS573进行控制,数码管的亮度由电阻Rl~R8 调整,锁存器的选通由CS6控制,见图。

锁存器选通信号CS6由处理器S3C44B0X的存储区域1对应的片选信号线nGCS1和地 址线的高位A18、A19、A20经过译码器生成,电路原理图见图。当nGCS1、A18、A20为 高电平,A19为低电平时,CS6信号有效。此时,数据线低8位的内容将在8段数码管上显示出来。

处理器S3C44B0X的存储区域1对应的起始地址和结束地址是固定的,即存储区域1的地址范围为0x02000000~0x2FFFFFF。当访问这段地址空间时,处理器使nGCSI信号有效。 结合地址位A18、A19、A20,当访问地址0x02140000~0x0217FFFF时,CS6信号有效。

在程序设计中,8段数码管的显示是通过输出数据到地址0x02140000来完成的。

五 实验操作步骤

①准备实验环境。使用Embest仿真器连接目标板,使用Embest S3CEV40实验板附带的串口线连接实验板上的UARTO和PC机的串口。

②在PC机上运行Windows自带的超级终端串口通信程序(波特率为115 200 b/s,1个

停止位,无校验位,无硬件流控制);或者使用其他串口通信程序。

③使用Embest IDE通过Embest仿真器连接实验板,打开实验例程目录下8LED_test子目录中的8LED_Test.ews例程,编译、链接通过后连接目标板,下载并运行它。

④观察超级终端输出如下内容:

Embest 44B0X Evaluation Board(S3CEV40)

8-segment Digit LED Test Example(Please look at LED) ⑤实验板上8段数码管循环显示0~F字符。

8段数码管控制电路

S3CEV40实验板片选信号的译码电路图

因篇幅问题不能全部显示,请点此查看更多更全内容

Top