[原创] <<ARM嵌入式应用程序架构设计实例精讲---基于LPC1700>>已经出版

zhaojun_xf   2013-6-24 10:15 楼主
经过一年多的努力,本人的第二本书《ARM嵌入式应用程序架构设计实例精讲---基于LPC1700》即将面世,谢谢大家的支持。


2.jpg


                                               目录

第1章LPC1700系列微控制器基础知识
1.1概述1
1.1.1微控制器的性能1
1.1.2系列产品2
1.1.3微控制器的结构3
1.1.4存储系统5
1.2系统控制模块7
1.2.1复位模块8
1.2.2外部中断输入10
1.2.3时钟和功耗控制10
1.2.4存储器加速模块21
1.3嵌套向量中断控制器22
1.3.1NVIC特性23
1.3.2中断源23
1.3.3NVIC的编程24
1.4引脚配置25
1.5编程与调试36
1.5.1开发工具36
1.5.2JTAG/SWD调试37
1.5.3ISP与IAP的应用38

第2章打造自己的硬件系统
2.1硬件系统的搭建41
2.2最小系统的实现41
2.2.1电源电路的设计41
2.2.2复位电路的设计46
2.2.3时钟电路的设计47
2.2.4调试电路的设计48
2.2.5LPC1765核心电路的设计49
2.3输入输出电路的设计51
2.3.1按键输入51
2.3.2红外遥控51
2.3.3显示电路52
2.3.4声光指示57
2.4通信接口60
2.4.1RS232/RS485通信60
2.4.2USB通信63
2.5存储电路64
2.5.1E2PROM存储器64
2.5.2Flash存储器65
2.5.3SD卡接口65
2.6其他电路69
2.6.1ADC与DAC电路69
2.6.2DS18B20电路70
2.7PCB设计72
2.7.1准备工作73
2.7.2PCB设计步骤73

第3章嵌入式程序设计基础
3.1C语言关键字75
3.1.1数据类型76
3.1.2关键字描述78
3.2运算符85
3.2.1运算符描述85
3.2.2运算符应用87
3.3预编译88
3.3.1预编译命令88
3.3.2预编译应用88
3.4嵌入式编程中的命名规则90
3.4.1常量命名90
3.4.2变量命名91
3.4.3函数命名91
3.4.4共性规则92
3.5函数93
3.5.1参数93
3.5.2返回值94
3.5.3函数体的实现精讲95
3.6程序的版式96
3.6.1空格96
3.6.2空行97
3.6.3对齐97
3.6.4代码拆分98
3.6.5代码行99
3.7文件结构100
3.7.1注解说明100
3.7.2定义文件的结构102
3.7.3头文件的结构103
3.7.4目录结构104

第4章基础应用实例精讲
4.1串行通信106
4.1.1串行总线连接106
4.1.2串行初始化108
4.1.3小数波特率的实现110
4.1.4自动波特率的实现116
4.1.5串行数据收发驱动119
4.1.6串行总线的应用121
4.2实时时钟122
4.2.1概述123
4.2.2实时时钟的驱动124
4.2.3实时时钟应用实验129
4.3红外遥控的应用131
4.3.1概述132
4.3.2红外遥控接收实验136
4.4E2PROM存储器的应用137
4.4.1I2C总线接口通信概述137
4.4.2I2C总线驱动的实现142
4.4.3E2PROM存储器驱动147
4.4.4E2PROM存储器读/写实验151
4.5Flash存储器应用152
4.5.1SPI总线概述152
4.5.2SPI总线驱动154
4.5.3Flash存储器的驱动156
4.5.4Flash存储器读/写实验161
4.6SD卡的应用162
4.6.1SD卡驱动162
4.6.2FAT文件系统移值174
4.6.3SD卡读/写实验194
4.7数字温度传感器DS18B20的应用198
4.7.1DS18B20概述198
4.7.2单个DS18B20的驱动202
4.7.3多个DS18B20的驱动208
4.7.4DS18B20应用实验214
4.8LCD的应用216
4.8.1概述216
4.8.2LCD1602的驱动220
4.8.3LCD1602应用实验223
4.9LCM应用224
4.9.1概述224
4.9.2NS12864R的驱动230
4.9.3NS12864R应用实验235
4.10TFT彩屏模块的应用236
4.10.1概述236
4.10.2ILI9320驱动实现241
4.10.3TFT彩屏应用实验245

第5章嵌入式应用程序架构
5.1任务概述248
5.2架构1:顺序执行250
5.2.1特点及架构250
5.2.2新建一个工程模板251
5.2.3任务函数的结构259
5.2.4架构设计点睛259
5.3架构2:时间片轮询260
5.3.1特点及架构260
5.3.2新建一个工程模板264
5.3.3任务优先级265
5.3.4任务函数的结构266
5.3.5架构设计点睛266
5.4架构3:嵌入式实时操作系统266
5.4.1μC/OSII特点及移植267
5.4.2新建一个工程模板274
5.4.3任务函数的格式276
5.4.4中断服务程序设计278
5.4.5数据通信279
5.4.6系统裁减280
5.4.7架构设计点睛284

第6章多功能数字时钟在3种架构下的实观对比
6.1多功能数字时钟功能285
6.2基础代码实现289
6.2.1软定时器的实现289
6.2.2单层菜单的实现292
6.2.3代码和字库下载299
6.2.4下载软件307
6.3多功能数字时钟采用顺序执行法的实现309
6.3.1日历显示310
6.3.2菜单管理311
6.3.3闹铃处理316
6.3.4数据下载317
6.3.5设计点睛319
6.4多功能数字时钟采用时间片轮询法的实现319
6.4.1获取时钟321
6.4.2报警任务321
6.4.3下载任务323
6.4.4显示任务324
6.4.5设计点睛329
6.5多功能数字时钟采用操作系统的实现329
6.5.1启动任务331
6.5.2下载任务332
6.5.3报警任务333
6.5.4显示任务335
6.5.5设计点睛337

第7章多功能数字时钟实例的在线升级
7.1Flash编程基础338
7.2IAP编程基础349
7.2.1IAP应用结构349
7.2.2IAP实现方式350
7.2.3IAP编程实践352
7.3多功能数字时钟的IAP应用358
7.3.1功能实现358
7.3.2APP设置369
7.4编程与仿真373
7.4.1编程373
7.4.2仿真375

参考文献377

[ 本帖最后由 zhaojun_xf 于 2013-7-19 13:42 编辑 ]
我的博客

回复评论 (31)

普通高校“十二五”规划教材


ARM嵌入式应用程序架构设计实例精讲
                                             ——基于LPC1700


                                                                                                    赵俊编著


内 容 简 介

      本书以NXP LPC1700系列ARM CortexM3微控制器为基础,从实践的角度详细介绍了嵌入式应用程序架构开发的相关知识。共分7章,内容包含LPC1700基础知识、打造自己的硬件系统、嵌入式程序设计基础、基础应用实例精讲(红外遥控技术、SD卡、文件系统、E2PROM、Flash、各种液晶模块和DS18B20等)、嵌入式应用程序架构、多功能数字时钟在3种架构下的实现及在线升级的应用等。

      本书配套资料里面包含了所讲内容的全部实例代码以及开发板的PCB图纸,读者可以免费索取。另外,本书虽然是以NXP LPC1700系列微控制器为例来讲解的,但是其中的应用程序架构思想却适应于任何微控制器,只需要更改与微控制器相关的底层驱动库就可以了,上层代码完全不用修改。
本书主要面向的读者是只学习过汇编语言、C语言和单片机技术等几门入门课程却基本没有学习过数据结构、算法分析、程序架构、操作系统等软件课程的“电子类”专业的学生和工程师。

图书在版编目(CIP)数据
51单片机原理及应用:基于Keil C与Proteus/
陈海宴编著.??2版. ??北京:北京航空航天大学出版
社,2013.3
ISBN 9787512410855
Ⅰ.①5…Ⅱ.①陈…Ⅲ.①单片微型计算机—
C语言—程序设计Ⅳ.①TP368.1②TP312
中国版本图书馆CIP数据核字(2013)第042338号
版权所有,侵权必究。
ARM嵌入式应用程序架构设计实例精讲——基于LPC1700
赵俊编著
责任编辑陈旭敖惠珍
*
北京航空航天大学出版社出版发行
北京市海淀区学院路37号(邮编:100191)http://www.buaapress.com.cn
发行部电话:(010)82317024传真:(010)82328026
读者信箱:emsbook@gmail.com邮购电话:(010)82316936
有限公司印装各地书店经销
*
开本:710×1 0001/16印张:字数:千字
2013年6月第1版2013年6月第1版第1次印刷印数:3 000册
ISBN 97875124定价:.00元


若本书有倒页、脱页、缺页等印装质量问题,请与本社发行部联系调换。联系电话:(010)82317024
我的博客
点赞  2013-6-24 10:19
前言

      20世纪90年代,单片机在我国得到迅速普及,电子产品已经逐步走向了智能化。那时的微控制器以8位机为主,由于受到本身的硬件资源限制,所处理的问题也不是很复杂,程序设计方法绝大多数还是“基于裸机”的“顺序执行法”编程,既不使用操作系统也不用考虑其他应用程序架构。进入21世纪后,电子技术进入了“信息时代”,特点是各种电子产品都具有大量的信息通信、系统功能复杂、人机界面丰富、有网络接口等。这类产品的硬件系统集成度非常高,大多采用32位CPU,存储器资源充足,具备了操作系统或其他程序架构需要的运行条件。

      在众多的32位微控制器中,ARM公司推出的各种ARM内核芯片异军突起,在市场上占据了不少席位,经过多年的技术发展和市场推广,几乎成为32位微控制器的代名词。相对8位机来说,ARM芯片的功能复杂、寄存器繁多,为了把编程人员从繁琐的底层驱动中解放出来,各芯片厂家在推出自己的芯片的同时都提供了底层驱动库,让编程人员不再去理会那些容易出错、技术价值不高的底层驱动,有更多的时间去实现产品的软件功能和程序架构。

本书由来

      电子产品设计的技术人员几乎都是“电子类”专业出身的,其硬件功底不容置疑,但所学软件课程非常有限,大多只学习过汇编语言、C语言和单片机技术等几门入门课程,基本没有学习过数据结构、算法分析、程序架构、操作系统等软件课程,大多数工程技术人员都是一边工作一边自学来提高自己。笔者也是电子类专业毕业,多年从事电子产品的软、硬件开发,对从事此类工作的技术人员的处境深有体会,萌生了把自己多年摸索出来的编程经验和对程序架构的认识汇总的想法,所以,经过近一年的努力,此书应运而生。

本书内容

      本书以NXP LPC1700系列ARM CortexM3微控制器为基础,从实践的角度详细介绍了嵌入式应用程序架构开发的相关知识,共分7章。
第1章介绍LPC1700系列微控制器的基础知识,包括微控制器的架构和特性、系统控制模块、中断控制器、引脚配置和编程调试接口等,为后面的应用起到基石的作用。
第2章讲述怎样打造一个属于自己的硬件系统,涉及常用的多种技术,如红外遥控、串口和USB通信、E2PROM/Flash/SD卡存储器、数字温度传感器和各种显示模块(LCD、LCM和TFT)等。

      第3章介绍嵌入式程序设计基础知识,从实际应用角度介绍了包括C程序设计基础知识、编程风格、编程约束和工程文件管理等在内的编程技巧。

      第4章介绍基础应用实例精讲,包括串行通信、实时时钟、红外遥控的应用、E2PROM存储器的应用、Flash存储器的应用、SD卡和文件系统的应用、数字温度计以及各种显示模块(LCD、LCM和TFT等)的应用。每一个应用都提供了实验例程,并进行了详细的注释。通过这些例程读者可以初步掌握LPC1700处理器的片上资源的应用,为下一步综合应用开发提供必备的基础知识。

      第5章介绍嵌入式应用程序架构,分别讲述了“顺序执行法”、“时间片轮询法”和“嵌入式实时操作系统”的基础知识和各自的特点。带领读者构建自己的工程模板,从应用程序架构中解放出来,不再为各种架构的设计而烦恼,可以根据实际应用的需要选择不同的架构工程模板来开发各种嵌入式产品。

     第6章介绍3种架构应用实例,本章以“多功能数字时钟”为实例,分别采用第5章介绍的应用程序架构实现同样的数字时钟功能,让读者从之前的感性认识变为理性认识,从实例中去体会各种架构的特点以及优缺点。

      第7章介绍多功能数字时钟实例的在线升级。在线升级作为电子技术的新兴产物,已经成为各种电子产品必备的功能之一。没有在线升级功能的产品就没有生命气息,不能自我完善与修复。为此,本章介绍了各种在线升级的模式,并提供源代码和实例,为第6章设计的“多功能数字时钟”提供了二次生命技术。
另外,本书虽然是以NXP LPC1700系列微控制器为例来讲解的,但是其中的应用程序架构思想却适应于任何微控制器,移值时只须更改底层驱动库就可以了,上层代码完全不需要修改。需要特别说明的是,本书并没有采用NXP提供的LPC1700驱动库,而是笔者自己根据需要编写的一套底层驱动库,通过这套驱动库,读者可以学习一些关于底层驱动程序的编程方法,提高编程技术。当然,读者也可以使用LP1700的驱动库来实现。

读者对象
      本书主要面向的读者是有过嵌入式应用程序编程经验的电子设计人员,需要有一定的电子技术、C语言、原理图和PCB设计和一些计算机基础知识,尤其适合没有学习过数据结构、算法分析、程序架构、操作系统等软件课程“电子类”专业的学生和工程师参考。

配套资料

本书配套资料里面包含了所讲内容的全部实例代码,读者可以向作者免费索取。
联系方式:“电子工程世界”的NXP LPC1000专区发帖给笔者zhaojun_xf留言;
邮箱:zhaojun_xf@163.com

致谢

      在此感谢北京航空航天大学出版社对出版本书的关心与支持;感谢“电子工程世界”论坛的管理员汤宏琳和网友们的大力支持和宝贵建议;感谢齐岳、唐虎、李四强、胡运芳、曾军、刘鹏、林薇薇、代堂艳、王峰、赵建兵、石梅、施元元、杨春华为本书提出了不少宝贵的修改建议;感谢妻子邹玲玲和女儿赵雨桐,写书的过程中少了许多陪伴她们的时间,谢谢她们的鼓励、支持、理解和爱。最后要感谢购买本书的读者——您。

由于书中涉及的知识领域广泛,而电子技术日新月异,加之笔者知识局限和时间仓促,错误和遗漏在所难免。敬请各位读者和同行批评指正!如您有任何问题,也可以及时和笔者沟通。

                                                                                                                                              赵俊
                                                                                                                                                      2013年02月

[ 本帖最后由 zhaojun_xf 于 2013-7-20 13:55 编辑 ]
我的博客
点赞  2013-6-24 10:20
哇  楼主真强悍啊  呵呵

签名的图书封面也要换成新的了
加油!在电子行业默默贡献自己的力量!:)
点赞  2013-6-24 11:19

回复 4楼 soso 的帖子

封面还没设计,应该会以全新的面貌出现。
我的博客
点赞  2013-6-24 11:52
很不错,顶楼主!:carnation:
点赞  2013-6-24 12:52

回复 6楼 zqjqq88 的帖子

感谢。。。
我的博客
点赞  2013-6-24 13:25
引用: 原帖由 zhaojun_xf 于 2013-6-24 11:52 发表
封面还没设计,应该会以全新的面貌出现。
啥时出版啊
加油!在电子行业默默贡献自己的力量!:)
点赞  2013-6-24 13:46

回复 8楼soso 的帖子

7月份。。。
我的博客
点赞  2013-6-24 17:15
出书赚钱不?
点赞  2013-6-24 17:19

回复 楼主zhaojun_xf 的帖子

又出书了?赞赞赞!!:carnation: :carnation: :carnation: :carnation:
点赞  2013-6-24 17:20
引用: 原帖由 zhaojun_xf 于 2013-6-24 17:15 发表
7月份。。。
很快了 ~~~
加油!在电子行业默默贡献自己的力量!:)
点赞  2013-6-24 17:43

回复 10楼qinkaiabc 的帖子

你可以写一本试试就知道了。
我的博客
点赞  2013-6-25 06:21

回复 13楼zhaojun_xf 的帖子

点赞  2013-6-25 23:28

回复 15楼wangwenbinbb 的帖子

谢谢支持。。。
我的博客
点赞  2013-7-1 06:45
自己定一下。。。
我的博客
点赞  2013-7-4 06:56
好家伙,谢谢分享!
点赞  2013-7-10 20:44

回复 楼主zhaojun_xf 的帖子

有木电子书?
点赞  2013-7-10 21:59

回复 19楼dirty 的帖子

没有。
我的博客
点赞  2013-7-11 06:55

好久没有来,一来就看到版主好消息

到时候卖我几本啊,
www.weboch.com.cn NXP MCU RFID Logic automotive  IC & solution
点赞  2013-7-15 16:20
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复