嵌入式系统设计实战.王宜怀.曹金华.扫描版.pdf

所需积分/C币:31 2015-11-12 15:16:17 26.17MB PDF

嵌入式底层驱动编写方法 嵌入式S12X讲解
飞思卡尔大学计划用书 嵌入式系统设计实战 基于飞思卡尔S12X微控制器 王宜怀曹金华编著 丝京航空航天头答出版融 内容简介 本书以飞思卡尔半导体公司(原摩托罗拉半导体部)16位S12X系列微控制器中MC9S12XS128为蓝本 阐述嵌入式系统的软件与硬件设计。全书共11章,其中第1章阐述嵌入式系统的知识体系、学习误区与学习 建议。第2章给出XS128硬件最小系统,并简要介绍S12XCPU(CPU12X)。第3章给出第一个样例程序及 Code warrior工程组织,完成第一个S12X工程的入门。第4章给出基于硬件构件的嵌人式系统开发方法。 第5章阐述串行通信接口SCI,并给出第一个带中断的实例。1~5章介绍了学习一个新MCU完整要素(知 识点)的人门。6~12章分别介绍GPIO的应用(键盘、LED及LCD)定时器(含PWM)、串行外设接口SPI、 Flash存储器在线编程、CAN总线、A/D转换及S12XS128其他模块等。附录给出相关资料。 本书涉及的实例源程序辅助资料相关芯片资料及常用软件工具,可在北航出版社下载中心或苏州大 学飞思卡尔嵌入式系统研发中心网站( sumu.suda.edu.cn)下载。 本书可供大学有关专业的高年级学生和研究生用作教材或参考读物,也可供嵌人式系统开发与研究人 员用作参考和进修资料。 图书在版编目(CIP数据 嵌人式系统设计实战:基于飞思卡尔S12X微控制器 /王宜怀,曹金华编著.-北京;北京航空航天大学出 版社,2011.5 ISBN978-7-5124-0423-6 Ⅰ.①嵌…Ⅱ.①王…②曹…Ⅲ.①微型计算机 系统设计Ⅳ.①TP360.21 中国版本图书馆CIP数据核字(2011)第074722号 版权所有,侵权必究。 嵌入式系统设计实战 基于飞思卡尔S12X微控制器 王宜怀曹金华編著 责任编辑董立娟 北京航空航天大学出版社出版发行 北京市海淀区学院路3?号(邮编100191)htp://www.buaapress,com.cn 发行部电话:(010)82317024传真:(010)82328026 读者信箱: mbook@ gmail, com邮购电话:(010)82316936 北京时代华都印刷有限公司印装各地书店经销 开本:787×9601/16印张:27.5字数:616千字 2011年5月第1版2011年5月第1次印刷印数:4000册 ISBN978-7-5124-0423-6定价:49.00元 前言 对钟少就时簧器兴兮动装泰就长紗岩腰慧溶验斜的图引别学斜图滚图斜动动裂肾淹察能示标铃前溶筋动象成龄为 嵌入式计算机系统简称为嵌入式系统,其概念最初源于传统测控系统对计算机的需求。 随着以微处理器(MPU)为内核的微控制器(MCU)制造技术的不断进步,计算机领域在通用 计算机系统与嵌入式计算机系统这两大分支分别得以发展。通用计算机已经在科学计算、事 物管理、通信、日常生活等各个领域产生重要的影响。在后PC时代,嵌入式系统的广阔应用 将是计算机发展的重要特征。一般来说,嵌入式系统的应用范围可以粗略分为两大类:一类是 电子系统的智能化(如工业控制、现代农业、家用电器、汽车电子、测控系统、数据采集、传感网 应用等);另一类是计算机应用的延伸(如手机、电子图书、通信、网络、计算机外围设备等)。不 论如何分类,嵌入式系统的技术基础是不变的,即要完成一个以MCU为核心的嵌入式系统应 用产品设计,需要有硬件、软件及行业领域相关知识。但是,随着嵌入式系统中软件规模日益 增大,对嵌入式底层驱动软件的封装提出了更高的要求,可复用性与可移植性受到特别的关 注,嵌入式软硬件构件化开发方法逐步被业界所重视 本书基本思想 本书以嵌入式硬件构件与底层软件构件设计为主线,按照嵌入式软件工程的要求,以飞思 卡尔半导体公司16位S12X系列微控制器中MC9S12XS128为蓝本阐述嵌入式系统的软件与 硬件设计。教育部支持的高校科技竞赛之一“全国大学生飞思卡尔杯智能汽车竞赛”,从第四 届(2009年)开始,使用S12XS128芯片作为主控制器,一些学校也以此为蓝本进行嵌入式系 统及应用教学,本书的主要目的是配合这两项工作。 我是从1991年开始从事单片机与嵌入式系统科研与教学工作的。1991-199年,使用 MCS-51系列MCU。2000年至现在,一直使用飞思卡尔的MCU。十多年来,陆续以飞思卡 尔的HC8/S08(8位)、S12/S12X(16位)、 ColdFire(32位)、M*Core(32位,该内核转给中国 后称为C兴Core)进行科研开发与教学工作,并以这些MCU为蓝本先后写了一些嵌入式应用 技术入门方面的书,得到了大多数读者的肯定,深受感动。20102011年,苏州大学嵌入式团 队的工作重点是进行 ARM Cortex-M4核 Kinetis系列MCU(K60)新型 Zigbee芯片 MC1323x、DSC芯片MC56F825X等方面的工作,这些工作成果也将会逐步与读者分享。在写 书方面,多年来一直在探索如何能够使读者不误入歧途,如何能够快速人门,如何能够规范编 程,如何能够由浅入深、循序渐进,如何能够使读者打好嵌入式硬件与软件基础。为此从以下 嵌入式系统设计实战——基于飞思卡尔S12X微控制器 几点把握写作 ①把与芯片无关的通用知识分离出来,从涉及底层编程角度对基本原理进行简明扼要的 阐述,分别放入相应章节的前面或网上光盘中。这些知识主要包括通用I/O、串行通信、键盘 编码原理、LED扫描原理、SPI、PWM、USB、r2C、CAN、A/D、D/A、嵌入式以太网等。并在各 书中基本保持不变。这一点是接受了飞思卡尔全球大学计划负责人 Andy Mastronardi先生 的建议,经过几年不断修改完善,可把通用部分斟酌得更好一些,也使得8位、16位、32位的书 风格保持一致。新的芯片出来后,书的修改只要更新与芯片的相关部分。 ②硬件相关的部分,采用了硬件构件思想,制定了一些基本规范,对底层驱动进行构件化 封装,提高了可复用性与可移植性。使程序结构更加清晰,初学者可以“先使用、后理解” ③不论是8位、16位、32位,也不论是哪种芯片,从编程角度把与硬件相关的共性和与硬 件无关的共性分别抽象出来,力求做到,硬件相关部分风格一致硬件无关部分程序一致。这 样便于融会贯通,不再纠结芯片位数、操作系统等问题 关于飞思卡尔微控制器 飞思卡尔半导体是全球最大半导体公司之一,在微控制器领域长期居全球市场领先地位, 以高可靠性获得业界的一致赞誉。该公司的微控制器产品系列齐全,由不同位数(如8位、16 位、32位等)、不同封装形式(如DIP、SOIC、QFP、LQFP、BGA等)、不同温度范围(0~70℃C、 40~85℃、-40~105℃、-40~125℃等)、所含模块不同等构成了庞大的产品系列。飞思卡 尔的S08(8位)、S12/S12X(16位)、 ColdFire(32位)、 ARM COrtex(32位)等系列MCU广泛 应用于汽车电子、消费电子、工业控制、网络和无线市场等嵌人式系统各个领域,为嵌入式系统 各种应用提供了选择与解决方案,使得用户可以各取所需 本书特点 2009年,我编写了《基于32位 Coldfire构建嵌入式系统》,2010年编写了《嵌入式技术基 础与实践(第2版)》。两书中系统阐述和应用了嵌入式构件开发思想,本书秉承这些工作,按 照“通用知识芯片编程结构概要一基本编程方法一底层驱动构件封装一应用方法与举例”的 线条,逐步阐述电子系统智能化嵌入式应用的软件与硬件设计。特点如下 ①把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以 应用为立足点,进行语言简洁逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在 更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来加深对通用知识的理解 ②把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌人式系统设计是一个 软件、硬件协同设计的工程,不能像通用计算机那样,软件、硬件完全分开来看。特别是对电子 系统智能化嵌入式应用来说,没有对硬件的理解就不可能写好嵌入式软件,同样没有对软件的 理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。 ③对底层驱动进行构件化封装。书中对每个模块均给出根据嵌人式软件工程基本原则 2 —前言 并按照构件化封装要求编制底层骃动程序,同时给出详细、规范的注释及对外接口,为实际应 用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间 ④设计合理的测试用例。书中所有源程序均经测试通过,并保留在本书的网上光盘中, 为读者验证与理解带来方便 ⑤网上光盘提供了所有模块完整的底层驱动构件化封装程序、文档与测试用例,同时网 上光盘还包含芯片参考手册、写入器安装与使用方法、工具软件(如开发环境、程序写人与读出 软件、串口调试工具等)、有关硬件原理图及其他技术资料。 ⑥提供硬件评估版、写入调试器,并给出单独进行程序写入与读出的软件工具,方便读者 进行实践与应用 本书主要内容 本书以飞思卡尔半导体16位S12X系列微控制器中MC9s12XS128为蓝本阐述嵌入式系 统的软件与硬件设计。全书共12章,其中第1章阐述嵌入式系统的知识体系、学习误区与学 习建议。第2章给出XS128硬件最小系统,并简要介绍S12XCPU(CPU12X)。第3章给出第 个样例程序及 Code warrior工程组织,完成第一个S12X工程的入门。第4章给出基于硬 件构件的嵌入式系统开发方法。第5章阐述丰行通信接口SCI,并给出第一个带中断的实例 6~12章分别介绍GPIO的应用(键盘、LED及LCD)定时器(含PWM)、A/D转换及串行外 设接口 SPI Flash存储器在线编程、CAN总线、S12XS128其他模块等。本书提供网上光盘, 网上光盘中提供了本书所有实例源程序、辅助资料、相关芯片资料、常用软件工具及智能汽车 竞赛参考资料,可在北航出版社下载中心或苏州大学飞思卡尔嵌入式系统研发中心网站 ( sumu.suda.edu.cn)下载。 致谢 本书除封面署名作者外,还得益于苏州大学计算机科学与技术学院嵌入式应用方向研究 生姚丹丹、李翠霞、朱乐乐、冯上栋、石晶、苏勇等协助书稿整理及程序调试工作,他们卓有成效 的工作使本书更加实用。飞思卡尔半导体公司的 Andy mastronardi先生、马莉女士一直关心 支持苏州大学飞思卡尔嵌入式系统硏发中心的建设,为本书的编写提供了硬件及软件支持,并 提出了许多宝贵建议。飞思卡尔半导体公司的许多技术人员提供了技术支持。北京航空航天 大学出版社为本书的出版付出了大量细致的工作。在此一并表示诚挚的谢意。 鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵意见和建议,以便 再版时改进。有兴趣的读者可以发送邮件到:yihuai@suda.edu.cn,与作者进一步沟通,也 可以发送邮件到:xdhydcd5@sina.com,与本书策划编辑联系 王宜怀 2011年3月于苏州大学 网上光盘资料目录结构 的%可 隙∝效 票 SD-WYH-S12XS126B00KcD〔1.0-2011) 01-整体资料 女0101-开发环境Cde" arriro for s12w5.0 篇0102-(08-S12-C1 dfire bd)泻写入器)安装与使用 0103-仪器用户手册 0104-CPUX及X128参考手册 通0105-SDHS12XS128B00K〔课果件v1.0) 0106-简介前言及目录 三·02分章M源程序 E SD-WYH-S12XS128BOOK-Program(V1.0)-2011 ita ASM *9 Cho3-GPIO (Light)_c sCh05-sC工C t Ea Ch06-KBI-LED-ICD C 却Ch07- timer C 杰ChD8-A-SPTC Ch09-Flash 淄Ch10CAC 轰能解Ch1t-0 ther C 品03PC机源程序 C-C律 SC工_C# 输 Timer-C# G04P机免费工具 aa pcb hanzi USB辅助工具 Us转串囗驱动 编WB转串口驱动CH41SER 05分章阅读材料 遍第01章〔概述)阅读资料 第02章MCJ阅读资料 画第03章第一个程序〕阅读资料 第0章构件开发方法〕阅读资料 第0章(SCT阅读资料 翩第6章(键盘、I与CD)阅读资料 第0章A转换模块阅读资料 第11章其他闻读资料 06-全国大学生飞思卡尔杯智能汽车竞赛参考资料 編0-其他材料 目录 河的容铃装标好没说冲家就算领器队的京容多到多数数家数费的你你绕歌探象除浴省济徽的 第1章概述… 1.1嵌入式系统定义、由来及特点 鲁4鲁鲁●·。◆ 1.1.1嵌入式系统的定义 1.1.2嵌入式系统的由来及其与微控制器的关系 1.1.3嵌人式系统的特点 1.2嵌入式系统的知识体系、学习误区及学习建议 1.2.1嵌人式系统的知识体系 1.2.2嵌入式系统的学习误区 1.2.3基础阶段的学习建议 458 中· 1.3嵌入式系统常用术语 1.3.1与硬件相关的术语 10 1.3.2与通信相关的术语… 1.3.3与功能模块及软件相关的术语 12 1.4嵌入式系统常用的C语言基本语法 ………13 第2章S12X系列MCU硬件最小系统及CPU12X ……26 2.1S12X系列MCU概述及型号标识… 26 2.1.1S12X系列MCU概述 ,。.●。 26 2.1.2S12X系列MCU型号标识…… ●。曾要·D 28 2.2S12X系列MCU的功能及存储器映像 29 2.2.1S12X系列MCU的功能 30 2.2.2S12X系列MCU的存储器映像及特点 2.3XS128的引脚功能及硬件最小系统 36 2.3.1XS128(80引脚QFP封装)的引脚功能 37 2.3.2XS128的硬件最小系统 40 嵌入式系统设计实战——基于飞思卡尔S12X微控制器 2.3.3硬件最小系统的焊接与测试步骤 43 2.4CPU12X的内部寄存器 44 2.5CPU12X的寻址方式 47 2.6CPU12X指令系统概要 甲t。画普·鲁·看普看暴甲“·。垂·鲁鲁·日·能··单●鲁日曲。曲着 51 2.6.1数据传送类指令 53 26.2算术运算类指令 56 2.6.3逻辑运算类与位操作类指令… D·自晶自看·鲁看t。看 D鲁看。着非都鲁曝 60 2.6.4程序控制类指令 63 2.6.5其他类指令……………… ··●●画。 中甲年甲中· 2.7CPU12X汇编语言基础 72 2.7.1S12X汇编源程序格式 ·血·直。面面 鲁与。·看D要D看 72 2.7.2S12Ⅹ汇编语言伪指令…………… 74 第3章第一个样例程序及 Code Warrior工程组织 看q鲁看鲁省曲 77 3.1通用I/O接口基本概念及连接方法 77 3.2XS128的GPIO寄存器与GPIO构件封装 ·鲁身着··■·鲁鲁·自● 3.2.1XS128的GPIO寄存器 …………………79 3.2.2GPIO的简单编程方法 83 3.3 Code warrior开发环境与S08/S12/ ColdFire三合一写入器 84 3.3.1 Code warrior开发环境简介与基木使用方法 85 33.2S08/S12/ ColdFire三合一写入器 86 3.3.3MC9S12XS128硬件评估板 87 CW环境C语言工程文件的组织 中中·辛q要导··普···身鲁·萨pp。p单P·.p}』星者 87 3.4.1工程文件的逻辑组织结构…… 号·鲁D香鲁音自量。 88 3.4.2工程文件的物理组织结构……… 90 3.4.3系统启动及初始化相关文件 91 3.4.4芯片初始化、主程序、中断程序及其他文件… 98 3.4.5机器码文件(s19文件)的简明解释 101 3.4.6lst文件与map文件 103 3.4.7如何在CW环境下新建一个S12工程 ………105 3.5第一个C语言工程:控制小灯闪烁 105 3.5.1GPIO构件设计 看自昏 106 3.5.2 Light构件设计…… ····a· …113 3.5.3 Light测试工程主程序 …115 2

...展开详情
img
chinashixian
  • 分享达人

    成功上传6个资源即可获取

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐