图书前言

本书是讲述单片机开发方法的一本专著,讲的是单片机的在线开发方法,这种方法是我们多年来开发单片机应用的主要方法--它强调的是在线开发和不使用仿真器。这本书也是清华大学研究生精品课"嵌入式实时系统与单片机应用"教材的单片机部分,实时操作系统部分采用《嵌入式实时操作系统 mC/OS-Ⅱ(第2版)》一书。因为最初的 mCOS就是为Motorola的MC68HC11单片机写的,故本书采用和其源码兼容的替代产品--S12系列单片机,来实现 mC/OS-Ⅱ的运行。这本书也是为嵌入式应用开发工程师写的,由于16位单片机比8位机要复杂很多,所以对那些急于开发产品而又不熟悉16位单片机的工程师,采用我们提供的开发工具,尽快把目标系统开发环境搭建起来,边开发、边学习,是多快好省的办法。本教材也可供其他工科院校电类本科生学习使用。

本书第1章简单介绍令人眼花缭乱的各类单片机,目的在于强调单片机应用是个性化的,用户针对不同的应用,一定要选择最合适的单片机。第2章以16位单片机为例,给出在线开发单片机的一般方法;从设计单片机最小硬件系统开始,实现人与单片机通过串行口对话,尽快让单片机"活"起来。第3章和第4章介绍单片机汇编语言和如何写一个简单的监控程序,从而实现单片机的在线调试。第5章讲如何在单片机上建立C语言程序的运行环境,C语言和汇编语言是怎么接口的。第6章讲如何将实时操作系统内核mC/OS-Ⅱ移植到单片机上。第7章介绍如何用自由软件GCC 在PC上交叉编译C程序,生成单片机的应用代码,从学习使用Linux下的GCC 入门,意在指出一条通向IT行业高手之路。第8章讲解商用软件集成开发环境的使用,用的是网上提供的免费教学版本,这一章还介绍了S12单片机的直接在线调试方法,即后台调试法(Background Debug Mode)。第9章简单介绍单片机相关的I/O 模块,给出基本驱动程序。第10章通过一个实例,给出单片机模糊控制原理的入门知识,因为模糊控制指令也是S12单片机特有的,故特别加了这一章。第11章讲述单片机系统硬件设计应注意的电磁兼容问题。

在附录A中,还给出相关开发工具的使用方法,并将自主开发的监控程序源代码在附录B中给出,这个代码已经在开发板上检验、运行过,读者可以直接拿来使用。附录C和附录D是为便于用户开发中查阅的指令表。

更详尽的原文手册和C的交叉编译软件如GCC软件等也都附在光盘上。另外,光盘上还有大量从网上下载的应用范例。本书所附光盘给出的工具与资料如下:

1. 可以从网站上选择到的有关S12单片机的原文资料;

2.?Metrowerks公司提供的CodeWarrior 特殊版本C交叉编译软件和我们的工程范例;

3. 用于S12的自由软件:GNU提供的GCC交叉编译器软件;

4. 可直接下载到目标板上的S19格式的S12单片机监控程序。 

本教材中用到的单片机实验开发环境可以自己做,并全部使用自由软件,也可以全都购买;或买一些、自己做一些。

感谢Motorola 半导体对我校教学与科研的长期支持,特别是提供了S12BDM调试工具的制造技术。感谢我的研究生刘永毅、龚光华在研制MC9S12DP256/DG128开发板、BDM调试工具方面做出的贡献。本书中对μC/OS-Ⅱ的移植是我的研究生邵森龙完成的,目标板设计范例是研究生陈萌萌提供的。另外,他还提供了本书的第7章和第9章。

本书写成时,正逢Motorola半导体部从原公司分离出来成立飞思卡尔(Freescale)独立上市公司,以求更好的发展。无论将来采用何种命名法,单片机技术是继承和发展的。

需求在增长,技术在发展,社会对人才的需求是无止境的,谨求本教材的思路能得到同行们的认可,不当之处请读者指正。关于S12单片机开发工具和今后的发展,请访问我们的网站:www.tsinghua-mot.com。