嵌入式系统原理与设计 - 高等学校新工科电子信息类专业系列教材 “双一流”建设高校立项教材 国家一流学科 - 中国高校教材图书网
内容简介: |
本书以MCS-51系列单片机为核心,从嵌入式系统的基础理论讲起,逐步深入到单片机的工作原理、开发基础、编程技术、接口技术和应用实例等多个方面,为读者提供了一个完整的MCS-51系列单片机嵌入式系统学习体系。 本书结合单片机仿真软件Proteus和单片机集成开发环境Keil μVision,以C51为开发语言,介绍了嵌入式系统的基本概念,单片机的基本结构,单片机的定时器/计数器、中断、常见外设、常见串行接口,RTX-51实时操作系统的基本概念、基本外设和基本应用,以及SPI和I2C的定义、应用等。本书还给出了MC8051 IP Core在FPGA上的实现过程,学有余力的读者可以对此展开创新设计。 本书适合作为高等学校新工科电子信息类专业的教材,也适合嵌入式系统开发工程师和爱好者参考学习。
|
作者简介: |
|
章节目录: |
第1章 嵌入式系统概述 1
1.1 越来越重要的嵌入式系统 1
1.2 嵌入式系统概述 3
1.2.1 嵌入式系统的定义 3
1.2.2 嵌入式系统概念的延伸 3
1.2.3 嵌入式系统的特点 4
1.2.4 嵌入式系统的应用领域 6
1.2.5 嵌入式系统与通用计算机系统的
联系和区别 8
1.3 嵌入式系统的基本结构 10
1.3.1 嵌入式系统的硬件模型 11
1.3.2 嵌入式系统的硬件组成 14
1.3.3 嵌入式系统的软件 18
1.3.4 嵌入式软件系统的设计方法 21
1.3.5 嵌入式系统的开发模式 24
1.3.6 嵌入式产品的开发流程 25
1.4 嵌入式系统的发展 28
1.4.1 嵌入式系统的历史 28
1.4.2 嵌入式系统的发展现状 29
1.4.3 嵌入式系统的发展趋势 29
1.5 嵌入式系统的语言描述 30
1.5.1 嵌入式系统开发中规范的作用 31
1.5.2 嵌入式系统硬件建模的层次 33
1.5.3 嵌入式系统描述的规范语言 34
1.5.4 嵌入式系统领域的计算模型 35
1.5.5 嵌入式系统描述的工具和语言 37
小结 38
习题 39
第2章 嵌入式系统硬件基础 42
2.1 嵌入式系统硬件基本概念 42
2.1.1 精简指令集和复杂指令集 42
2.1.2 冯???诺依曼和哈佛体系结构 44
2.1.3 流水线技术 47
2.2 中央处理器与存储器 48
2.2.1 中央处理器 48
2.2.2 中央处理器的主要实现技术 50
2.2.3 中央处理器的主要技术指标与
选择原则 52
2.2.4 中央处理器发展中的主流技术 53
2.2.5 嵌入式系统的存储器 67
2.3 输入设备 75
2.3.1 传感器 75
2.3.2 采样电路与保持电路 79
2.3.3 模/数转换器 79
2.4 输出设备 81
2.4.1 数/模转换器 85
2.4.2 滤波器 87
2.4.3 脉冲宽度调制 89
2.4.4 执行器 91
2.5 供电 93
2.5.1 供电系统对嵌入式系统的影响 93
2.5.2 嵌入式系统中的电源供给 94
2.5.3 嵌入式系统中的电源存储 94
2.5.4 嵌入式系统中电池的选择原则 99
2.5.5 嵌入式系统中常见硬件的能效 100
2.5.6 嵌入式系统中的安全硬件 101
2.6 嵌入式系统中的通信 106
2.6.1 嵌入式系统对通信的要求 106
2.6.2 电气鲁棒性 107
2.6.3 通信的实时性措施 109
2.6.4 嵌入式系统中的通信
总线实例 110
小结 112
习题 112
第3章 MCS-51系列单片机结构与
工作原理 115
3.1 MCS-51系列单片机概述 115
3.1.1 单片机的概念 115
3.1.2 单片机的发展历程 116
3.1.3 单片机的应用领域 117
3.1.4 单片机的发展方向 117
3.2 MCS-51系列单片机的总体结构 118
3.3 89C51单片机的内部架构与
工作原理 120
3.3.1 89C51单片机的运算器 121
3.3.2 89C51单片机的控制器 127
3.3.3 89C51单片机的存储器 128
小结 134
习题 134
第4章 MCS-51系列单片机的构成与
开发基础 137
4.1 MCS-51系列单片机的
??引脚及其功能 137
4.2 MCS-51系列单片机的总线及
存储扩展 139
4.2.1 MCS-51系列单片机的
?三总线结构 139
4.2.2 MCS-51系列单片机扩展
外部ROM 142
4.2.3 MCS-51系列单片机扩展
外部RAM 144
4.2.4 MCS-51系列单片机同时
扩展RAM和ROM 145
4.3 并行输入/输出电路结构 146
4.3.1 并行输入/输出电路的特点 146
4.3.2 P0端口 147
4.3.3 P1端口 149
4.3.4 P2端口 150
4.3.5 P3端口 151
4.4 单片机最小系统的搭建 151
4.4.1 单片机最小系统概述 152
4.4.2 时钟电路和复位电路 152
4.4.3 单片机最小系统 153
4.4.4 单片机最小系统实例 154
4.5 单片机中的时序 156
4.6 MCS-51系列单片机的工作方式 156
4.6.1 单片机的复位 157
4.6.2 程序运行方式 157
4.7 单片机集成开发环境Keil μVision 158
4.7.1 Keil μVision简介 158
4.7.2 Keil μVision应用流程 158
4.7.3 Keil μVision集成开发环境介绍 160
小结 161
习题 161
第5章 C51基础 164
5.1 C语言与MCS-51系列单片机 164
5.1.1 C语言的特点 164
5.1.2 C语言的程序结构 165
5.1.3 单片机C语言与汇编的比较 167
5.1.4 C51与标准C语言的比较 167
5.2 C51的数据类型 168
5.3 C51的运算量 170
5.3.1 常量 170
5.3.2 变量 171
5.4 存储模式 176
5.5 绝对地址的访问 177
5.5.1 使用C51运行库中的
预定义宏访问 177
5.5.2 通过指针访问 178
5.5.3 使用C51扩展关键字
“_at_”访问 179
5.6 C51的运算符及表达式 180
5.7 C51的表达式语句及复合语句 183
小结 185
习题 185
第6章 C51程序结构及Protues
仿真软件 188
6.1 C51的输入与输出 188
6.1.1 格式输出函数printf() 188
6.1.2 格式输入函数scanf() 193
6.2 C51程序的基本结构与相关语句 198
6.2.1 C51程序的基本结构 198
6.2.2 选择结构的相关语句 199
6.2.3 实现循环结构的相关语句 201
6.2.4 跳出循环结构的相关语句 204
6.2.5 return语句 205
6.3 单片机仿真软件Proteus 205
6.3.1 Proteus简介 206
6.3.2 Proteus的仿真流程 206
6.3.3 Proteus的设计方法和步骤 207
6.3.4 Proteus电路绘图工具的使用 208
6.3.5 Proteus中常用的库元件 209
6.4 Proteus仿真实例 210
小结 212
习题 212
第7章 MCS-51系列单片机的
中断及其应用 214
7.1 中断概述 214
7.2 89C51单片机的中断系统 217
7.2.1 89C51单片机的中断源 217
7.2.2 89C51单片机的中断系统结构 218
7.2.3 中断控制 219
7.2.4 中断的应用 221
7.2.5 中断服务例程 223
7.3 中断优先级控制 224
7.4 中断扩展 229
小结 231
习题 232
第8章 定时器/计数器的原理与应用 235
8.1 单片机定时器/计数器的结构 235
8.2 定时器/计数器的控制 237
8.2.1 定时器/计数器模式控制
寄存器(TMOD) 237
8.2.2 定时器/计数器控制
寄存器(TCON) 238
8.3 定时器/计数器的4种模式及应用 239
8.3.1 模式0及其应用 239
8.3.2 模式1及其应用 245
8.3.3 模式2及其应用 248
8.3.4 模式3简介 249
8.4 定时器/计数器应用 250
小结 255
习题 255
第9章 七段数码管和按键的应用 259
9.1 七段数码管及其应用 259
9.1.1 七段数码管 259
9.1.2 七段数码管静态显示方式 267
9.1.3 七段数码管动态显示方式 268
9.2 按键及其应用 275
9.2.1 按键概述 275
9.2.2 按键的消抖 275
9.2.3 独立式非编码键盘 276
9.2.4 矩阵键盘接口及工作原理 277
小结 283
习题 284
第10章 1602液晶显示模块的
?原理及应用 287
10.1 液晶显示器概述 287
10.2 1602液晶显示模块概述 288
10.3 1602液晶显示模块的引脚定义 289
10.4 1602液晶显示模块和单片机接口 290
10.5 单片机对1602液晶显示模块的
?4种操作模式 290
10.5.1 读操作时序 291
10.5.2 写操作时序 293
10.6 1602液晶显示模块内部的
DDRAM 295
10.7 1602液晶显示模块的指令集 296
10.8 1602液晶显示模块的初始化 301
10.9 1602液晶显示模块的综合应用 302
10.9.1 1602液晶显示模块显示字符串 302
10.9.2 1602液晶显示模块显示时钟 303
10.9.3 1602液晶显示模块显示
?时钟(定时器/计数器) 304
小结 305
习题 306
第11章 12864液晶显示模块的
原理及应用 308
11.1 12864液晶显示模块概述 308
11.2 HD61202概述 310
11.3 12864液晶显示模块的引脚定义 313
11.4 单片机对12864液晶显示模块的
?操作时序 314
11.4.1 写操作时序 314
11.4.2 读操作时序 315
11.5 12864液晶显示模块的指令集 316
11.6 12864液晶显示模块的初始化 321
11.7 12864液晶显示模块的综合应用 322
11.7.1 字模软件 322
11.7.2 12864液晶显示模块显示数字 322
11.7.3 12864液晶显示模块显示汉字 324
11.7.4 12864液晶显示模块显示图片 325
11.7.5 12864液晶显示模块的绘图 326
小结 330
习题 330
第12章 单片机串行通信及应用 332
12.1 串行通信 333
12.1.1 串行通信概述 333
12.1.2 串行通信的分类 333
12.1.3 串行通信的校验方法 334
12.1.4 异步串行通信的波特率 335
12.1.5 串行通信的接口标准 335
12.2 RS-232C接口 335
12.3 89C51单片机串口的编程与应用 339
12.3.1 89C51单片机串口结构 339
12.3.2 89C51串口控制字及
控制寄存器 340
12.3.3 89C51单片机串行通信
工作方式 342
12.4 扩展阅读:串口波特率值的由来 354
小结 355
习题 355
第13章 RTX-51实时操作系统 357
13.1 操作系统基础知识 357
13.1.1 操作系统概述 357
13.1.2 进程和线程概述 358
13.1.3 实时系统及实时操作系统 362
13.2 RTX-51实时操作系统 363
13.2.1 RTX-51概述 363
13.2.2 RTX-51的特点 364
13.2.3 RTX-51 Tiny的任务管理 364
13.2.4 RTX-51 Tiny中支持的事件 365
13.2.5 RTX-51 Tiny的系统函数 365
13.2.6 RTX-51 Tiny程序设计仿真 374
13.3 从传统编程向面向RTX-51
编程的过渡 379
小结 384
习题 384
第14章 单片机的SPI和I2C及其应用 387
14.1 SPI及其应用 387
14.1.1 SPI的概念 387
14.1.2 SPI的定义及通信原理 388
14.1.3 DS1302实时时钟及其应用 389
14.2 I2C及其应用 393
14.2.1 I2C的概念 393
14.2.2 I2C的特性 394
14.2.3 I2C的基本术语及协议分析 394
14.2.4 24C04基本应用仿真 399
小结 403
习题 404
第15章 MC8051 IP Core的FPGA实现 406
15.1 MC8051 IP Core概述 406
15.2 MC8051 IP Core在Xilinx Artix7
FPGA上的移植 411
小结 424
习题 425
附录1 仿真软件中的电路图形符号与
国家标准符号对照表 427
附录2 自测题 428
自测题一 428
自测题二 431
自测题三 435
自测题四 440
自测题五 444
参考文献 448
|
精彩片段: |
|
书 评: |
|
其 它: |
|
|
|