图书介绍
STC单片机C语言程序设计 8051体系架构、编程实例及项目实战PDF|Epub|txt|kindle电子书版本网盘下载
- 何宾编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302482024
- 出版时间:2018
- 标注页数:647页
- 文件大小:74MB
- 文件页数:667页
- 主题词:单片微型计算机-C语言-程序设计
PDF下载
下载说明
STC单片机C语言程序设计 8051体系架构、编程实例及项目实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第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和ISP12
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 内部数据RAM61
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 条件语句格式1255
11.3.2 条件语句格式2256
11.3.3 条件语句格式3257
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 #line367
15.4.2 #message368
15.4.3 #error368
15.4.4 #pragma368
第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 比较控制寄存器1423
19.2.2 比较控制寄存器2424
19.3 STC单片机比较器应用425
第20章 STC单片机计数器和定时器原理及实现428
20.1 计数器/定时器模块简介428
20.2 计数器/定时器寄存器组429
20.2.1 定时器/计数器0/1控制寄存器TCON429
20.2.2 定时器/计数器工作模式寄存器TMOD430
20.2.3 辅助寄存器AUXR432
20.2.4 T0~T2时钟输出寄存器和外部中断允许INT_CLKO(AUXR2)433
20.2.5 定时器T0和T1中断允许控制寄存器IE435
20.2.6 定时器T0和T1中断优先级控制寄存器IP436
20.2.7 定时器T4和定时器T3控制寄存器T4T3M436
20.2.8 定时器T2、T3和T4的中断控制寄存器IE2438
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 中断允许寄存器2541
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操作系统实现1608
26.5.2 RTX51操作系统实现2611
26.5.3 RTX51操作系统实现3612
第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