本帖最后由 reayfei 于 2012-12-28 09:31 编辑
2013年1月第1版
ISBN 9787512409187
定价:45 .00元(含光盘1张)
内容简介
本书共分为3篇,第1篇为硬件篇,介绍HelloM39B9X平台;第2篇为软件篇,介绍开发软件的使用以及下载调试的技巧,并详细介绍了驱动库的使用方法;第3篇为实践篇,通过28个实例带领读者深入学习LM3S9B96微控制器。
本书附带的光盘中包含HelloM39B9X平台的原理图以及所有实例的完整代码,并且都有详细的注释。对于其他型号的微控制器(如LM3S811)只须修改很少部分便可运行,有些外设功能代码甚至不需要改动。
本书条理清楚,实践性强,主要面向CortexM3的初学者,尤其对LM3S9B96微控制器感兴趣的读者。
CortexM3处理器采用ARMv7M架构,包括所有的16位Thumb指令集和基本的32位Thumb2指令集架构。
Thumb2在Thumb指令集架构(ISA)上进行了大量的改进,具有更高的代码密度并提供16/32位指令的更高性能。
德州仪器(TI)拥有170款以上基于ARM CortexM3的Stellaris系列微控制器。
Stellaris系列微控制器具有运行速度高达80 MHz的CortexM3内核、嵌入式闪存、SRAM 和ROM、32通道DMA、低压降稳压器、电池备份低功耗休眠功能、集成掉电复位和上电复位功能、模拟比较器、同步双路ADC功能、GPIO、看门狗和通用计时器(包括适用于安全关键型应用、具有独立时钟的秒表看门狗定时器)、一个16 MHz 软件微调1%精密振荡器以及一个多用途外围设备接口(拥有支持SDRAM、SRAM/闪存、主机总线和M2M的模式)。此系列还集成了多种串行接口,其中包括10/100M以太网、MAC+PHY、CAN、USB OTG、USB 主机/设备、SSI/SPI、UART、I2C和I2S。最后,Stellaris 系列还具有专为密集型工业电机控制(包括运动控制PWM和正交编码器输入)而设计的外设。
为什么选择ARM架构?
嵌入式系统的设计人员能以其当前8位和16位微控制器设计的价格购买到32位ARM内核微控制器,从而获得更高的性能。
为什么选择Cortex-M3?
CortexM3是MCU版本的 ARMv7M指令集架构系列内核,特点如下:
针对单周期闪存的使用进行了优化;
确定的快速中断处理:始终为12个周期,或仅为6个周期(使用末尾连锁);
具有时钟门控的用于实现低功耗的3种休眠模式;
单周期乘法指令和硬件除法;
连动运算;
ARM Thumb2混合16/32位指令集;
1.25 DMIPS/MHz优于ARM7和ARM9;
为微控制器市场提供了ARM7所不具有的额外调试支持(包括数据监视点和闪存修复功能)。
为什么选择德州仪器的Stellaris系列?
Stellaris系列拥有超过170款成员器件供用户选择;
实时 MCU GPIO,所有GPIO都可以产生中断,并且具有5 V容限和可编程驱动强度及转换率控制;
高级通信功能,包括10/100M以太网MAC/PHY和CAN控制器;
硬件和软件中的精密运动控制支持;
模拟比较器和ADC功能提供了用于平衡硬件和软件性能的片上系统选项;
可使用StellarisWare软件的高级API接口轻松进行开发,该接口可与Stellaris外设集相连。
因此,本书选择Stellaris系列微控制器作为本书的实验平台,而LM3S9B96又是Stellaris系列中性能非常出色的微控制器,可以完成以太网、USB、CAN等复杂的实验功能。
全书配有28个例程,每个例程均配有软、硬件设计,并在光盘中附上例程代码(带有详细注释和说明)。28个例程几乎涵盖了LM3S系列单片机的全部内部资源,不论您是初学者,还是经验丰富的工程师,本书都非常适合阅读。书中的每个例程笔者都在开发板上调试通过。本书使用HelloM3-9B9X开发板作为实验平台,对于没有该开发板的读者,也可以使用自己的一套开发板,代码一般都是可以通用的,读者只需把底层驱动稍作修改即可。
最后,衷心感谢北京航空航天大学出版社的大力支持;感谢北京锐鑫同创科技有限公司胡巍、岳彩领、杨毕宣的技术支持及提供开发板;感谢大连奥飞电子有限公司吴学洙、赵崇的技术支持;还要感谢日冲信息有限公司戚喜译的技术支持;也要特别感谢我的爱人给予支持和帮助。
由于时间有限,以及笔者水平所限,难免会有出错的地方,如果大家在阅读过程中发现了错误或者不了解的地方,请大家不吝指教,我的联系方式:reayfei@163.com。在这里向大家表示真心的感谢!
作者
2012.10
目录
第1篇硬件篇
第1章实验平台简介2
1.1HelloM39B9X开发板简介2
1.2HelloM39B9X接口2
1.3HelloM39B9X开发板资源2
第2章LM3S9B96和JTAG接口10
2.1LM3S9B96性能10
2.2LM3S9B96引脚图12
2.3JTAG接口13
第2篇软件篇
第3章Keil RealView MDK16
3.1概述16
3.2新建工程16
3.3基本使用方法20
3.3.1编译快捷按钮20
3.3.2调试快捷按钮21
3.3.3配置快捷按钮21
3.3.4目标工具选项22
3.4Keil RealView MDK 使用技巧24
3.4.1快速定位函数/变量被定义的地方24
3.4.2快速注释与快速消注释25
第4章调试和下载27
4.1工程配置27
4.1.1设置晶振频率27
4.1.2设置硬件仿真28
4.1.3设置软件仿真28
4.2硬件仿真调试30
4.3软件仿真调试30
4.4映像文件下载30
4.5下载软件LM Flash Programmer31
第5章驱动库32
5.1外围程序库32
5.2源代码33
5.3编程模型34
5.4图形驱动库34
5.4.1显示驱动层35
5.4.2基本图形层36
5.4.3控件层36
5.4.4在工程中添加图形库36
5.4.5基本图形绘制36
5.5USB库39
第3篇实践篇
第6章系统时钟配置41
第7章跑马灯实验48
第8章UART实验54
第9章A/D按键实验64
第10章看门狗实验69
第11章基于Timer的蜂鸣器实验76
第12章模拟比较器实验83
第13章低功耗实验90
第14章定时器中断实验96
第15章PWM输出实验101
第16章SysTick实验113
第17章EPI实验117
第18章LCD显示实验126
第19章触摸屏实验131
第20章外部中断实验136
第21章μDMA实验146
第22章Flash改写实验160
第23章ADC实验167
第24章内部温度传感器实验179
第25章I2C实验186
第26章SSI实验198
第27章SD卡实验210
第28章I2S实验224
第29章CAN通信实验230
第30章USB实验244
第31章以太网实验256
第32章μC/OS-II移植267
第33章IQmath实验276
第34章Bootloader实验286
参考文献295
|