前言
本书以飞思卡尔16位S12系列微控制器(MCU)为主线,以MC9S12DG128为例,系统地介绍了S12(X)的结构和工作原理,详述了S12内部的各功能模块的结构、原理与使用方法,同时介绍了嵌入式系统的C语言开发方法。
本书采用从理论到实践最后到系统的学习方法,在功能模块介绍中首先讲解模块的原理,然后给出应用实例。最后结合飞思卡尔智能汽车竞赛,给出了每个模块在智能车系统设计中的应用实例,以智能汽车系统为应用背景,贯穿所有模块的开发使用,构成了完整的嵌入式系统的知识介绍。此外,本书还结合μC/OS-Ⅱ介绍了嵌入式实时操作系统的基本知识,并讨论了在S12系列MCU上如何实现μC/OS-Ⅱ的移植和使用。
本书面向工科电气类、计算机类、机电一体化类和仪器仪表类等相关专业的高年级本科生和研究生,同时也适用于从事嵌入式应用开发的工程技术人员。
我们希望通过本书的学习,读者能够掌握嵌入式系统的基本概念,了解飞思卡尔S12系列MCU的原理及应用,学会使用C语言进行嵌入式系统程序设计和嵌入式系统的应用开发。
第1章简要介绍嵌入式系统的基本概念以及嵌入式系统的开发方法。
第2章以飞思卡尔HCS12和HCS12X系列单片机为背景,简要介绍CPU12和CPU12X的结构及特点,使读者初步了解HCS12系列单片机。
第3章详细介绍MC9S12单片机的寻址方式、指令系统和汇编语言程序设计。
第4章介绍C语言在嵌入式系统程序设计中的应用,并简单介绍CodeWarrior集成开发环境的使用方法。
第5章,第7章~第11章分别介绍MC9S12单片机的输入输出端口模块、脉宽调制模块、模/数转换模块、增强型定时器模块、串行通信接口模块、SPI和I2C模块的硬件结构、寄存器功能及应用,并给出各模块在智能车系统中的应用。
第6章介绍MC9S12单片机的中断系统及中断程序设计方法。
第12章介绍嵌入式实时操作系统的基本概念及μC/OS-Ⅱ的内核结构和特点,并讨论μC/OS-Ⅱ在S12单片机上的移植方法。
附录A~附录D列出了S12汇编指令系统汇总表、汇总表说明、指令机器码汇总表及其说明。附录E介绍了作者自主开发的配套实验系统开发平台。
本书是很多人共同努力的成果,全书共分12章。滕勤编写了第3、第9章和第7章部分内容;舒迎飞编写了第12章和部分章节的应用实例;其余章节由张阳和吴晔编写,吴晔负责全书统稿。舒迎飞、龚伟、宋曼等参与了部分程序的调试和验证工作,感谢参与本书内容整理及程序调试的所有学生。
本书的编写得到了飞思卡尔公司的大力支持,衷心感谢飞思卡尔公司的马莉女士和康晓敦先生提供的帮助。本书的出版得到了电子工业出版社的大力支持,在此特别感谢在本书编写和出版过程中不断给予帮助的高买花女士和田宏峰先生。
另外还要感谢合肥工业大学教务处的关心支持,特向张辉教授和李刚等同仁顺致诚挚谢意。
本书配有教学课件和源代码,设有可开设的实验项目,这些资料均可以在华信教育资源网(www.hxedu.com.cn)免费注册后下载。
由于作者水平有限,书中不当之处,敬请读者批评指正。
作者
2009年11月于斛兵塘