电子系统EDA新技术丛书 STC8系列单片机开发指南 面向处理器、程序设计和操作系统的分析与应用
作者:何宾 编著
出版时间: 2018年版
丛编项: STC8系列单片机开发指南
内容简介
本书采用STC公司新一代的STC8系列单片机作为设计平台,从器件、汇编语言、C语言和操作系统4个角度对该系列单片机进行了全方位的解读。全书共为20章,主要内容包括:单片机的基础知识、硬件知识和开发环境,数值表示及运算,STC单片机CPU子系统、指令系统、汇编语言编程基础、C语言编程基础,STC单片机I/O端口原理及驱动、中断原理及实现,STC单片机时钟、复位和电源模式管理及实现,STC单片机比较器、计数器、定时器、ADC、增强型PWM、I2C、SPI、可编程计数器阵列和μC/OS-II操作系统的原理及实现。通过全方位的讲解,将单片机设计中的各个知识点进行融会贯通。本书的一大特色就是理论和实际并重,不仅介绍单片机的应用,而且更加突出学习方法,教给读者系统学习微处理器和嵌入式系统的思路和方法。这样,为读者将来自己独立学习基于其他处理器的嵌入式系统打下坚实的基础。为了方便读者自学,本书提供了大量的设计案例,并对这些设计案例进行了系统深入的讲解和分析。
目录
目录
第1章单片机和嵌入式系统基础知识
1.1嵌入式系统基本概念
1.1.1嵌入式系统的主要特点
1.1.2嵌入式技术的构成
1.2 8051单片机内部结构
1.3 8051单片机硬件开发平台
1.4 运行第一个8051单片机程序
1.5 8051单片机编程语言
1.6 小结
第2章 STC单片机硬件知识
2.1 STC单片机发展历史
2.2 STC单片机IAP和ISP
2.3 STC8系列单片机命名规则及封装
2.3.1 命名规则
2.3.2 封装类型
2.3.3 引脚定义
2.4 STC8系列单片机主要性能
2.5 STC8系列单片机硬件下载电路设计
2.5.1通过USB-串口芯片的下载电路
2.5.2通过USB直接下载编程电路
2.6 STC8系列单片机电源系统设计
第3章STC单片机软件开发环境
3.1 Keil μVision集成开发环境介绍
3.1.1软件功能介绍
3.1.2软件的下载
3.1.3软件的安装
3.1.4导入STC单片机元件库
3.1.5软件的启动
3.2Keil μVision5软件开发流程
3.2.1明确软件需求
3.2.2创建设计工程
3.2.3编写汇编/C软件代码
3.2.4汇编器对汇编语言进行处理
3.2.5C编译器对C语言进行处理
3.2.6库管理器生成库文件
3.2.7链接器生成绝对目标模块文件
3.2.8目标到HEX转换器
3.2.9调试器调试目标代码
3.3Keil μVision5基本的开发流程
3.3.1建立新的设计工程
3.3.2添加新的C语言文件
3.3.3建立设计
3.3.4下载程序到目标系统
3.3.5硬件在线调试
第4章数值表示及转换
4.1常用码制
4.1.1二进制码制
4.1.2十进制码制
4.1.3八进制码制
4.1.4十六进制码制
4.2正数表示方法
4.2.1正整数的表示
4.2.2正小数的表示
4.3正数码制转换
4.3.1十进制正整数转换成其他进制数
4.3.2十进制正小数转换成二进制正小数
4.4负数表示方法
4.4.1符号幅度表示法
4.4.2补码表示法
4.5负数补码的计算
4.5.1负整数补码的计算
4.5.2负小数补码的计算
4.6定点数表示
4.7浮点数表示
第5章STC单片机处理器内核和存储器系统
5.1STC单片机处理器内核功能单元
5.1.1控制器
5.1.2运算器
5.1.3特殊功能寄存器
5.2STC单片机的存储器结构和地址空间
5.2.1程序存储器
5.2.2内部数据存储器
5.2.3外部数据存储器
第6章STC单片机CPU指令系统
6.1STC单片机的CPU寻址模式
6.1.1立即数寻址模式
6.1.2直接寻址模式
6.1.3间接寻址模式
6.1.4寄存器寻址模式
6.1.5相对寻址模式
6.1.6变址寻址模式
6.1.7位寻址模式
6.2STC单片机 CPU指令集
6.2.1算术指令
6.2.2逻辑指令
6.2.3数据传送指令
6.2.4布尔指令
6.2.5程序分支指令
第7章STC单片机汇编语言编程基础
7.1汇编语言程序结构
7.2汇编代码中段的分配
7.2.1CODE段
7.2.2BIT段
7.2.3IDATA段
7.2.4DATA段
7.2.5XDATA段
7.3汇编语言符号及规则
7.3.1符号的命名规则
7.3.2符号的作用
7.4汇编语言操作数描述
7.4.1数字
7.4.2字符
7.4.3字符串
7.4.4位置计数器
7.4.5操作符
7.4.6表达式
7.5汇编语言控制描述
7.5.1地址控制
7.5.2条件汇编
7.5.3存储器初始化
7.5.4分配存储器空间
7.5.5过程声明
7.5.6程序链接
7.5.7段控制
7.5.8杂项
7.6Keil μVision5汇编语言设计流程
7.6.1建立新的设计工程
7.6.2添加新的汇编语言文件
7.6.3建立设计
7.6.4分析“.m51”文件
7.6.5分析“.lst”文件
7.6.6分析“.hex”文件
7.6.7程序软件仿真
7.6.8程序硬件仿真
第8章STC单片机C语言编程基础
8.1常量和变量
8.1.1常量
8.1.2变量
8.2数据类型
8.2.1标准C语言所支持的类型
8.2.2单片机扩充的类型
8.2.3自定义数据类型
8.2.4变量及存储模式
8.3运算符
8.3.1赋值运算符
8.3.2算术运算符
8.3.3递增和递减运算符
8.3.4关系运算符
8.3.5逻辑运算符
8.3.6位运算符
8.3.7复合赋值运算符
8.3.8逗号运算符
8.3.9条件运算符
8.3.10强制类型转换符
8.3.11sizeof运算符
8.4描述语句
8.4.1输入输出语句
8.4.2表达式语句
8.4.3条件语句
8.4.4开关语句
8.4.5循环语句
8.4.6返回语句
8.5数组
8.5.1一维数组的表示方法
8.5.2多维数组的表示方法
8.5.3索引数组元素的方法
8.5.4动态输入数组元素的方法
8.5.5数组运算算法
8.6指针
8.6.1指针的基本概念
8.6.2指向指针的指针
8.6.3指针变量输入
8.7函数
8.7.1函数声明
8.7.2函数调用
8.7.3函数变量的存储方式
8.7.4函数参数和局部变量的存储器模式
8.7.5基本数据类型传递参数
8.7.6数组类型传递参数
8.7.7指针类型传递参数
8.8预编译指令
8.8.1宏定义
8.8.2文件包含
8.8.3条件编译
8.8.4其他预处理命令
8.9复杂数据结构
8.9.1结构
8.9.2联合
8.9.3枚举
8.10C程序中内嵌汇编语言
第9章STC单片机I/O端口原理及驱动
9.1STC8系列单片机的I/O驱动原理
9.2I/O端口控制寄存器组
9.3汇编语言程序驱动端口的实现
9.3.1设计原理
9.3.2建立新的工程
9.3.3添加汇编语言源文件
9.3.4建立设计和下载
9.4C语言驱动端口的实现
9.4.1设计原理
9.4.2建立新的工程
9.4.3添加C语言源文件
9.4.4建立并下载设计
9.5汇编和C混合编程驱动端口
9.5.1添加和处理C语言与汇编语言源文件
9.5.2建立并调试设计
第10章STC单片机中断系统原理及实现
10.1中断原理
10.2中断系统结构
10.3中断向量表
10.4中断寄存器组
10.4.1中断使能寄存器组
10.4.2中断请求寄存器
10.5编写汇编语言实现中断功能
10.5.1设计原理
10.5.2建立新的工程
10.5.3添加汇编语言文件
10.5.4分析“.lst”文件
10.5.5建立设计
10.5.6下载设计
10.5.7硬件仿真
10.6编写C语言实现中断功能
10.6.1C语言中断程序实现原理
10.6.2C语言中断具体实现过程
10.7中断优先级原理和中断嵌套的实现
10.7.1不同的中断条件及处理方式
10.7.2中断优先级控制寄存器
10.7.3修改中断优先级的实现
第11章STC8系列单片机时钟、复位和电源模式原理及实现
11.1STC8系列单片机时钟
11.2STC8系列单片机复位
11.2.1外部RST引脚复位
11.2.2软件复位
11.2.3掉电/上电复位
11.2.4MAX810专用复位电路复位
11.2.5内部低压检测复位
11.2.6看门狗复位
11.3STC单片机电源模式
11.3.1低速模式
11.3.2空闲模式
11.3.3掉电模式
第12章STC单片机比较器原理及实现
12.1STC单片机比较器结构
12.2STC单片机比较控制寄存器组
12.2.1比较控制寄存器1
12.2.2比较控制寄存器2
12.3STC单片机比较器应用:产生PWM信号
第13章STC单片机计数器和定时器原理及实现
13.1定时器/计数器模块概述
13.2定时器/计数器寄存器组
13.2.1定时器/计数器T0和T1控制寄存器TCON
13.2.2定时器/计数器T0和T1工作模式寄存器TMOD
13.2.3辅助寄存器AUXR
13.2.4T0~T2时钟输出寄存器和外部中断允许INT_CLKO(AUXR2)寄存器
13.2.5定时器计数器T3和T4控制寄存器T4T3M
13.2.6定时器中断控制寄存器
13.3计数器/定时器工作模式原理及实现
13.3.1定时器/计数器T0工作模式
13.3.2定时器/计数器T1工作模式
13.3.3定时器/计数器T2工作模式
13.3.4定时器/计数器T3工作模式
13.3.5定时器/计数器T4工作模式
第14章STC单片机串行异步收发器原理及实现
14.1RS-232标准概述
14.1.1RS-232传输特点
14.1.2RS-232数据传输格式
14.1.3RS-232电气标准
14.1.4RS-232参数设置
14.1.5RS-232连接器
14.2STC单片机串口模块概述
14.2.1串口模块结构
14.2.2串口引脚
14.3串口1寄存器及工作模式
14.3.1串口1寄存器组
14.3.2串口1工作模式
14.3.3串口1通信实例:LED灯的控制
14.3.4串口1通信实例:键盘扫描按键的显示
14.4串口2寄存器及工作模式
14.4.1串口2寄存器组
14.4.2串口2工作模式
14.5串口3寄存器及工作模式
14.5.1串口3寄存器组
14.5.2串口3工作模式
14.6串口4寄存器及工作模式
14.6.1串口4寄存器组
14.6.2串口4工作模式
14.7红外接收的设计与实现
14.7.1红外收发器的电路原理
14.7.2红外通信波形捕获
14.7.3红外通信协议
14.7.4红外检测原理
14.7.5设计实现
第15章STC单片机ADC原理及实现
15.1STC单片机内ADC的结构原理
15.2STC单片机内ADC寄存器组
15.3直流电压的测量和串口显示
15.3.1软件设计流程
15.3.2具体实现过程
15.4直流电压的测量和1602字符LCD的显示
15.4.1硬件电路设计
15.4.21602字符LCD的原理
15.4.3软件设计流程
15.4.4具体实现过程
15.5交流电压参数测量和12864 LCD显示
15.5.1硬件电路设计
15.5.212864图形点阵LCD原理
15.5.3软件设计流程
15.5.4具体实现过程
第16章STC单片机增强型PWM发生器原理及应用
16.1脉冲宽度调制原理
16.2增强型PWM发生器模块
16.2.1增强型PWM发生器功能
16.2.2增强型PWM发生器寄存器集
16.2.3PWM中断的声明方式
16.3生成单路PWM信号
16.4生成两路互补PWM信号
16.5步进电机的驱动和控制
16.5.1五线四相步进电机工作原理
16.5.2步进电机的驱动
16.5.3使用软件驱动步进电机
16.5.4使用PWM模块驱动步进电机
第17章STC单片机I2C原理及实现
17.1I2C总线规范概述
17.2I2C总线时序
17.3PCA9555的结构功能
17.3.1寄存器映射
17.3.2设备地址
17.3.3控制寄存器和控制字节
17.3.4寄存器描述
17.3.5总线交易
17.4STC8系列I2C控制器内的寄存器组
17.4.1I2C主机模式
17.4.2I2C从机模式
17.4.3I2C数据寄存器
17.5七段数码原理及驱动电路的设计
17.5.1七段数码管原理
17.5.2七段数码管的驱动电路
17.6软件应用的设计与实现
ⅩⅩ第18章STC单片机SPI原理及实现
18.1SPI模块结构及功能
18.1.1SPI传输特点
18.1.2SPI模块功能
18.1.3SPI接口信号
18.1.4SPI接口的通信方式
18.1.5SPI模块的内部结构
18.2SPI模块的寄存器组
18.3SPI模块的配置和时序
18.3.1SPI的配置模式
18.3.2主/从模式的注意事项
18.3.3通过SS修改模式
18.3.4写冲突
18.3.5数据模式时序
18.4动态图形的交互设计
18.4.1触摸屏显示的控制方法
18.4.2触摸屏触摸控制方法
18.4.3STC单片机对触摸屏的初始化
18.4.4触摸屏基本绘图流程
18.4.5绘制不同图形的具体实现方法
18.4.6设计头文件说明
18.4.7主处理文件main函数设计
第19章STC单片机CCP/PCA/PWM模块的原理及实现
19.1CCP/PCA/PWM模块的结构
19.2CCP/PCA/PWM模块的寄存器组
19.3CCP/PCA/PWM工作模式
19.3.1捕获模式
19.3.216位软件定时器模式
19.3.3高速脉冲输出模式
19.3.4脉冲宽度调制模式
第20章μC/OS-II操作系统的原理及实现
20.1操作系统的必要性
20.1.1单任务程序
20.1.2轮询程序
20.2操作系统基本知识
20.2.1操作系统的作用
20.2.2操作系统的功能
20.3嵌入式操作系统
20.4μC/OS-II的概述
20.4.1任务及其种类
20.4.2创建任务
20.4.3任务调度
20.4.4任务挂起和恢复
20.4.5任务的删除
20.4.6任务的同步及通信
20.4.7动态内存管理
20.5在STC单片机上移植μC/OS-II
20.5.1修改OS_CPU.H文件
20.5.2任务堆栈的设计
20.5.3修改OS_CPU_C.C文件
20.6应用实例
附录A 配套开发板原理图