嵌入式实训指导书
- 格式: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