STC单片机C语言程序设计 8051体系架构、编程实例及项目实战PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:何宾编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2018
- ISBN:9787302482024
- 页数:647 页
第1章 单片机基础知识 1
1.1 单片机发展历史 1
1.2 单片机内部架构 1
1.3 单片机与嵌入式系统的关系 3
1.4 单片机硬件开发平台 4
1.5 运行第一个单片机程序 5
1.6 单片机编程语言 8
第2章 STC单片机硬件知识 11
2.1 STC单片机发展历史 11
2.2 STC单片机IAP和ISP 12
2.3 STC单片机命名规则及封装 12
2.3.1 命名规则 12
2.3.2 封装类型 14
2.3.3 引脚定义 16
2.4 STC单片机结构及功能 22
2.5 STC单片机的I/O驱动原理 24
2.6 STC单片机硬件下载电路设计 26
2.6.1 通过USB-串口芯片的下载电路 26
2.6.2 USB直接下载编程电路 26
2.7 STC单片机电源系统设计 28
2.8 调试单片机系统所用到的仪器 28
第3章 数值表示及转换 30
3.1 常用数制 30
3.1.1 二进制 30
3.1.2 十进制 30
3.1.3 十六进制 30
3.2 正数表示方法 32
3.2.1 正整数的表示 32
3.2.2 正小数的表示 32
3.3 正数码制转换 33
3.3.1 十进制整数转换成其他进制数 33
3.3.2 十进制小数转换成二进制数 34
3.4 负数表示方法 35
3.4.1 符号幅度表示法 35
3.4.2 补码表示法 36
3.5 负数补码的计算 36
3.5.1 负整数补码的计算 36
3.5.2 负小数补码的计算 38
3.6 定点数表示 38
3.7 浮点数表示 39
第4章 STC单片机CPU子系统 40
4.1 STC单片机CPU内核功能单元 40
4.1.1 控制器 42
4.1.2 运算器 47
4.1.3 特殊功能寄存器 49
4.2 STC单片机存储器结构和地址空间 57
4.2.1 程序Flash存储器 57
4.2.2 数据Flash存储器 58
4.2.3 内部数据RAM 61
4.2.4 外部数据存储器 64
4.2.5 字节存储顺序 66
4.3 STC单片机中断系统原理及功能 67
4.3.1 中断原理 68
4.3.2 中断系统结构 69
4.3.3 中断优先级处理 74
4.3.4 中断优先级控制寄存器 74
4.3.5 中断向量表 76
第5章 STC单片机CPU指令系统 81
5.1 STC单片机CPU寻址模式 81
5.1.1 立即数寻址模式 82
5.1.2 直接寻址模式 82
5.1.3 间接寻址模式 82
5.1.4 寄存器寻址模式 83
5.1.5 相对寻址模式 83
5.1.6 变址寻址模式 83
5.1.7 位寻址模式 84
5.2 STC单片机CPU指令集 84
5.2.1 算术指令 85
5.2.2 逻辑指令 94
5.2.3 数据传送指令 102
5.2.4 布尔指令 111
5.2.5 程序分支指令 117
第6章 STC单片机集成开发环境 125
6.1 Keil μ Vision集成开发环境介绍 125
6.1.1 软件功能介绍 125
6.1.2 软件的下载 126
6.1.3 软件的安装 128
6.1.4 导入STC单片机元件库 128
6.1.5 软件的启动 130
6.2 Keil μ Vision软件开发流程介绍 130
6.2.1 明确软件需求 130
6.2.2 创建设计工程 131
6.2.3 编写汇编/C软件代码 131
6.2.4 汇编器对汇编语言处理 132
6.2.5 C编译器对C语言进行处理 132
6.2.6 库管理器生成库文件 132
6.2.7 链接器生成绝对目标模块文件 133
6.2.8 目标模块文件到HEX转换器 133
6.2.9 调试器调试目标代码 133
6.3 Keil μ Vision软件开发流程实现 134
6.3.1 建立新的设计工程 134
6.3.2 配置文件结构 135
6.3.3 设置工程选项 136
6.3.4 添加新的源文件 147
6.3.5 建立设计 148
6.3.6 运行设计 148
6.3.7 启动硬件仿真 149
6.4 U8W编程器 150
6.4.1 U8W编程器接口和功能 152
6.4.2 U8W在线联机下载 152
6.4.3 U8W脱机下载 153
第7章 STC单片机汇编语言编程基础 155
7.1 汇编语言程序结构 155
7.2 汇编代码中段的分配 156
7.2.1 CODE段 156
7.2.2 BIT段 157
7.2.3 IDATA段 157
7.2.4 DATA段 158
7.2.5 XDATA段 159
7.3 汇编语言符号及规则 159
7.3.1 符号的命名规则 159
7.3.2 符号的作用 160
7.4 汇编语言操作数描述 160
7.4.1 数字 160
7.4.2 字符 161
7.4.3 字符串 161
7.4.4 位置计数器 161
7.4.5 操作符 161
7.4.6 表达式 162
7.5 汇编语言控制描述 163
7.5.1 地址控制 163
7.5.2 条件汇编 163
7.5.3 存储器初始化 164
7.5.4 分配存储器空间 164
7.5.5 过程声明 165
7.5.6 程序链接 165
7.5.7 段控制 166
7.5.8 杂项 167
7.6 汇编语言设计流程 167
7.6.1 建立新的设计工程 167
7.6.2 添加新的汇编语言文件 167
7.6.3 建立设计 168
7.6.4 分析.m51文件 169
7.6.5 分析.lst文件 170
7.6.6 分析HEX文件 171
7.6.7 程序软件仿真 172
7.6.8 程序硬件仿真 179
7.7 单片机端口控制汇编语言程序设计 182
7.7.1 设计原理 182
7.7.2 建立新的工程 183
7.7.3 添加汇编语言文件 183
7.7.4 建立设计 184
7.7.5 下载设计 185
7.8 单片机中断汇编语言程序设计 185
7.8.1 设计原理 185
7.8.2 建立新的工程 186
7.8.3 添加汇编语言文件 187
7.8.4 分析.lst文件 188
7.8.5 建立设计 189
7.8.6 下载设计 189
7.8.7 硬件仿真 190
第8章 STC单片机C语言编程入门 191
8.1 高级编程语言概念 191
8.1.1 构建计算模型 191
8.1.2 形式化描述 192
8.1.3 算法的流程图描述 192
8.1.4 转换成计算机可以识别的形式 193
8.1.5 代码、程序和编程的关系 193
8.2 选择C语言的理由 194
8.3 C语言发展历史 196
8.4 C语言程序框架 197
8.5 C语言词法构成 198
第9章 STC单片机C语言变量和数据类型 200
9.1 C语言中的常量和变量 200
9.1.1 常量 200
9.1.2 变量 202
9.2 C51编译器支持的数据类型 203
9.2.1 标准C语言所支持的类型 204
9.2.2 volatile类型修饰符 213
9.2.3 单片机扩充的类型 215
9.3 自定义数据类型 219
9.4 变量存储种类和存储类型 220
9.4.1 变量存储种类 220
9.4.2 变量存储器类型 222
9.5 定位变量的绝对位置 223
第10章 STC单片机C语言运算符 225
10.1 C语言运算符分类 225
10.2 C语言运算符优先级 225
10.3 赋值运算符 227
10.4 算术运算符 230
10.5 递增和递减运算符 234
10.6 关系运算符 235
10.7 逻辑运算符 236
10.8 位运算符 237
10.9 复合赋值运算符 239
10.10 逗号运算符 240
10.11 条件运算符 242
10.12 强制类型转换符 242
10.13 sizeof运算符 243
第11章 STC单片机C语言描述语句 245
11.1 输入输出语句 245
11.1.1 putchar函数 245
11.1.2 getchar函数 246
11.1.3 printf函数 247
11.1.4 scanf函数 250
11.1.5 puts函数 253
11.1.6 gets函数 253
11.2 表达式语句 254
11.3 条件语句 255
11.3.1 条件语句格式1 255
11.3.2 条件语句格式2 256
11.3.3 条件语句格式3 257
11.4 开关语句 259
11.5 循环语句 260
11.5.1 while语句 260
11.5.2 do-while语句 261
11.5.3 for语句 262
11.5.4 goto语句 265
11.5.5 break语句 266
11.5.6 continue语句 266
11.6 返回语句 267
11.7 C语言端口控制实现 267
第12章 STC单片机C语言数组 270
12.1 一维数组的定义和操作 270
12.1.1 一维数组的定义 270
12.1.2 一维数组初始化 271
12.1.3 一维数组的操作 276
12.2 多维数组的定义和操作 279
12.2.1 多维数组的定义 279
12.2.2 多维数组初始化 280
12.2.3 多维数组的操作 284
第13章 STC单片机C语言指针 288
13.1 C51编译器中指针的分类 288
13.2 通用指针 288
13.2.1 未指定存储区域的通用指针 288
13.2.2 指定存储区域的通用指针 298
13.3 指定存储器类型的指针 299
13.4 指针转换 301
13.5 指针变量输入 302
13.6 指向指针的指针 304
13.7 抽象指针 307
第14章 STC单片机C语言函数 310
14.1 函数定义和声明 310
14.1.1 标准C函数定义和声明 310
14.1.2 扩展C函数定义和声明 312
14.1.3 存储器模型 312
14.2 函数调用原理 313
14.2.1 函数调用格式 313
14.2.2 参数和堆栈 313
14.2.3 参数和寄存器 314
14.2.4 返回值 314
14.3 函数调用实现分析 315
14.4 函数变量的存储方式 320
14.5 数组类型传递参数 323
14.6 指针类型传递参数 326
14.7 指向函数的指针 328
14.8 可重入函数设计 330
14.9 中断函数设计 335
14.9.1 C语言中断函数的声明格式 335
14.9.2 外部中断电路原理 336
14.9.3 C语言中断程序的编写和测试 337
第15章 STC单片机C语言预处理指令 339
15.1 文件包含 339
15.1.1 包含用户头文件 340
15.1.2 包含系统头文件 342
15.1.3 只包含一次文件 361
15.2 宏定义及使用 361
15.2.1 简单的宏定义 361
15.2.2 复杂的宏定义 362
15.2.3 宏操作符 363
15.2.4 预定义的宏 364
15.3 条件编译 365
15.4 其他预处理命令 367
15.4.1 #line 367
15.4.2 #message 368
15.4.3 #error 368
15.4.4 #pragma 368
第16章 STC单片机C语言复杂数据结构 369
16.1 结构 369
16.1.1 结构类型的定义 369
16.1.2 结构变量的定义 369
16.1.3 结构变量内元素的引用 370
16.1.4 指向结构的指针 373
16.2 联合 374
16.3 枚举 376
16.4 链表 378
16.4.1 单链表的存储结构 378
16.4.2 建立链表 378
16.4.3 查找结点 381
16.4.4 删除结点 383
16.4.5 插入结点 385
第17章 STC单片机C语言高级编程技术 388
17.1 C程序中使用汇编语言 388
17.1.1 内嵌汇编语言 388
17.1.2 调用汇编程序 391
17.2 优化代码策略 394
17.3 C语言动态图形交互设计 395
17.3.1 动态图形交互硬件平台 395
17.3.2 STC单片机对触摸屏的控制 397
17.3.3 STC单片机对触摸屏的初始化 399
17.3.4 触摸屏基本绘图流程 402
17.3.5 绘制不同图形的具体实现方法 403
17.3.6 设计头文件说明 408
17.3.7 主处理文件main函数设计 409
第18章 STC单片机时钟、复位和电源模式原理及实现 410
18.1 STC单片机时钟 410
18.2 STC单片机复位 411
18.2.1 外部RST引脚复位 411
18.2.2 软件复位 412
18.2.3 掉电/上电复位 413
18.2.4 MAX810专用复位电路复位 413
18.2.5 内部低压检测复位 413
18.2.6 看门狗复位 415
18.2.7 程序地址非法复位 417
18.3 STC单片机电源模式 417
18.3.1 低速模式 417
18.3.2 空闲模式 417
18.3.3 掉电模式 418
第19章 STC单片机比较器原理及实现 422
19.1 STC单片机比较器结构 422
19.2 STC单片机比较器寄存器组 423
19.2.1 比较控制寄存器1 423
19.2.2 比较控制寄存器2 424
19.3 STC单片机比较器应用 425
第20章 STC单片机计数器和定时器原理及实现 428
20.1 计数器/定时器模块简介 428
20.2 计数器/定时器寄存器组 429
20.2.1 定时器/计数器0/1控制寄存器TCON 429
20.2.2 定时器/计数器工作模式寄存器TMOD 430
20.2.3 辅助寄存器AUXR 432
20.2.4 T0~T2时钟输出寄存器和外部中断允许INT_CLKO(AUXR2) 433
20.2.5 定时器T0和T1中断允许控制寄存器IE 435
20.2.6 定时器T0和T1中断优先级控制寄存器IP 436
20.2.7 定时器T4和定时器T3控制寄存器T4T3M 436
20.2.8 定时器T2、T3和T4的中断控制寄存器IE2 438
20.3 计数器/定时器工作模式原理和实现 439
20.3.1 定时器/计数器0工作模式 439
20.3.2 定时器/计数器1工作模式 444
20.3.3 定时器/计数器2工作模式 445
20.3.4 定时器/计数器3工作模式 446
20.3.5 定时器/计数器4工作模式 448
第21章 STC单片机异步串行收发器原理及实现 449
21.1 RS-232标准简介 449
21.1.1 RS-232传输特点 449
21.1.2 RS-232数据传输格式 450
21.1.3 RS-232电气标准 451
21.1.4 RS-232参数设置 452
21.1.5 RS-232连接器 453
21.2 STC单片机串口模块简介 454
21.2.1 串口模块结构 454
21.2.2 串口引脚 454
21.3 串口1寄存器及工作模式 455
21.3.1 串口1寄存器组 455
21.3.2 串口1工作模式 459
21.3.3 人机交互控制的实现 461
21.3.4 按键扫描及串口显示 465
21.4 串口2寄存器及工作模式 472
21.4.1 串口2寄存器组 472
21.4.2 串口2工作模式 475
21.5 串口3寄存器及工作模式 475
21.5.1 串口3寄存器组 475
21.5.2 串口3工作模式 477
21.6 串口4寄存器及工作模式 478
21.6.1 串口4寄存器组 478
21.6.2 串口4工作模式 480
21.7 红外通信的原理及实现 480
21.7.1 红外收发器的电路原理 481
21.7.2 红外通信波形捕获 481
21.7.3 红外通信协议 482
21.7.4 红外检测原理 484
21.7.5 串口通信原理 486
21.7.6 设计实现 487
第22章 STC单片机ADC原理及实现 491
22.1 ADC原理 491
22.1.1 ADC的参数 491
22.1.2 ADC的类型 492
22.2 STC单片机内ADC的结构原理 495
22.2.1 STC单片机内ADC的结构 495
22.2.2 ADC转换结果的计算方法 496
22.3 STC单片机内ADC寄存器组 496
22.3.1 P1口模拟功能控制寄存器 496
22.3.2 ADC控制寄存器 497
22.3.3 时钟分频寄存器 498
22.3.4 ADC结果高位寄存器 499
22.3.5 ADC结果低位寄存器 499
22.3.6 中断使能寄存器 499
22.3.7 中断优先级寄存器 499
22.4 直流电压测量及串口显示 500
22.4.1 直流分压电路原理 500
22.4.2 软件设计流程 501
22.4.3 具体实现过程 502
22.5 直流电压测量及LCD屏显示 504
22.5.1 硬件电路设计 504
22.5.2 1602字符LCD原理 504
22.5.3 软件设计流程 508
22.5.4 具体实现过程 509
22.6 交流电压测量及LCD屏显示 513
22.6.1 硬件电路设计 513
22.6.2 12864图形点阵LCD原理 514
22.6.3 软件设计流程 521
22.6.4 ADC外部输入信号要求 523
22.6.5 具体实现过程 524
22.7 温度测量及串口显示 530
第23章 STC单片机SPI原理及实现 535
23.1 STC SPI模块结构及功能 535
23.1.1 SPI传输特点 535
23.1.2 SPI模块功能 535
23.1.3 SPI接口信号 536
23.1.4 SPI接口的数据通信方式 537
23.1.5 SPI模块内部结构 538
23.2 SPI模块寄存器组 539
23.2.1 SPI控制寄存器 539
23.2.2 SPI状态寄存器 540
23.2.3 SPI数据寄存器 540
23.2.4 中断允许寄存器2 541
23.2.5 中断优先级寄存器 541
23.2.6 控制SPI引脚位置寄存器 541
23.3 SPI模块配置及时序 542
23.3.1 SPI配置模式 542
23.3.2 主/从模式的注意事项 543
23.3.3 通过SS修改模式 543
23.3.4 写冲突 544
23.3.5 数据模式时序 544
23.4 7段数码管的驱动与显示 546
23.4.1 系统控制电路原理 546
23.4.2 7段数码管原理 547
23.4.3 74HCT595原理 548
23.4.4 系统软件控制流程 550
23.4.5 程序具体实现 550
第24章 STC单片机CCP/PCA/PWM模块原理及实现 554
24.1 CCP/PCA/PWM结构 554
24.2 CCP/PCA/PWM寄存器组 556
24.2.1 PCA工作模式寄存器 556
24.2.2 PCA控制寄存器 557
24.2.3 PCA比较捕获寄存器 557
24.2.4 PCA的16位计数器 560
24.2.5 PCA捕获/比较寄存器 560
24.2.6 PCA模块PWM寄存器 561
24.2.7 PCA模块引脚切换寄存器 563
24.3 CCP/PCA/PWM工作模式 564
24.3.1 捕获模式 564
24.3.2 16位软件定时器模式 565
24.3.3 高速脉冲输出模式 567
24.3.4 脉冲宽度调制模式 569
第25章 STC单片机增强型PWM发生器原理及实现 574
25.1 增强型PWM发生器简介 574
25.2 增强型PWM发生器相关寄存器组 575
25.2.1 端口配置寄存器 575
25.2.2 PWM配置寄存器 575
25.2.3 PWM控制寄存器 576
25.2.4 PWM中断标志寄存器 577
25.2.5 PWM外部异常控制寄存器 578
25.2.6 PWM计数器 579
25.2.7 PWM时钟选择寄存器 580
25.2.8 PWM2翻转计数器 580
25.2.9 PWM2控制寄存器 581
25.2.10 PWM3翻转计数器 582
25.2.11 PWM3控制寄存器 582
25.2.12 PWM4翻转计数器 583
25.2.13 PWM4控制寄存器 584
25.2.14 PWM5翻转计数器 585
25.2.15 PWM5控制寄存器 585
25.2.16 PWM6翻转计数器 586
25.2.17 PWM6控制寄存器 587
25.2.18 PWM7翻转计数器 588
25.2.19 PWM7控制寄存器 588
25.2.20 PWM中断优先级控制寄存器 589
25.3 生成单路PWM信号 590
25.4 生成两路互补PWM信号 592
25.5 步进电机的驱动和控制 593
25.5.1 五线四相步进电机工作原理 593
25.5.2 步进电机28BYJ48电气性能 594
25.5.3 步进电机的驱动 595
25.5.4 使用软件驱动步进电机 595
25.5.5 使用增强型PWM模块驱动步进电机 597
25.5.6 设计下载和验证 597
第26章 RTX51操作系统原理及实现 599
26.1 操作系统的必要性 599
26.1.1 单任务程序 599
26.1.2 轮询程序 599
26.2 操作系统基本知识 600
26.2.1 操作系统的作用 600
26.2.2 操作系统的功能 601
26.3 RTX51操作系统的任务 603
26.3.1 定义任务 603
26.3.2 管理任务 603
26.3.3 切换任务 604
26.4 RTX51操作系统内核函数 604
26.5 RTX51操作系统实现 608
26.5.1 RTX51操作系统实现1 608
26.5.2 RTX51操作系统实现2 611
26.5.3 RTX51操作系统实现3 612
第27章 综合项目实例:风扇转速控制系统的设计与实现 615
27.1 项目需求分析 615
27.1.1 划分软件和硬件边界 615
27.1.2 设计过程中的细节问题 616
27.2 离散PID控制算法及其参数 616
27.2.1 离散PID控制算法 616
27.2.2 参数整定方法 617
27.3 风扇原理、驱动和运动特性 619
27.3.1 风扇原理 619
27.3.2 风扇驱动 620
27.3.3 风扇运动特性 620
27.4 反馈信号处理方法 622
27.4.1 比较器的硬件设置 622
27.4.2 比较器的程序配置方案 623
27.4.3 比较器处理结果分析 623
27.5 输出测速信号的处理 625
27.5.1 设计思路 625
27.5.2 程序设计方案 625
27.6 单片机串口数据通信 626
27.6.1 设计思路 626
27.6.2 现象分析 627
27.7 PID控制算法中关键问题 627
27.8 系统的硬件结构原理图 629
27.9 控制系统设计代码 631
27.10 上位机应用程序开发 635
附录A STC单片机选型表 636
附录B STC四轴飞行器 643
附录C GNT-SMK-2开发板原理图 645
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《单片机原理及应用》庄友谊 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019