ARM课程设计数码管显示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

一、设计内容 (2)

1.1实验目的 (2)

1.2实验设备 (2)

二、设计原理 (2)

2.1 八段数码管 (2)

2.2 电路原理 (3)

三、操作步骤 (4)

四、程序代码 (5)

五、心得体会 (12)

ARM数码管显示

一、设计内容

1.1实验目的

掌握LED 的显示控制方法。

巩固对存储区进行访问的方法。

1.2实验设备

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

软件:Embest IDE Pro 2004集成开发环境,Windows 98/2000/NT/XP。

二、设计原理

2.1 八段数码管

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

结构:

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

类型:

八段数码管有两种不同的形式:一种是八个发光二极管的阳极都连在一起的,称之为共阳极八段数码管;另一种是八个发光二极管的阴极都连在一起的,称之为共阴极八段数码管。

工作原理:

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

显示方式:

八段数码管的显示方式有两种,分别是静态显示和动态显示。

静态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管控制信号一直保持有效。

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

2.2 电路原理

EMBEST ARM EDUKIT II教学电路中,使用的是共阳极八段数码管,数码管的控制通过芯片ZLG7290控制,各段的控制信号是芯片ZLG7290的SEGA~SEGG引脚控制,需要显示的段码通过IIC总线传送到该芯片,见图。

八段数码管控制电路

八段数码管控制电路

三、操作步骤

1.准备实验环境

使用Embest仿真器连接目标板,使用Embest Arm EduKit II实

验板附带的串口线,连接实验板上的UART0和PC机的串口。

2.串口接收设置

在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序。

3.打开实验例程

1)使用Embest IDE通过Embest JTAG仿真器连接实验板,打开

实验例程目录4.6_8led_test子目录下的8led_test.ews例程,编译链接工程成功;

2)点击IDE的Debug菜单,选择Remote Connect项或F8键,

远程连接目标板;

3)点击IDE的Debug菜单,选择Download下载调试代码到目标

系统的RAM中;

4)在“8LED_test ();”设置断点后,点击Debug菜单的Go或F5

键运行程序。

4.观察实验结果

1).在PC机上观察超级终端程序主窗口,可以看到如下界面:

Embest Arm EduKit II Evaluation Board

8-segment Digit LED Test Example (Please look at LED)

2).实验系统八段数码管循环显示0 ~ F字符。

四、程序代码

Main:

/****************************************************************************** ***************

* File:main.c

* Author: embest

* Desc:c main entry

* History:

****************************************************************************** ***************/

#include "44blib.h"

#include "44b.h"

/*------------------------------------------------------------------------------------------*/

/* extern function

*/

/*------------------------------------------------------------------------------------------*/

extern void led8_test();

/*------------------------------------------------------------------------------------------*/

/* function declare

*/

/*------------------------------------------------------------------------------------------*/

void Main(void);

/****************************************************************************** ***************

* name: main

* func: c code entry

* para: none

* ret: none

* modify:

* comment:

****************************************************************************** ***************/

void Main(void)

{

sys_init(); /* Initial 44B0X's Interrupt,Port and UART */

uart_printf("\n\r Embest Arm EduKit II Evaluation Board");

uart_printf("\n\r 8-segment Digit LED Test Example (Please look at LED)\n");

led8_test();

while(1);

}

Iic:

/****************************************************************************** ***************

* File:iic.c

* Author: embest

相关文档
最新文档