飞思卡尔9S12XS128单片机教程_第1页
飞思卡尔9S12XS128单片机教程_第2页
飞思卡尔9S12XS128单片机教程_第3页
飞思卡尔9S12XS128单片机教程_第4页
飞思卡尔9S12XS128单片机教程_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、9S12XS128单片机开发工具包清华Freescale MCU/DSP应用开发研究中心9S12XS128单片机开发工具包 1概述39S12XS128 单片机39S12XS128开发工具包组件 39S12XS128开发板及与 PC通信49S12XS128 开发板4开发板的硬件连接 5PC机的设置6监控程序及监控命令详解 8命令详解8复位、中断向量表 12用户可以使用的RAM空间12编译器 CodeWarrior for HCS12 使用方法入门 13建立工程文件13编写 main.c 程序15定义存储空间分配 17应用程序的编译18向开发板下载程序 20运行应用程序21概 述这里描述的是一套

2、9S12XS128系列单片机开发系统套件。以后的更新的版本见清华Freescale单片机应用开发研究中心的网站:www.tsinghua- o开发系统主要由两个部分组成,分别是调试下载用的TBDML和开发用目标板。其中TBDML的使用请参见文档 "BDM for S12 (TTBDM )用户手册 V 34.pdf。” 目标板是有异步串行口的驱动的基本系统。针对9S12XS128芯片我们编写了9S12XS128目标板监控程序,可以方便地完成应用系统的开发。用户可以在此基础上设计 自己所需的目标母板,完成项目的初期开发。应用软件完成后,用开发工具板擦除监控程 序,下载最终的应用程序。9S

3、12XS128单片机S12XS 16位微控制器系列针对一系列成本敏感型汽车车身电子应用进行了优化。S12X产品满足了用户对设计灵活性和平台兼容性的需求,并在一系列汽车电子平台上实 现了可升级性、硬件和软件可重用性、以及兼容性。S12XS系列可以经济而又兼容地扩展至带 XGate协处理器的 S12XE系列单片机,从 而为用户削减了成本,并缩小了封装尺寸。S12XS系列帮助设计者迅速抓住市场机遇,同时还能降低移植成本。主要特性:,最高总线速度 40MHz、128KB和256KB闪存选项,均带有错误校正功能(ECC)带有ECC的、4KB至8KB DataFlash ,用于实现数据或程序存储可配置8-

4、、10-或12-位模数转换器(ADC ),转换时间3 s支持控制区域网(CAN )、本地互联网(LIN )和串行外设接口( SPI)协议模块 带有16-位计数器的、8-通道定时器 出色的EMC,及运行和停止省电模式9S12XS128开发工具包组件9S12XS128开发工具包硬件系统包括以下组件:(1)驻留监控程序的 9S12XS128开发板一块; 带USB接口的TBDML调试器一个,简称 BDM头;(3) BDM 6芯扁带电缆一根;(4) USB电缆一根;(5) RS-232串口通信线一根;220V ACDC + 5V电源一个;(7) CD光盘一张,含 CodeWarrior V4.7,可下载

5、的 S12X监控程序.S19。9S12XS128开发板及与PC通信9S12XS128开发板9S12XS128开发板如图1所示: 图1 PC9S12XS128开发板板上有构成最小系统必要的复位电路、晶体振荡器及时钟电路,串行接口的RS-232驱动电路,+5V电源插座。单片机中已经写入了开发的监控程序。单片机的大部分I/O端口都通过两个64芯的欧式插头引出。 这两个插头在 PCB上的距离为190mil,如图2所示。表1、 表2给出了开发板上 P1与P2插座的引脚定义。用户可以根据图2和表1的定义设计自己 的应用系统,即目标母板,然后将开发板插在目标母板上调试。图2 9S12XS128开发板P1、P

6、2间的距离是 1900mil 1mil=25.4 10-5m。表1开发板上P1插座的引脚定义P1 P2I VCC 2 VCC 1 GND 2 VCC3 NC 4 NC 3 NC 4 NC5 GND 6 GND 5 NC 6 NC7 NC 8 NC 7 NC 8 NC9 NC 10 NC 9 PT3 10 PT2II PM2 12PM1 11 PT1 12 PT013PM0 14PM3 13 PK0 14 PK115 PT4 16 PT5 15 PK2 16 PK317 PT6 18 PT7 17 PP0 18 PP119 PK5 20 PK4 19 PP2 20 PP321 PJ1 22 PJ

7、0 21 PP4 22 PP523 NC 24 PB0 23 PP6 24 PP725 PB1 26 PB2 25 PK7 26 NC27 PB3 28 PB4 27 NC 28 PM429 PB5 30 PB6 29 PM5 30 PJ631 PB7 32 PH7 31 PJ7 32 NC33 PH6 34 PH5 33 PS7 34 PS635 PH4 36 PE7 35 PS5 36 PS437 PE6 38 PE5 37 PS3 38 PS239 PE4/ECLK 40 NC 39 TXD0 40 RXD041 NC 42 NC 41 PM6 42 PM743 NC 44 NC 43

8、NC 44 VRL45 NC 46 NC 45 VRH 46 NC47 NC 48 NC 47 AN15 48 AN0749 PH3 50 PH2 49 AN14 50 AN0651 PH1 52 PH0 51 AN13 52 AN0553 PE3 54 PE2 53 AN12 54 AN0455 PE1 56 PE0 55 AN11 56 AN0357 PA0 58 PA1 57 AN10 58 AN0259 PA2 60 PA3 59 AN09 60 AN0161 PA4 62 PA5 61 AN08 62 AN0063 PA6 64 PA7 63 NC 64 NC开发板的硬件连接对开发板

9、无需任何设置,用一条普通串口线(在开发套件中已经提供)连接开发板的9芯D型插头到 PC的串口 1,即COM1 ,(或串口 2也可以,只要把后面的超级终端 设置成 直接连接到 COM2就可以了)。5V电源连接到串口旁边的电源插口中,这样开发板就连接好了。 PC、开发板、5V电源的连接关系如图 3所示。开发板有自己的电源,同时可以通过板上的欧式插头、插座向用户的应用系统板供电;开发板也可以通过欧式插头、插座供电。但不要同时用两个电源分别向开发板和应用系统板供电!用开发板自带的5V电源供电时,整个系统的供电电流不得超过自带电源的标称供电电流。PC PC+5V电源+5V电源串口线串口线XS128 XS

10、128图3 系统的连接关系注意,在没有熟悉和掌握整个开发环境之前,不要将开发板插到应用系统板上。PC机的设置可以使用PC中自带的超级终端软件实现PC与开发板的通信,虽然 PC自带的超级终端软件比较慢,且很多 PC实际上达不到标称波特率应该达到的速率(即达不到字符间最小间隔1个、1.5个、2个停止位的速率),但使用PC自带的超级终端软件比较方便,不 必寻找专门的通信软件。首先,执行 开始”程序” |附件”屈迅” |超级终端”命令打开超级终端”对话框,如图 4所示。在该对话框中选择超级终端后,得到如图5 所示的窗口。图4 打开超级终端填入名称“9S12XS128或者“9600'; 一般使用

11、波特率作为名称容易区分。选择 确定”按钮,如图5所示。这是给与开发板通信用的通信协议文件命名,以后再次使用超级终端时直接单击选定的文件名或图标即可,不必再次重复下面的设置。图5给通信协议文件命名点击确定,PC会给出图6所示的提示窗口。如果开发板是连接到串口1,就选 直接连接到串口 1”,如果开发板连接到串口3,就选 直接连接到串口 3”。确定后,图 7所示的设置窗口会出现。使用的串行口通信协议:9600波特率,8位传送,无奇偶校验,一个停止位,无流量控制或使用 Xon/Xoff协议,并选择 确定”。图6 设置使用 COM1 或COM3图7 设置串口通信协议接开发板,按开发板的 S1复位键,并在

12、3秒钟内按任意键,表示终端用PC已经链接好,可以看到如图 8所示的内容,这样开发板的调试环境就建立起来了。若3秒内无键入,将自动运行在$C000处的用户程序。应用示范程序起始地址在$4029,向量$4029在用户向量区$EFFE和$EFFF处。用户会看到示范应用程序使小灯移位和闪烁、 监控程序及监控命令详解监控程序代码小于 4KB,放在地址$F000处。它把$FF10的中断向量表移到 EF10处,顺序不变。用户可以使用 $EF10处的中断向量表,此中断向量表和9S12XS128手册上的中断向量表顺序相同,只是从 $FF10移到了 $EF10。监控程序运行起来时,如果串口在 4s内 没有收到数据

13、,就会检查 $EFFE$EFFF(用户复位向量表)是否为FFFF,如果不是,说明Flash 中有用户程序。程序自动跳转到$EFFE$EFFF所指向的用户程序。如果程序运行起来4s内串口接到数据或者$EFFE$EFFF为$FFFF,则进入DEBUG监控程序。进入监控程序后的 超级终端的显示如图 8。命令详解1. H命令H(帮助)命令用来显示各种命令信息。按“H按钮看到如图9所示的内容如图 9所示:图9按复位按键,输入 H命令,得到的用户界面这里“S'指Ctrl键与A键同时按下。AA,AB,AX,AY ,AC,AP :分别为改变 A寄存器、B寄存器、X寄存器、Y寄存器、CC寄存器或者PC寄

14、存器的值。2. D命令D (Display)命令显示一段内存的内容。按下 D键后要填入需要显示的内存的起始地 址和终止地址,然后回车就会显示这一段地址的内容。如图10所示。图10 D命令,显示内存中的内容3. M命令M命令(Memory Modify )用来改变 RAM 内存中的内容。按 M键后填入要改变的 RAM内存地址。然后会显示此 RAM内存地址的内容, 接着用户可以填入希望改成的内容。 如果修改成功,用户可以修改下一个地址的内容;如果修改失败,显示? ”。如果需要停止修改,直接输入回车就可以了。按“人键,回到上一个内存地址,M命令的使用如图11所示。图11 用M命令显示和修改 RAM

15、内存4. L命令下载程序到 Flash中,可识别 S1或S2格式的S19文件。按L键后,开发板上的单片机等待接收来自串行口的数据文件。然后执行传送”段送文本文件”命令,在弹出的对话框中找到要下载的*.s19文件,并按下 打开”按钮,文件就会被下载到Flash中去,如图12所示。注意,文件类型应选所有文件”,下载前可用 E命令擦除原来的程序。图12 用L命令下载应用程序到Flash中6. E命令E命令用来擦除内部 64K寻址空间范围内(0x40000x7FFF )和(0xC0000xEFFF )。监控程序占用的 Flash地址空间为 $F000$FFFF。7. G命令从PC寄存器的地址处,开始运

16、行程序。可以用 Ctrl+P 命令修改PC指针到拟运行程 序的起始地址。8. AA命令AA命令即Ctrl + A用于改变A寄存器的值。使用方法与M命令类似。aB、aX、人丫等命令与aa的使用方法相同。9. R命令R命令显示所有 CPU寄存器的内容。如图 13所示。图13用R命令查看CPU寄存器中的内容10. Q命令 E命令用来擦除整页的 Flash, 64K寻址空间地址为(0x80000xBFFF )。XS128有8 个16K的PPAGE,地址从 F8FF。如图14复位、中断向量表9S12XS128的中断向量表在存储空间的高地址,从复位向量地址$FFFE开始向低地址延伸。中断向量区$FF10$

17、FFFF共可存放 120个中断向量。由于监控程序是$F000$FDFF , 占用3.5KB。为防止在调试过程中反复地擦除、下载程序过程中误将监控程序擦除,对 $F000$FFFF的4KB空间加了写保护。故中断向量表就得移到没有保护的区域。在监控程序中,已经将中断向量表中120个中断向量从$FF10$FFFE移到$EF10$EFFE。监控在下载程序到 FLASH时,对$FF10$FFFE的地址进行了转换,自动将中断向量写到 $EF10$EFFE。用户程序无需更改中断向量地址。用户的复位向量写在$EFFE和$EFFF,但复位后要等 34秒才能运行用户程序。这是因为复位后要先进入监控程序对系统做初

18、始化,然后检查 RS-232接口有没有字符输入,若34秒内没有输入,则进入用户程序。用户可以使用的 RAM空间9S12XS128有12KB 片内RAM ,片内 RAM 的地址空间是 0x10000x3FFF。 RAM 地 址空间中 0x10000x1FFF , RAM 的页寄存器 RPAGE 不用。监控程序自身占用32B RAM,初始化堆栈指针 SP在RAM顶端让出32B ,初始化为$3FD0。原则上$3FD0以下的RAM ,用户都可以自由使用。由于对Flash的擦除和写入期间 Flash是禁止读的,故对Flash下载的L命令和擦除的Q命令、E命令要将执行这些命令的代码复制到RAM中进行,还要

19、留出下载数据缓冲区。以上共占用$3D00以上的768B。但这一部分 RAM只在下载、擦除程序时占用,并不影响 用户程序在监控程序控制下使用。编译器CodeWarrior for HCS12使用方法入门以下以一个简单的例子说明CodeWarrior如何使用。建立工程文件安装好 CodeWarrior后,打开如图 17所示的CodeWarrior窗口;在其中执行 File|New 命令,弹出如图 18所示的New对话框;选择 HC(S)12 New Project Wizard ,并输入工程的 名字,例如 TEST,单击OK按钮,弹出 New Project向导(图19)。在选择芯片型号(图 20

20、)后,在Page5中选择"minimal Startup code (图21),在选择内存模式时选择small模式,其他按默认值一直点击OK直到完成。图17建立工程文件图18 选择 HC(S)12 New Project Wizard,并给工程文件命名图19新工程向导图20选择芯片型号图21 选择Startup code 模式编写main.c程序工程文件生成以后,回到自动生成的文件系统,如图 22所示。这个文件系统中最重要的是main.c文件和 TBDML_linker.prm 文件。main.c是用户需要开发的应用程序,TBDML_linker.prm 文件定义程序的代码区和数据区

21、,与系统硬件有 关。双击main.c文件,在main函数中键入以下代码:void main(void) /* put your own code here */Enableinterrupts;Disableinterrupts;REFDV = 0x07;SYNR = 0xD8;while( CRGFLG_LOCK != 1);CLKSEL_PLLSEL = 0x01;SCI0CR2 = 0x0C;SCI0BD = 0x145;while(SCI0SR1_TC = 0);SCI0DRL = 'A'for(;)while(SCI0SR1_RDRF = 0);SCI0DRL = S

22、CI0DRL; /* wait forever */图22 自动生成的文件系统单击Save按钮,保存源程序,如图23所示。这是一段串口回显的简单程序。图23保存源程序定义存储空间分配双击TBDML_linker.prm文件会看到如图 24所示的代码。图24 文件TBDML_linker.prm定义存储空间分配图24没有显示全部代码,请参考编译器生成的具体prm文件。Prm文件中各个部分的含义如下:RAM是程序的数据区;ROM_C000是0xC0000xFEFF程序的代码区;ROM_XXXX 是分页的 FLASH空间;RAM_XX 是分页的 RAM 空间;EEPROM_XX 是 DFlash 空间;VECTOR 0 _Startup表示把单片机的0xFFFE处的复位向量设为这个程序的入口地址。注意,如果使用监控程序调试,0xF0000xFFFF是受保护的,不能擦写,因为这里是监控程序所在的地方。监控程序会自动将终端向量转移到0xEF100xEFFE应用程序的编译在图25所示对话框中单击 Make按钮,编译应用程序。图25 用Make命令编译应用程序单击Debug按钮(Make按钮右边第 2个按钮,即一个绿色的三角

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论