新書推薦:
《
心智的构建:大脑如何创造我们的精神世界
》
售價:HK$
79.4
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
79.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:HK$
74.8
《
偿还:债务与财富的阴暗面
》
售價:HK$
78.2
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:HK$
92.0
《
封建社会农民战争问题导论(光启文库)
》
售價:HK$
66.7
|
內容簡介: |
本书是一本从实际应用出发,同时兼顾原理性内容的微机原理及应用课程教材。本书用基于ARM内核的STM32
CPU代替了传统的8086
CPU,并按照基础知识、基本原理和应用案例的结构重新构建了课程的三部分内容:微型计算机体系结构原理、汇编C语言编程和接口应用技术。全新的教学内容与原有课程体系完全融合在一起,满足了课程的原理性与应用性的要求。
本书内容丰富,案例真实完整,主要采用C语言库函数实现,反映了现代微机技术发展的新水平和趋势,做到学以致用。本书内容包括微型计算机基础,Cortex-M3基础,Cortex-M3的指令系统与汇编程序设计,接口技术,中断技术,定时器与计数器,DA与AD转换技术,串行通信技术,存储器及其扩展,嵌入式接口技术。
本书可作为高等学校电气信息类专业本科生及非计算机专业研究生微机原理及应用或微机原理与接口技术课程的教材,还可以作为计算机及相关专业大专和各类嵌入式培训班的教材或参考书,对工程技术人员也有一定的指导意义和参考价值。
|
目錄:
|
第1章 微型计算机基础 1
1.1 计算机中的数制与编码 1
1.1.1 数制及其转换 1
1.1.2 计算机中数的表示与运算 4
1.1.3 BCD码和ASCII码 10
1.2 微型计算机概述 12
1.2.1 微型计算机基本概念 12
1.2.2 微型计算机系统组成 16
1.2.3 微型计算机的工作过程 18
1.3 嵌入式系统概述 19
1.3.1 嵌入式系统的诞生与发展历程 19
1.3.2 ARM处理器的体系 20
1.3.3 STM32系列处理器介绍 22
习题1 26
第2章 Cortex-M3基础 27
2.1 8位微处理器的功能结构 27
2.2 CM3处理器简介 30
2.2.1 CM3处理器的结构 30
2.2.2 CM3处理器的特点 32
2.3 CM3的寄存器组 34
2.3.1 通用寄存器 35
2.3.2 连接寄存器R14 35
2.3.3 程序计数器R15 35
2.3.4 特殊功能寄存器 35
2.4 操作模式和特权级别 38
2.5 堆栈与堆栈指针 39
2.5.1 堆栈的基本概念 39
2.5.2 CM3的堆栈指针 40
2.5.3 CM3堆栈的实现与应用 40
2.6 复位序列 42
2.7 CM3的存储器系统 43
2.7.1 大于8位的数据的存储 43
2.7.2 CM3存储器映射 45
2.7.3 位带操作 49
习题2 53
第3章 Cortex-M3的指令系统与汇编程序设计 54
3.1 CM3指令的结构 54
3.1.1 Thumb-2指令集 54
3.1.2 CM3指令的格式 55
3.1.3 CM3指令的后缀 56
3.2 CM3指令的寻址方式 57
3.2.1 立即操作数的寻址 58
3.2.2 寄存器操作数的寻址 59
3.2.3 存储器操作数的寻址 60
3.3 CM3指令集 62
3.3.1 存储器访问指令 62
3.3.2 数据处理运算指令 66
3.3.3 分支转移指令 70
3.3.4 其他指令 72
3.3.5 伪指令 73
3.4 ARM汇编程序设计基础 74
3.4.1 ARM汇编指示命令 74
3.4.2 ARM汇编语句格式 81
3.4.3 ARM汇编语言格式 85
3.4.4 ARM汇编语言基本结构程序设计方法 86
习题3 95
第4章 接口技术 97
4.1 IO接口概述 97
4.1.1 IO接口电路的作用 97
4.1.2 接口和端口 98
4.1.3 IO端口的编址 99
4.2 CPU与外设之间的数据传送方式 100
4.2.1 无条件传送 100
4.2.2 查询式传送 101
4.2.3 中断传送方式 102
4.2.4 DMA传送方式 103
4.2.5 几种传送方式的比较 103
4.3 并行接口基本电路 104
4.3.1 缓冲与锁存电路 104
4.3.2 上拉与下拉输入电路 104
4.3.3 OCOD输出电路 105
4.3.4 推挽输出电路 105
4.4 STM32的GPIO 106
4.4.1 GPIO的端口电路 106
4.4.2 GPIO的工作方式与寄存器配置 107
4.4.3 GPIO引脚的复用与重映射 110
4.5 GPIO的应用 111
4.5.1 功能要求与硬件设计 111
4.5.2 基于汇编的GPIO应用 112
4.5.3 基于C寄存器操作的GPIO应用 116
4.5.4 基于C库函数的GPIO应用 120
习题4 123
第5章 中断技术 124
5.1 中断系统概述 124
5.2 中断源及其管理 125
5.2.1 中断源的分类 125
5.2.2 STM32的中断源 126
5.2.3 STM32中断源的输入管理 127
5.3 中断优先级 129
5.3.1 中断优先级的排队方法 129
5.3.2 CM3中断源的优先级划分 131
5.3.3 优先级分组 132
5.3.4 PRIMASK、FAULTMASK和BASEPRI寄存器 134
5.4 中断服务程序与中断向量表 134
5.4.1 中断服务程序 134
5.4.2 中断向量 135
5.5 中断的处理过程 137
5.6 中断延迟及其改善 140
5.6.1 咬尾中断 141
5.6.2 晚到异常 141
5.7 STM32中断应用 142
习题5 145
第6章 定时器与计数器 147
6.1 STM32的时钟系统 147
6.1.1 32位处理器时钟系统 147
6.1.2 STM32处理器时钟系统框图 148
6.1.3 STM32时钟源 150
6.1.4 SYSCLK时钟源切换 151
6.1.5 时钟安全系统CSS 151
6.1.6 时钟输出 152
6.1.7 STM32时钟初始化 152
6.2 定时器 153
6.2.1 定延时基本方法 153
6.2.2 定时器的一般工作原理 153
6.2.3 STM32定时器概述 155
6.3 STM32的通用定时器 156
6.3.1 STM32定时器工作原理分析 158
6.3.2 时基 160
6.3.3 输出比较模式 164
6.3.4 PWM输出 168
6.3.5 输入捕获 172
6.3.6 单脉冲输出One Pulse Mode,OPM 175
6.3.7 综合应用 176
习题6 181
第7章 DA与AD转换技术 183
7.1 DA转换基础 184
7.1.1 转换原理 184
7.1.2 DA转换器的主要性能指标 186
7.2 STM32的DAC 187
7.2.1 STM32 DAC功能简介 187
7.2.2 STM32 DAC的工作模式 188
7.2.3 STM32 DAC的转换 191
7.2.4 STM32 DAC的应用 192
7.3 AD转换基础 198
7.3.1 AD转换原理 198
7.3.2 AD转换器分类 199
7.3.3 AD转换性能指标 203
7.3.4 多通道数据采集 204
7.4 STM32的ADC 205
7.4.1 STM32 ADC功能简介 206
7.4.2 STM32 ADC的工作模式 207
7.4.3 STM32 ADC的转换 211
7.4.4 STM32片内温度传感器 213
7.4.5 STM32 ADC的应用 215
习题7 219
第8章 串行通信技术 220
8.1 通信技术基础 220
8.1.1 概述 220
8.1.2 异步通信与同步通信 222
8.1.3 通信数据校验 225
8.1.4 数据的表示 227
8.2 STM32的异步串行通信 231
8.2.1 STM32 USART功能简介 231
8.2.2 USART工作过程分析 232
8.3 STM32的串口通信应用 235
习题8 240
第9章 存储器及其扩展 241
9.1 存储器概述 214
9.2 存储器系统的层次结构 242
9.2.1 存储器系统的层次结构概述 242
9.2.2 Cache 243
9.2.3 虚拟内存 245
9.3 半导体存储器 246
9.3.1 半导体存储器的分类 246
9.3.2 半导体存储芯片的一般结构 247
9.3.3 静态RAM 248
9.3.4 动态RAM 249
9.3.5 ROM 251
9.3.6 Flash 254
9.4 存储芯片的主要技术指标 256
9.5 存储器的扩展 257
9.5.1 存储器扩展时的问题 257
9.5.2 存储容量的位扩展 258
9.5.3 存储容量的字扩展 259
9.5.4 32位数据总线的存储器接口设计 263
9.6 FSMC扩展存储器接口 267
9.6.1 FSMC简介 267
9.6.2 FSMC扩展存储器 269
习题9 276
第10章 嵌入式接口技术 279
10.1 扩展技术概述 279
10.1.1 扩展的任务与要求 279
10.1.2 扩展的基本方法 280
10.2 IO模拟时序接口扩展 282
10.2.1 1602内部的存储器 282
10.2.2 1602的引脚与时序 283
10.2.3 STM32扩展1602 284
10.3 SPI总线 288
10.3.1 SPI总线简介 288
10.3.2 SPI从机选择 289
10.3.3 SPI时钟的相位和极性 290
10.3.4 STM32的SPI 291
10.3.5 SPI在记录智能仪表历史数据中的应用 295
10.4 I2C总线 302
10.4.1 I2C总线简介 302
10.4.2 I2C的信号 304
10.4.3 I2C总线工作过程 305
10.4.4 I2C总线的时钟同步与仲裁 306
10.4.5 STM32的I2C 308
10.4.6 I2C在保存智能仪表运行参数中的应用 311
习题10 315
参考文献 317
|
內容試閱:
|
多年来,高等学校电气信息类专业的微机原理及应用或微机原理与接口技术课程由于采用Intel 80868088 CPU及其外围芯片作为主要教学内容而始终受到业界的诟病,有人质问8255、 8279现在还买得到吗? 为什么学生还要学习那些早已淘汰的器件? ,实际上许多一线教师在上课时,也会遇到学生问老师,这门课学了有什么用? , 我们应该如何回答这些问题呢? 是不是回答他们 学生需要打下一个良好的基础,学习8086还是有用的,能学到许多的基础知识和基本概念,或者是学生的基础还不具备,只能先学习8086,之后才能进一步深入。随着时间的推移,这样的回答显得越来越苍白无力了。作为一门专业技术课程,讲几个概念和基础知识就可以了吗? 大学四年要一直打基础吗? 既然还需要以后重新学习和深入,那么这门课程的价值是不是太低了点? 有多少学生有机会再去进一步深入? 这样学出来的学生,会有哪家公司感兴趣?
我们既不能责怪业界人士不了解教学,也不能责怪学生太务实。想一下8086是20世纪70年代末推出的芯片,距今快40年了,它真的太老了。当前有大量的微机新技术、新器件、新应用等待学生去学习和掌握。当然,老师们看重的原理、基础确实也很重要,不过这些基础性的内容并非8086的专利,当代CPU中所包含的原理和基础知识只会比8086更加全面和更加深刻,是时候改变了。
针对这种情况,本书以ST公司的STM32 F1xx CPU为核心介绍了微处理器体系结构、指令系统及汇编C语言编程、接口应用技术三部分内容。在大幅度更新内容的同时,保持了课程结构的稳定。ST公司的STM32 F1xx CPU在技术上是先进、成熟和实用的,能够学以致用;它有比较宽广的应用范围,能够承载学生大量的学习活动;有较低的应用成本和不是太高的学习门槛,有利于实践训练和快速入门。
本书既重视接口技术的实际应用,又重视基本概念和基本原理,二者协调一致,相得益彰。在协调好汇编语言与C语言矛盾的基础上,本书主要采用C语言库函数实现各例程。在介绍中断原理时,就引入了STM32的外部中断应用,原理与应用一同剖析。在总结了各类微机体系接口扩展原理和实际应用要求之后,充分利用STM32的独特优势,将系统扩展技术归纳成四种方法:利用片内资源扩展、IO模拟时序接口扩展、时序可编程芯片扩展(FSMC总线)和通信扩展。此外,还打破了传统的先主机、再外设的教学顺序,将存储器部分安排在本书靠后的位置,以期学生尽快接触接口应用技术,感受到微型计算机的魅力。
需要说明的是,本书并没有太多的手册性内容,也没有给出各种寄存器位定义的详细解释。我们认为,教材既没有办法,也没有必要体现STM32 CPU方方面面的技术细节,在基本原理、方法和应用技术讲清之后,一些细节资料性的东西,读者还是要去查阅相应的数据手册或电子化的帮助文档。
全书分10章,第1章主要介绍微型计算机的基础知识、基本组成和工作原理;第2章介绍了CPU的内核Cortex-M3的基础知识;第3章介绍了Cortex-M3的指令系统与汇编程序设计方法;第4章介绍了接口的基本工作原理,以及STM32的GPIO构成与应用;第5章介绍了中断的基础知识和STM32外部中断的构成与应用;第6章介绍了定时器与计数器的基本工作原理和STM32定时器溢出、输入捕捉、输出比较、PWM输出等内容;第7章介绍了DA、AD转换原理和STM32的DAC和ADC应用;第8章介绍了串行通信的基本原理和STM32 USART的应用;第9章介绍了存储器的工作原理以及存储器进行扩展的基本方法;第10章介绍了接口扩展的四种方法,并给出了应用案例。
本书可作为高等院校电子信息工程、通信工程、电子科学与技术、电子工程、自动化等专业的教材,也可作为ARM技术培训教材和有关人员的自学教材。建议课内72学时,其中授课56学时,上机实践16学时。若学时紧张,可不讲第9章和第10章的部分内容。
参加本书编写的教师多年来一直从事微机原理及应用课程的理论与实践教学,同时也有一定的项目开发经验。本书由刘显荣组织编写,第1、4章由汪德彪编写,第2、5章由常继彬编写,第3、8章由张元涛编写,第6章由叶文编写,第7章由吴云君编写,第9章由刘显荣和范苏共同编写,第10章由刘显荣编写。
重庆科技学院胡文金教授和汪德彪教授对本书的编写提出了宝贵的建设性意见,汪德彪教授还审阅了全稿,叶文老师、吴云君老师和张元涛老师修正了本书的一些错误。
本书配套实验板的设计与制作得到了深圳市优易特科技开发有限公司的大力协助,重庆科技学院自动化专业2014级的谭锐、李军美、魏俊、易斌、王、谢馨宇、何开美同学为本书绘制了大量的插图,在此表示衷心的感谢。
本书有配套的实验板可供实践,感兴趣的读者朋友可访问https: u-easytech.taobao.com,查找EDU-STM32开发板购买。本书的程序均通过实际调试,可以正常运行,但由于篇幅限制,书上并没有给出全部的代码,相关代码随实验板一同提供。除书中的程序以外,实验板上还提供了多个综合案例程序,供读者深入学习。读者也可加入本书书友QQ群45639366,进行技术交流及资料下载。
由于作者水平有限,书中不足之处在所难免,期望能起到抛砖引玉的作用。
敬请读者批评指正。
|
|