嵌入式实训指导书

  • 格式:doc
  • 大小:1.62 MB
  • 文档页数:55

嵌入式系统实训

交通信息学院 电子系 编

广东交通职业技术学院 二〇一一年一月

实训要求

一、实训目的 1 嵌入式系统是一门理论性很强的课程,经过原来理论课程的学习,学生已经对相关的理论知识掌握了到了一定的程度。实训环节是对课程理论的巩固,也是学生掌握课程核心内容的一种有效途径和方式,通过实训可以使学生掌握电子产品的设计流程、设计方法和相关的概念。

课程设计应强调以能力培养为主,在独立完成设计任务同时注意多方面能力的培养与提高,主要包括以下方面:

1. 独立工作能力和创造力。

2. 综合运用专业及基础知识,解决实际工程技术问题的能力。

3. 查阅图书资料、产品手册和各种工具书的能力。

4. 使用Protel等EDA工具进行单片机硬件系统设计的能力。

5. 基于ADS1.2开发LPC21XX系列处理器应用程序的能力

6. 写技术报告和编制技术资料的能力。

二、内容及要求

基于LPC21XX系列处理器实现对LED亮度的控制系统,该系统可通过多种方法进行LED亮度的控制。

三、时间、地点安排

地点:EDA实验室、电子制作室

四、组织管理

教师组织抽查、考勤

五、学生分组

2人1组。

六、考核评估

通过总结报告,并结合学生的动手能力,独立分析解决问题的能力和创新精神,及学习态度综合考评。成绩分优、良、及格和不及格四等。

考核标准包括:

实训报告 (30%)

学生的动手能力 (60%)

考勤 (10%) 2

3 项目 LED亮度控制系统

基于LPC21XX单片机构成一个控制系统,如图1所示。

嵌入式系统实验板键盘LEDPC传感器

图1 LED亮度系统

实现的功能要求:

1、实现LPC21XX最小系统的编程和控制 50分

2、实现LED亮度的简单控制 15分

3、能根据周围环境的灯光亮度实现LED亮度的自动调节 15分

4、通过键盘设定LED的亮度 5分

5、通过PC机设置LED的亮度 5分

6、其他功能 10分

4 第一阶段 GPIO的控制

一、实训目的

1、掌握寄存器的使用

2、使用GPIO的控制方法点亮和熄灭LED

二、实训内容

控制LED的点亮,点亮L4,L6,熄灭L5、L7。

三、实训设备

一组设备为:

序号 名称 数量 备注

1 普通PC 1

2 嵌入式系统实验板 1

四、实训报告要求

按指导老师的要求完成:

(1)实训作业,即设计图纸。

(2)实训心得。

五、参考知识

所谓GPIO,即通用I/O口(General Purpose I/O ports),可理解为即可作为输入又可以作为输出的接口。与单片机一样,LPC213X也具备一定数量的GPIO,LPC213X具有多达47个GPIO,分为2组,分别为P0、P1。每组GPIO的数量不尽相同,其中P0口可最多有30个GPIO接口,P1口也有17个GPIO,P0和P1口同时又与内部的一些模块共用。

5.1 引脚描述

LPC213X的引脚结构如图5-1所示

PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10引脚 5 图5-1 LPC213X引脚结构

如图5-1所示,由于LPC213X的引脚与其它功能复用,比如P0.0引脚,即有GPIO的功能,同时也具有串口0发送功能,但是一个时间只能选择GPIO和串口发送功能的一种,而不能同时具备两种功能。这些功能的选择是通过管脚连接模块(Pin Connect Block)来实现的,管脚连接模块通过配臵寄存器控制多路开关来连接管脚与片内外设。

5.2 管脚连接模块

管脚连接模块的用途是将管脚配臵为需要的功能,可实现独立的管脚配臵。外设在激活和任何相关中断使能之前必须连接到适当的管脚,任何使能的外设功能如果没有映射到相关的管脚,则被认为是无效的。

LPC213X的管脚框图示例如图5-2所示。

GPIOTxD0PWM1P0.0PINSELx

图5-2 管脚框图示例

5.3 管脚连接模块相关寄存器

管脚连接模块是通过PINSEL0、PINSEL1 和PINSEL2寄存器来控制的,芯片复位时这三个寄存器会自动设臵为默认值,所以复位后芯片引脚的功能是确定的。当管脚选择一个功能时,其它功能无效。

上述规则唯一的例外是管脚用作A/D 转换器输入时。不论管脚选择何种功能,它都仍可用作A/D 输入,A/D 输入可随时被读取,管脚的电压变化都从A/D

的读取值中反映出来。但是,只有选择模拟输入功能,才能读出有效的模拟值。也只有这种情况下,管脚和A/D模块之间的接口电路才有效。其它情况下,执行数字功能所必需的数字逻辑部分将有效,从而影响A/D 转换器的正确操作。

通用名称 描述 访问类型 复位值

PINSEL0 P0.0-P0.15管脚连接模块控制 读/写 0x0000 0000

PINSEL1 P0.16-P0.31管脚连接模块控制 读/写 0x1540 0000 6 PINSEL2 P1、P3管脚连接模块控制 读/写 不定

表5-1 管脚连接控制模块的寄存器

5.3.1 PINSEL0寄存器

PINSEL0寄存器控制的是P0.0-P0.15管脚所连接的模块,如表2-2所示。

PINSEL0 管脚名称 00 01 10 11 复位值

1:0 P0.0 GPIO P0.0 TxD0 PWM1 保留 00

3:2 P0.1 GPIO P0.1 RxD0 PWM3 EINT0 00

5:4 P0.2 GPIO P0.2 SCL 捕获0.0 保留 00

7:6 P0.3 GPIO P0.3 SDA 匹配0.0 EINT1 00

9:8 P0.4 GPIO P0.4 SCK0 捕获0.1 保留 00

11:10 P0.5 GPIO P0.5 MISO0 匹配0.1 保留 00

13:12 P0.6 GPIO P0.6 MOSI0 捕获0.2 保留 00

15:14 P0.7 GPIO P0.7 SSEL0 PWM2 EINT2 00

17:16 P0.8 GPIO P0.8 TxD1 PWM4 保留 00

19:18 P0.9 GPIO P0.9 RxD1 PWM6 EINT3 00

21:20 P0.10 GPIO

P0.10 RTS 捕获1.0 保留 00

23:22 P0.11 GPIO

P0.11 CTS 捕获1.1 保留 00

25:24 P0.12 GPIO

P0.12 DSR 匹配1.0 保留 00

27:26 P0.13 GPIO

P0.13 DTR 匹配1.1 保留 00

29:28 P0.14 GPIO

P0.14 CD EINT1 保留 00

PINSEL0 管脚名称 00 01 10 11 复位值

31:30 P0.15 GPIO

P0.15 RI EINT2 保留 00

表5-2 PINSEL0寄存器控制

其中第一列指的是PINSEL0对应的位,第二列是被控制管脚的名称,第三列是当PINSEL0对应的位取值为”00”时该管脚对应的功能,第四列是当PINSEL0对应的位取值为”01”时对应的功能,第五列是当PINSEL0对应的位 7 取值为”10”时对应的功能,第六列是当PINSEL0对应的位取值为”11”时对应的功能,第七列是该位在复位时候的值。

如管脚P0.9,从表5.2可以查出它的控制位为PINSEL0的第18和19两位,当CPU复位时,该两位是复位值”00”,从表3.2的第三列可以看出,当这两位为”00”时,P0.9连接的是GPIO模块,此时作为GPIO。当我们要把P0.9作为串口输入引脚RxD使用时,从表3.2可以查到,此时需要将PINSEL0的第18和19为设臵”01”,即第十八位为0,第十九位为1,这样设臵后,P0.9管脚即连接到了串口输出模块上,作为RxD引脚使用。

5.3.2 PINSEL1寄存器

PINSEL1寄存器控制的是P0.16-P0.31的管脚连接模块,如表2-3所示。

PINSEL1 管脚名称 00 01 10 11 复位值

1:0 P0.16 GPIO

P0.16 EINT1 匹配0.2 保留 00

3:2 P0.17 GPIO

P0.17 捕获1.2 SCK1 匹配1.2 00

5:4 P0.18 GPIO

P0.18 捕获1.3 MISO1 匹配1.3 00

7:6 P0.19 GPIO

P0.19 匹配1.2 MOSI1 匹配1.3 00

9:8 P0.20 GPIO

P0.20 匹配1.3 SSEL1 EINT3 00

11:10 P0.21 GPIO

P0.21 PWM5 保留 捕获1.3 00

13:12 P0.22 GPIO

P0.22 保留 捕获0.0 匹配0.0 00

15:14 P0.23 GPIO

P0.23 保留 保留 保留 00

PINSEL1 管脚名称 00 01 10 11 复位值

17:16 P0.24 GPIO

P0.24 保留 保留 保留 00

19:18 P0.25 GPIO

P0.25 保留 保留 保留 00

21:20 P0.26 保留 00

23:22 P0.27 GPIO

P0.27 AIN0 捕获0.1 匹配0.1 00

25:24 P0.28 GPIO AIN1 捕获0.2 匹配0.2 00