智能车控制实验指导书

上传人:zw****58 文档编号:47030517 上传时间:2018-06-29 格式:PDF 页数:43 大小:1.94MB
返回 下载 相关 举报
智能车控制实验指导书_第1页
第1页 / 共43页
智能车控制实验指导书_第2页
第2页 / 共43页
智能车控制实验指导书_第3页
第3页 / 共43页
智能车控制实验指导书_第4页
第4页 / 共43页
智能车控制实验指导书_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《智能车控制实验指导书》由会员分享,可在线阅读,更多相关《智能车控制实验指导书(43页珍藏版)》请在金锄头文库上搜索。

1、智能车控制算法 实验指导书 第一章第一章 学写学写 Freescale 单片机程序单片机程序 1. 实验目的实验目的 1) 了解 MC9S12 系列单片机的特点、硬件资源及其内部结构。 2) 掌握在 CodeWarrior IDE下用 C 语言编写程序的步骤, 并下载到开发板上运行。 3) 掌握 MC9S12 系列单片机的普通 IO 口(GPIO)寄存器的设置方法。 2. MC9S12 系列单片机简介系列单片机简介 MC9S12系列单片机 (也称为HCS12系列, 简称S12系列) 是基于速度更快的CPU12 内核的单片机系列。目前该系列单片机有 MC9S12A、B、C、D、E、G、H、K、Q

2、、R、 T 等系列。 实验中使用到的单片机型号为 MC9S12DT256,该单片机的特征如下: ? 片内存储器有 256KB 的 Flash、12KB 的 RAM、4KB 的 EEPROM。 ? 有可复用的地址数据总线, 可以工作在单片方式, 也可通过总线扩展存储空间和增 加 I/O 接口电路,工作在扩展方式。 ? 拥有两组 8 路 10 位精度的 A/D 转换器。 ? 拥有一组 8 通道的输入捕捉或输出捕捉的增强型捕捉定时器(ECT) 。 ? 脉宽调制模块(PWM)可设置成 8 路 8 位或者 4 路 16 位,逻辑时钟选择频率宽。 ? 串行接口包括:两个异步串行通信接口模块(SCI) 、一

3、个 I2C 总线接口、三个同 步串行外设接口(SPI) 。 ? 2 个具有位输入信号沿产生中断、唤醒 CPU 功能的 8 位并行口,即 16 个位输入中 断通道,这 16 位也可设置为输出。 ? 内部具有 3 个控制器局域网(CAN)模块。 ? . MC9S12DT256 的主要结构框图如图 1-1 所示: 图 1-1 MC9S12DT256 单片机的结构框图 MC9S12D 系列单片机一般有 2 种封装形式,112 脚表面贴片封装(LQFP)和 80 脚表面贴片封装(QFP) ,两种封装的芯片区别是:80 引脚封装的单片机没有引出用语 扩展的 3 个口,且只引出了一个 8 路 A/D 口。2

4、 中封装的引脚图如图 1-2 和图 1-3 所 示。 本次实验的实验板使用的是 80 引脚贴片的封装方式。 HCS12 CPU 256KB Flash 12KB RAM 4KB EEPROM 8 路 16 位 ECT 2 个 8 路 10 位 ADC 2 个 SCI 口 3 个 SPI 口 I2C 3 个 CAN 总线接口 图 1-2 112 引脚封装的 MC9S12D 系列单片机引脚图 图 1-3 80 引脚封装的 MC9S12D 系列单片机引脚图 3. MC9S12DT256 单片机最小系统单片机最小系统 虽然单片机将 CPU、ROM、RAM 和 I/O 统统集成在一个集成电路芯片中,但仍

5、需 要一些外部电路的支持,这些外围电路主要为单片机系统提供电影、时钟、I/O 驱动等, 我们实验中用到的 MC9S12DT256 的最小系统如图 1-4 所示。 图 1-4 MC9S12DT256 单片机最小系统板 我们实验所用的单片机最小系统板上有构成最小系统需要的复位电路、 晶体振荡器 及时钟电路,+5V 电源插座,除此之外还有实验要用到的串行接口的 RS-232 驱动电路 等等。 熟悉硬件电路的连接是后面学习写单片机程序的基础, 下面首先简单介绍这个实验 板的硬件组成(仅介绍需要实验中可能使用到的模块,其他见说明书) : 实验板上共跳线三组跳线三组: PWR_SEL:供电方式的选择。可以

6、选择由通过电源插口直接供电,也可以选择外 部电源通过 J1 中电源引脚为其供电。选择的方式如下: 注意:不能同时通过 J1 和 PWR 为单片机供电。本次实验不提供电源线,因此可 以选择第二种方式供电,当然此时将两个跳帽都插上也没有问题。 COM_EN:串口发送/接收。实验中既要使用到发送,也要使用到接收,因此都需 连接上。 USER:选择将 SW1、SW2、SW3-1SW3-4、LED1LED4、RV1、RZ1 是否连接 到单片机的引脚上。后面实验如无特殊说明,均连接上。 三个按键三个按键: RESET:单片机复位按键。 SW1、SW2:如果跳线 USER 中 SW1、SW2 用跳帽连上,按

7、下时会产生低电平送到单片机的相应引脚,如表 1-1 所示。 表 1-1 跳线 USER 连接单片机引脚和外设对应关系表 USER 跳线说明 单片机引脚 设备 SW1 PP0/KWP0/PWM0/MISO1 Push Button Switch SW2 PP1/KWP1/PWM1/MOSI1 Push Button Switch SW3-1 PB0/ADDR0/DATA0 4-pos DIP Switch SW3-2 PB1/ADDR1/DATA1 4-pos DIP Switch SW3-3 PB2ADDR2/DATA2 4-pos DIP Switch SW3-4 PB3/ADDR3/DAT

8、A3 4-pos DIP Switch LED1 PB4/ADDR4/DATA4 Green LED LED2 PB5/ADDR5/DATA5 Green LED LED3 PB6/ADDR6/DATA6 Green LED LED4 LED4 PB7/ADDR7/DATA7 Green LED RV1 PAD05/AN05 Potentiometer RZ1 PAD04/AN04 Light Sensor 五个五个 LED 灯灯: VDD:电源指示灯 LED1LED4:如果跳线 USER 中 LED1LED4 用跳帽连上,单片机相应引脚信号 (见表 1-1)会输到 LED 上。 四个拨码开关

9、四个拨码开关: SW3:如果跳线 USER 中 SW3-1SW3-4 用跳帽连上,拨码开关拨动产生的信号将 会送到单片机的相应引脚(见表 1-1) 。 电位器电位器: RV1:可以通过调节电阻来调节输出的电压,若跳线 USER 中 RV1 用跳帽连上, 输出的电压信号将会送到单片机的相应引脚(见表 1-1) 。 光电传感器光电传感器: RZ1:随外界光线的强弱输出的电压会有所不同,若跳线 USER 中 RZ1 用跳帽连 上,输出的电压信号将会送到单片机的相应引脚(见表 1-1) 。 RS232 串口串口 60 插针的插排:插针的插排: 从单片机引出 58 个 I/O 引脚以及电源、地。 (引脚

10、定义如图或者参考电路图) 3. 实验板的硬件连接实验板的硬件连接 最小系统板设计的外围电路较为简单, 无法完成复杂的实验, 因此需要连接到大实 验板上,大实验板电路较为复杂,后面实验用到的时候再进行介绍相关的模块。连接方 式如下: PC 大实验板 小 实 验 板 4. 编写、编译、下载单片机程序的步骤编写、编译、下载单片机程序的步骤 下面将会通过示例程序展示怎样在 CodeWarrior IDE 下编写、编译、下载单片机程 序: (1)建立工程文件 在桌面上双击 CodeWarrior IDE 图标, 选择 File New Project. , 如图 1-5 所示。 图 1-5 建立工程文件

11、 选择芯片,HCS12 HCS12 Family HCS12DT256 ;以及连接方式,选择 P 时后面忘记加“;” ,编译时会提示以下错误: 图 1-10 编译器提示语法错误 双击上面“Error”的信息,将会在编辑器中定位到出错的行。 如未报错,就可以将程序下载到实验板中观察现象了。 (4)向实验板中下载程序 点击工具栏中“Debug”按钮(如图 1-9 中 Make 右边第二个) ,出现图 1-11,按照 默认的连接方式(如和图中不同,检查驱动或者与实验指导老师联系) ,单击下面 “Connect” 。 图 1-11 下载程序的设置 出现一个警告对话框,如图 1-12 所示,点击 OK,

12、若勾选上下面的 checkbox,下 次下载将不会出现此对话框。 图 1-12 下载警告对话框 下载完成后,如图 1-13 所示。在此可以进行在线调试(不要求掌握) 。 图 1-13 下载完毕对话框 此时,按下小实验板上的复位按键,即可观察到流水灯的实验现象。 6. 单片机单片机 IO 编程编程 首先介绍单片机编程的大致过程。由于各类单片机采用的都是模块化的设计方式, 每一款单片机是由许多标准的模块组成,所以,单片机用于实际的应用工作中,必须了 解各个模块的工作方式。 掌握各 I/O 模块的使用方法的过程是学习单片机开发方法的过 程,各 I/O 模块千差万别,开发方法却大同小异,其过程大致如下

13、: (1)仔细阅读原文手册,了解该 I/O 模块都有哪些寄存器,以及各位含义; (2)对各寄存器初始化; (3)使用最简单的方式,实现该 I/O 模块最基本的功能; (4)了解该模块的中断机制,需要时,实现更多的功能。 本实验课程,也主要是围绕上面的主线展开,对单片机的主要模块安排了实验,包 括基本 I/O 操作、PWM、ECT、SCI、AD 等模块。本实验课程的组织形式为:首先对 每个模块功能进行简单的介绍, 再对其中主要的寄存器的含义进行说明, 然后用一个简单的示例程序展示寄存器设置方法, 将实验程序下载到实验板之后可以直观看到其模块 的功能, 最后将会介绍该模块在智能车比赛中的应用。 但

14、考虑大家多达数之前没有单片 机编程的经验, 本指导书将会尽量多介绍一些寄存器的设置方法, 但更多的寄存器还需 要阅读芯片原文资料, 因此每个模块实验的最后会让你参考的文档, 重点注意文档中黄 色标记的部分。要想学好单片机编程,首先要学会阅读芯片手册,其次要亲自写程序下 载到实验板中观察现象,独立思考,因此每次实验之后,会有一些思考题供大家参考。 MC9S12DT256 内部有非常丰富的 I/O 资源,同时也集成了多种功能模块。因此, 这些 I/O 引脚大都为复用引脚。 MC9S12DT256 的 I/O 引脚包括: PORTA(07) PORTB(07) PORTE(07) PORTK(07)

15、 PORTH(07) GPIO PORTJ(0、1、6、7) CAN/IIC/GPIO PORTM(07) CAN/BDLC/GPIO PORTS(07) SCI/SPI/GPIO PORTP(07) PWM/SPI/GPIO PORTT(07) ECT/GPIO 上面按照各个功能模块的优先权从高到低列出了引脚的使用方式。 所谓优先权是指 在用户同时设定了某些功能后,优先权高的功能模块占用该引脚。比如,对于 PORTS 如果同时允许了 SCI 和 SPI 的功能,则 PORTS 被 SCI 占用,当上述两种功能模块都没 有被允许时,PORTS 才能用作通用 I/O(GPIO) 。 同时可以参考

16、 S12DT256PIMV3.pdf 第 12 页的“PIM_9DT256 Block Diagram” ,示 意了通用 I/O 引脚与各个功能模块的复用关系。 下面重点介绍通用 I/O 口的设置方式: 通用 I/O 口一般可以设置输入输出、驱动能力缩减、内部上拉/下拉电阻、中断输 入等功能。本次实验只需掌握输入输出的设置。 通过对 IO 口寄存器的控制,可以让它作为输出管脚或者是输入管脚。作为输出管 脚时,可以输出高电平(5V)或者是低电平(0V) ,这个通过给数据寄存器赋值实现。 作为输入脚时,可以检测到外部电平变化,输入的值存在数据寄存器中。 在芯片手册中我们可以看到,对 IO 口的操作主要由两个寄存器实现,一个是数据 方向寄存器 DDRx(x 代表 A、B、C) ,一个是数据寄存器 PORTx。 (参考 S12DT256MEBIV3.pdf) 数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号