单片微机原理与接口技术:基于可仿真的STC8系列单片机
作者:丁向荣编著
出版时间:2020年版
内容简介
《单片微机原理与接口技术:基于可仿真的STC8系列单片机》以STC8系列单片机中的STC8A8K64S4A12单片机为介绍对象,采用“汇编语言+C语言”双语言教学,精选工程训练实例,设计类型多样化的习题。教材内容包括微型计算机基础、STC8A8K64S4A12单片机增强型8051内核、STC系列单片机的应用系统的开发工具、STC8A8K64S4A12单片机的指令系统与汇编语言程序设计、C51与C51程序设计、STC8A8K64S4A12单片机的存储器与应用编程、STC8A8K64S4A12单片机的定时/计数器、STC8A8K64S4A12单片机中断系统、STC8A8K64S4A12单片机的串行接口、人机对话接口的应用设计、STC8A8K64S4A12单片机的比较器、STC8A8K64S4A12单片机的A/D转换模块、STC8A8K64S4A12单片机的PCA模块、STC8A8K64S4A12单片机的增强型PWM模块、STC8A8K64S4A12单片机的SPI接口、STC8A8K64S4A12单片机的I2C通信接口,以及STC8A8K64S4A12单片机的低功耗设计与可靠性设计等内容。《单片微机原理与接口技术:基于可仿真的STC8系列单片机》可作为高等学校电子信息类、电子通信类、自动化类、计算机应用类专业“单片机原理与应用”或“微机原理”课程的教材,也可作为电子设计竞赛、单片机应用工程师考证的培训教材。此外,《单片微机原理与接口技术:基于可仿真的STC8系列单片机》也是传统8051单片机应用工程师升级转型的参考书籍。
目录
目录
第1章 微型计算机基础\t1
1.1 数制与编码\t1
1.1.1 数制及其转换方法\t1
1.1.2 微型计算机中数的表示方法\t4
1.1.3 微型计算机中常用编码\t6
1.2 微型计算机原理\t7
1.2.1 微型计算机的基本组成\t7
1.2.2 指令、程序与编程语言\t9
1.2.3 微型计算机的工作过程\t10
1.2.4 微型计算机的应用形态\t11
本章小结\t11
习题与思考题\t12
第2章 STC8A8K64S4A12单片机增强型8051内核\t13
2.1 单片机概述\t13
2.1.1 单片机的概念\t13
2.1.2 常见单片机\t13
2.1.3 STC8系列单片机\t14
2.2 STC8A8K64S4A12单片机资源概述与引脚功能\t17
2.3 STC8A8K64S4A12单片机的内部结构\t22
2.3.1 内部结构框图\t22
2.3.2 CPU结构\t22
2.4 STC8A8K64S4A12单片机的存储结构\t24
2.5 STC8A8K64S4A12单片机的并行I/O口\t29
2.5.1 并行I/O口的工作模式\t29
2.5.2 并行I/O口的结构\t30
2.5.3 并行I/O口的使用注意事项\t32
2.6 STC8A8K64S4A12单片机的时钟与复位\t34
2.6.1 时钟\t34
2.6.2 复位\t36
本章小结\t38
习题与思考题\t39
第3章 STC系列单片机应用系统的开发工具\t41
3.1 Keil ?Vision4集成开发环境\t41
3.2 STC系列单片机在线编程与在线仿真\t50
3.2.1 STC系列单片机在线编程电路\t50
3.2.2 单片机应用程序的下载与运行\t52
3.2.3 Keil ?Vision4与STC仿真器的在线仿真\t53
3.2.4 STC-ISP在线编程软件的其他功能\t55
3.3 Proteus仿真软件简介\t56
3.3.1 工程训练3.1 Keil C集成开发环境的操作使用\t56
3.3.2 工程训练3.2 STC系列单片机的在线调试与在线仿真\t64
3.3.3 工程训练3.3 用Proteus仿真软件实现单片机应用系统的仿真\t67
本章小结\t74
习题\t75
第4章 STC8A8K64S4A12单片机的指令系统与汇编语言程序设计\t78
4.1 STC8A8K64S4A12单片机的指令系统\t78
4.1.1 概述\t78
4.1.2 数据传送类指令\t84
4.1.3 算术运算类指令\t89
4.1.4 逻辑运算与循环移位类指令\t95
4.1.5 控制转移类指令\t98
4.1.6 位操作类指令\t104
4.2 汇编语言程序设计\t108
4.2.1 汇编语言程序设计基础\t108
4.2.2 基本程序结构与程序设计举例\t113
4.2.3 工程训练4.1 LED数码管的驱动与显示(汇编语言版)\t122
本章小结\t125
习题与思考题\t126
第5章 C51与C51程序设计\t131
5.1 C51基础\t131
5.1.1 C51数据类型\t133
5.1.2 C51的变量\t135
5.1.3 8051单片机特殊功能寄存器变量的定义\t137
5.1.4 8051单片机位寻址区(20H~2FH)位变量的定义\t138
5.1.5 函数的定位\t138
5.1.6 中断服务函数\t139
5.1.7 函数的递归调用与再入函数\t140
5.1.8 在C51中嵌入汇编语言程序\t140
5.2 C51程序设计\t141
5.2.1 C51程序框架\t141
5.2.2 C51程序设计举例\t145
5.2.3 工程训练5.1 LED数码管驱动与显示(C语言版)\t146
本章小结\t148
习题与思考题\t149
第6章 STC8A8K64S4A12单片机的存储器与应用编程\t151
6.1 程序存储器\t151
6.2 基本RAM\t153
6.3 扩展RAM(XRAM)\t154
6.4 EEPROM\t158
6.4.1 工程训练6.1 片内扩展RAM的测试\t164
6.4.2 工程训练6.2 EEPROM的测试\t165
本章小结\t169
习题与思考题\t169
第7章 STC8A8K64S4A12单片机的定时/计数器\t172
7.1 定时/计数器T0、T1的结构和工作原理\t172
7.2 定时/计数器T0、T1的控制\t174
7.3 定时/计数器T0、T1的工作方式\t175
7.4 定时/计数器T0、T1的应用举例\t179
7.4.1 定时/计数器T0、T1的定时应用\t179
7.4.2 定时/计数器T0、T1的计数应用\t181
7.4.3 定时/计数器T0、T1的综合应用\t182
7.5 定时/计数器T2\t185
7.5.1 定时/计数器T2的电路结构\t185
7.5.2 定时/计数器T2的控制寄存器\t186
7.6 定时/计数器T3、T4\t187
7.6.1 定时/计数器T3、T4的电路结构\t187
7.6.2 定时/计数器T3、T4的控制寄存器\t187
?
7.7 可编程时钟输出功能\t189
7.7.1 定时/计数器T0~T4的可编程时钟输出\t189
7.7.2 可编程时钟的应用举例\t190
7.7.3 工程训练7.1 定时/计数器的定时应用\t192
7.7.4 工程训练7.2 定时/计数器的计数应用\t194
7.7.5 工程训练7.3 定时/计数器的综合应用\t196
7.7.6 工程训练7.4 可编程时钟输出\t198
本章小结\t200
习题与思考题\t201
第8章 STC8A8K64S4A12单片机中断系统\t204
8.1 中断系统概述\t204
8.1.1 中断系统的几个概念\t204
8.1.2 中断的技术优势\t205
8.1.3 中断系统需要解决的问题\t206
8.2 STC8A8K64S4A12单片机中断系统的简介\t206
8.2.1 中断请求\t206
8.2.2 中断响应\t215
8.2.3 中断服务与中断返回\t218
8.3 STC8A8K64S4A12单片机中断系统的中断应用举例\t219
8.3.1 定时中断的应用\t219
8.3.2 外部中断的应用\t223
8.4 STC8A8K64S4A12单片机外部中断源的扩展\t224
8.4.1 工程训练8.1 定时中断的应用编程\t227
8.4.2 工程训练8.2 外部中断的应用编程\t228
本章小结\t230
习题与思考题\t231
第9章 STC8A8K64S4A12单片机的串行接口\t234
9.1 串行通信基础\t234
9.2 STC8A8K64S4A12单片机的串行接口1\t237
9.2.1 串行接口1的控制寄存器\t237
9.2.2 串行接口1的工作方式\t239
9.2.3 串行接口1的波特率\t243
9.2.4 串行接口1的应用举例\t244
9.3 STC8A8K64S4A12单片机与计算机的通信\t256
9.3.1 单片机与计算机RS-232串行通信接口设计\t256
9.3.2 STC8A8K64S4A12单片机与计算机的串行通信程序设计\t258
9.4 STC8A8K64S4A12单片机串行接口1的中继广播方式\t261
9.5 STC8A8K64S4A12单片机串行接口2*\t261
9.6 STC8A8K64S4A12单片机串行接口3*\t263
9.7 STC8A8K64S4A12单片机串行接口4*\t264
9.7.1 工程训练9.1 STC8A8K64S4A12单片机间的双机通信\t266
9.7.2 工程训练9.2 STC8A8K64S4A12单片机与计算机间的串行通信\t269
本章小结\t272
思考与提高题\t273
第10章 人机对话接口的应用设计\t276
10.1 单片机应用系统的设计和开发流程\t276
10.1.1 单片机应用系统的设计原则\t276
10.1.2 单片机应用系统的开发流程\t277
10.1.3 单片机应用系统工程报告的编制\t280
10.2 键盘接口与应用编程\t283
10.3 LCD接口与应用编程\t291
10.3.1 LCD模块概述\t291
10.3.2 点阵字符型LCD模块LCD1602\t291
10.3.3 点阵图形型LCD模块LCD12864\t299
10.3.4 工程训练10.1 STC8A8K64S4A12单片机与矩阵键盘的接口与应用\t309
10.3.5 工程训练10.2 STC8A8K64S4A12单片机与LCD12864(含中文
字库)的接口与应用\t311
本章小结\t322
习题与思考题\t322
第11章 STC8A8K64S4A12单片机的比较器\t326
11.1 比较器的内部结构与控制\t326
11.2 比较器的应用\t329
本章小结\t332
思考与提高题\t332
第12章 STC8A8K64S4A12单片机的A/D转换模块\t334
12.1 A/D转换模块的结构\t334
12.2 A/D转换模块的控制\t335
12.3 A/D转换模块的应用\t338
本章小结\t343
思考与提高题\t344
?
第13章 STC8A8K64S4A12单片机的PCA模块\t346
13.1 PCA模块的结构\t346
13.2 PCA模块的控制\t347
13.3 PCA模块的工作模式与应用编程\t350
13.3.1 捕获模式与应用编程\t350
13.3.2 16位软件定时器模式与应用编程\t353
13.3.3 高速脉冲输出模式与应用编程\t355
13.3.4 脉宽调制模式与应用编程\t356
13.3.5 工程训练13.1 PCA模块的软件定时器应用\t361
13.3.6 工程训练13.2 PCA模块的PWM应用\t364
本章小结\t366
习题与思考题\t367
第14章 STC8A8K64S4A12单片机的增强型PWM模块\t369
14.1 增强型PWM模块的结构\t369
14.2 增强型PWM模块的控制\t370
14.3 增强型PWM模块的应用编程\t375
本章小结\t382
习题与思考题\t382
第15章 STC8A8K64S4A12单片机的SPI接口\t384
15.1 SPI接口的结构\t384
15.2 SPI接口的控制\t386
15.3 SPI接口的通信方式\t391
15.4 SPI接口的应用编程\t393
本章小结\t397
习题与思考题\t398
第16章 STC8A8K64S4A12单片机的I2C串行总线和I2C通信接口\t399
16.1 I2C串行总线\t399
16.2 I2C通信接口\t407
本章小结\t420
思考与提高题\t420
第17章 STC8A8K64S4A12单片机的低功耗设计与可靠性设计\t423
17.1 低功耗设计\t423
17.2 可靠性设计\t428
本章小结\t431
习题\t431
附录A ASCII码表\t434
附录B STC8A8K64S4A12系列单片机指令系统表\t435
附录C STC8系列单片机特殊功能寄存器一览表\t439
附录D STC8单片机学习板模块电路\t446
附录E STC8A8K64S4A12单片机内部接口硬件切换控制\t455
附录F C51常用头文件与库函数\t460
附录G C语言编译常见错误信息一览表\t468
附录H C51的模块化编程与C51库函数的制作\t473