当前位置:首页 > 工业技术
STC8系列单片机开发指南  面向处理器、程序设计和操作系统的分析与应用
STC8系列单片机开发指南  面向处理器、程序设计和操作系统的分析与应用

STC8系列单片机开发指南 面向处理器、程序设计和操作系统的分析与应用PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:何宾编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121343353
  • 页数:519 页
图书介绍:本书采用STC公司新一代的STC8系列单片机作为设计平台,从器件、汇编语言、C语言和操作系统4个角度对该系列单片机进行了全方位的解读。全书共为20章,主要内容包括:单片机的基础知识、硬件知识和开发环境,数值表示及运算,STC单片机CPU子系统、指令系统、汇编语言编程基础、C语言编程基础,STC单片机I/O端口原理及驱动、中断原理及实现,STC单片机时钟、复位和电源模式管理及实现,STC单片机比较器、计数器、定时器、ADC、增强型PWM、I2C、SPI、可编程计数器阵列和μC/OS-II操作系统的原理及实现。通过全方位的讲解,将单片机设计中的各个知识点进行融会贯通。本书的一大特色就是理论和实际并重,不仅介绍单片机的应用,而且更加突出学习方法,教给读者系统学习微处理器和嵌入式系统的思路和方法。这样,为读者将来自己独立学习基于其他处理器的嵌入式系统打下坚实的基础。为了方便读者的自学,本书提供了大量的设计案例,并对这些设计案例进行了系统深入的讲解和分析。
《STC8系列单片机开发指南 面向处理器、程序设计和操作系统的分析与应用》目录

第1章 单片机和嵌入式系统基础知识 1

1.1 嵌入式系统基本概念 1

1.1.1 嵌入式系统的主要特点 1

1.1.2 嵌入式技术的构成 2

1.2 8051单片机内部结构 4

1.3 8051单片机硬件开发平台 5

1.4 运行第一个8051单片机程序 6

1.5 8051单片机编程语言 8

1.6 小结 11

第2章 STC单片机硬件知识 12

2.1 STC单片机发展历史 12

2.2 STC单片机IAP和ISP 13

2.3 STC8系列单片机命名规则及封装 13

2.3.1 命名规则 14

2.3.2 封装类型 14

2.3.3 引脚定义 16

2.4 STC8系列单片机主要性能 22

2.5 STC8系列单片机硬件下载电路设计 24

2.5.1 通过USB-串口芯片的下载电路 25

2.5.2 通过USB直接下载编程电路 25

2.6 STC8系列单片机电源系统设计 26

第3章 STC单片机软件开发环境 27

3.1 Keil μVision集成开发环境介绍 27

3.1.1 软件功能介绍 27

3.1.2 软件的下载 28

3.1.3 软件的安装 30

3.1.4 导入STC单片机元件库 31

3.1.5 软件的启动 32

3.2 Keil μVision5软件开发流程 32

3.2.1 明确软件需求 33

3.2.2 创建设计工程 33

3.2.3 编写汇编/C软件代码 33

3.2.4 汇编器对汇编语言进行处理 34

3.2.5 C编译器对C语言进行处理 34

3.2.6 库管理器生成库文件 34

3.2.7 链接器生成绝对目标模块文件 35

3.2.8 目标到HEX转换器 35

3.2.9 调试器调试目标代码 35

3.3 Keil μVision5基本的开发流程 36

3.3.1 建立新的设计工程 36

3.3.2 添加新的C语言文件 38

3.3.3 建立设计 39

3.3.4 下载程序到目标系统 40

3.3.5 硬件在线调试 40

第4章 数值表示及转换 43

4.1 常用码制 43

4.1.1 二进制码制 43

4.1.2 十进制码制 43

4.1.3 八进制码制 43

4.1.4 十六进制码制 43

4.2 正数表示方法 45

4.2.1 正整数的表示 45

4.2.2 正小数的表示 46

4.3 正数码制转换 46

4.3.1 十进制正整数转换成其他进制数 47

4.3.2 十进制正小数转换成二进制正小数 48

4.4 负数表示方法 49

4.4.1 符号幅度表示法 49

4.4.2 补码表示法 50

4.5 负数补码的计算 50

4.5.1 负整数补码的计算 50

4.5.2 负小数补码的计算 51

4.6 定点数表示 52

4.7 浮点数表示 53

第5章 STC单片机处理器内核和存储器系统 54

5.1 STC单片机处理器内核功能单元 54

5.1.1 控制器 55

5.1.2 运算器 62

5.1.3 特殊功能寄存器 64

5.2 STC单片机的存储器结构和地址空间 66

5.2.1 程序存储器 66

5.2.2 内部数据存储器 66

5.2.3 外部数据存储器 69

第6章 STC单片机CPU指令系统 72

6.1 STC单片机的CPU寻址模式 72

6.1.1 立即数寻址模式 73

6.1.2 直接寻址模式 73

6.1.3 间接寻址模式 73

6.1.4 寄存器寻址模式 74

6.1.5 相对寻址模式 74

6.1.6 变址寻址模式 74

6.1.7 位寻址模式 75

6.2 STC单片机CPU指令集 75

6.2.1 算术指令 76

6.2.2 逻辑指令 85

6.2.3 数据传送指令 94

6.2.4 布尔指令 103

6.2.5 程序分支指令 109

第7章 STC单片机汇编语言编程基础 117

7.1 汇编语言程序结构 117

7.2 汇编代码中段的分配 118

7.2.1 CODE段 118

7.2.2 BIT段 119

7.2.3 IDATA段 119

7.2.4 DATA段 120

7.2.5 XDATA段 121

7.3 汇编语言符号及规则 121

7.3.1 符号的命名规则 121

7.3.2 符号的作用 122

7.4 汇编语言操作数描述 122

7.4.1 数字 122

7.4.2 字符 123

7.4.3 字符串 123

7.4.4 位置计数器 123

7.4.5 操作符 123

7.4.6 表达式 125

7.5 汇编语言控制描述 125

7.5.1 地址控制 125

7.5.2 条件汇编 126

7.5.3 存储器初始化 126

7.5.4 分配存储器空间 127

7.5.5 过程声明 127

7.5.6 程序链接 128

7.5.7 段控制 128

7.5.8 杂项 129

7.6 Keil μVision5汇编语言设计流程 130

7.6.1 建立新的设计工程 130

7.6.2 添加新的汇编语言文件 130

7.6.3 建立设计 132

7.6.4 分析“.m51”文件 132

7.6.5 分析“.lst”文件 134

7.6.6 分析“.hex”文件 135

7.6.7 程序软件仿真 136

7.6.8 程序硬件仿真 143

第8章 STC单片机C语言编程基础 145

8.1 常量和变量 145

8.1.1 常量 145

8.1.2 变量 146

8.2 数据类型 146

8.2.1 标准C语言所支持的类型 146

8.2.2 单片机扩充的类型 154

8.2.3 自定义数据类型 158

8.2.4 变量及存储模式 159

8.3 运算符 160

8.3.1 赋值运算符 160

8.3.2 算术运算符 161

8.3.3 递增和递减运算符 162

8.3.4 关系运算符 163

8.3.5 逻辑运算符 164

8.3.6 位运算符 165

8.3.7 复合赋值运算符 167

8.3.8 逗号运算符 168

8.3.9 条件运算符 169

8.3.10 强制类型转换符 169

8.3.11 sizeof运算符 170

8.4 描述语句 171

8.4.1 输入输出语句 171

8.4.2 表达式语句 176

8.4.3 条件语句 177

8.4.4 开关语句 178

8.4.5 循环语句 179

8.4.6 返回语句 184

8.5 数组 184

8.5.1 一维数组的表示方法 184

8.5.2 多维数组的表示方法 187

8.5.3 索引数组元素的方法 190

8.5.4 动态输入数组元素的方法 191

8.5.5 数组运算算法 195

8.6 指针 197

8.6.1 指针的基本概念 197

8.6.2 指向指针的指针 204

8.6.3 指针变量输入 208

8.7 函数 210

8.7.1 函数声明 210

8.7.2 函数调用 211

8.7.3 函数变量的存储方式 211

8.7.4 函数参数和局部变量的存储器模式 213

8.7.5 基本数据类型传递参数 214

8.7.6 数组类型传递参数 219

8.7.7 指针类型传递参数 222

8.8 预编译指令 224

8.8.1 宏定义 225

8.8.2 文件包含 226

8.8.3 条件编译 228

8.8.4 其他预处理命令 229

8.9 复杂数据结构 230

8.9.1 结构 230

8.9.2 联合 235

8.9.3 枚举 236

8.10 C程序中内嵌汇编语言 238

第9章 STC单片机I/O端口原理及驱动 242

9.1 STC8系列单片机的I/O驱动原理 242

9.2 I/O端口控制寄存器组 244

9.3 汇编语言程序驱动端口的实现 248

9.3.1 设计原理 248

9.3.2 建立新的工程 248

9.3.3 添加汇编语言源文件 249

9.3.4 建立设计和下载 250

9.4 C语言驱动端口的实现 251

9.4.1 设计原理 251

9.4.2 建立新的工程 251

9.4.3 添加C语言源文件 251

9.4.4 建立并下载设计 253

9.5 汇编和C混合编程驱动端口 253

9.5.1 添加和处理C语言与汇编语言源文件 254

9.5.2 建立并调试设计 255

第10章 STC单片机中断系统原理及实现 256

10.1 中断原理 256

10.2 中断系统结构 257

10.3 中断向量表 258

10.4 中断寄存器组 261

10.4.1 中断使能寄存器组 261

10.4.2 中断请求寄存器 264

10.5 编写汇编语言实现中断功能 265

10.5.1 设计原理 265

10.5.2 建立新的工程 266

10.5.3 添加汇编语言文件 267

10.5.4 分析“.lst”文件 268

10.5.5 建立设计 270

10.5.6 下载设计 270

10.5.7 硬件仿真 271

10.6 编写C语言实现中断功能 272

10.6.1 C语言中断程序实现原理 272

10.6.2 C语言中断具体实现过程 273

10.7 中断优先级原理和中断嵌套的实现 274

10.7.1 不同的中断条件及处理方式 274

10.7.2 中断优先级控制寄存器 275

10.7.3 修改中断优先级的实现 278

第11章 STC8系列单片机时钟、复位和电源模式原理及实现 281

11.1 STC8系列单片机时钟 281

11.2 STC8系列单片机复位 286

11.2.1 外部RST引脚复位 286

11.2.2 软件复位 286

11.2.3 掉电/上电复位 287

11.2.4 MAX810专用复位电路复位 287

11.2.5 内部低压检测复位 288

11.2.6 看门狗复位 289

11.3 STC单片机电源模式 291

11.3.1 低速模式 292

11.3.2 空闲模式 292

11.3.3 掉电模式 293

第12章 STC单片机比较器原理及实现 296

12.1 STC单片机比较器结构 296

12.2 STC单片机比较控制寄存器组 297

12.2.1 比较控制寄存器1 297

12.2.2 比较控制寄存器2 298

12.3 STC单片机比较器应用:产生PWM信号 299

第13章 STC单片机计数器和定时器原理及实现 302

13.1 定时器/计数器模块概述 302

13.2 定时器/计数器寄存器组 303

13.2.1 定时器/计数器T0和T1控制寄存器TCON 303

13.2.2 定时器/计数器T0和T1工作模式寄存器TMOD 304

13.2.3 辅助寄存器AUXR 305

13.2.4 T0~T2时钟输出寄存器和外部中断允许INT_CLKO (AUXR2)寄存器 307

13.2.5 定时器计数器T3和T4控制寄存器T4T3M 309

13.2.6 定时器中断控制寄存器 310

13.3 计数器/定时器工作模式原理及实现 310

13.3.1 定时器/计数器T0工作模式 311

13.3.2 定时器/计数器T1工作模式 316

13.3.3 定时器/计数器T2工作模式 317

13.3.4 定时器/计数器T3工作模式 318

13.3.5 定时器/计数器T4工作模式 319

第14章 STC单片机串行异步收发器原理及实现 321

14.1 RS-232标准概述 321

14.1.1 RS-232传输特点 321

14.1.2 RS-232数据传输格式 322

14.1.3 RS-232电气标准 323

14.1.4 RS-232参数设置 324

14.1.5 RS-232连接器 325

14.2 STC单片机串口模块概述 326

14.2.1 串口模块结构 326

14.2.2 串口引脚 326

14.3 串口1寄存器及工作模式 327

14.3.1 串口1寄存器组 327

14.3.2 串口1工作模式 331

14.3.3 串口1通信实例:LED灯的控制 333

14.3.4 串口1通信实例:键盘扫描按键的显示 337

14.4 串口2寄存器及工作模式 344

14.4.1 串口2寄存器组 345

14.4.2 串口2工作模式 346

14.5 串口3寄存器及工作模式 347

14.5.1 串口3寄存器组 347

14.5.2 串口3工作模式 348

14.6 串口4寄存器及工作模式 349

14.6.1 串口4寄存器组 349

14.6.2 串口4工作模式 350

14.7 红外接收的设计与实现 350

14.7.1 红外收发器的电路原理 351

14.7.2 红外通信波形捕获 351

14.7.3 红外通信协议 353

14.7.4 红外检测原理 355

14.7.5 设计实现 357

第15章 STC单片机ADC原理及实现 362

15.1 STC单片机内ADC的结构原理 362

15.2 STC单片机内ADC寄存器组 362

15.3 直流电压的测量和串口显示 365

15.3.1 软件设计流程 365

15.3.2 具体实现过程 365

15.4 直流电压的测量和1602字符LCD的显示 369

15.4.1 硬件电路设计 369

15.4.2 1602字符LCD的原理 370

15.4.3 软件设计流程 374

15.4.4 具体实现过程 375

15.5 交流电压参数测量和12864 LCD显示 380

15.5.1 硬件电路设计 380

15.5.2 12864图形点阵LCD原理 381

15.5.3 软件设计流程 388

15.5.4 具体实现过程 390

第16章 STC单片机增强型PWM发生器原理及应用 397

16.1 脉冲宽度调制原理 397

16.2 增强型PWM发生器模块 397

16.2.1 增强型PWM发生器功能 398

16.2.2 增强型PWM发生器寄存器集 398

16.2.3 PWM中断的声明方式 405

16.3 生成单路PWM信号 405

16.4 生成两路互补PWM信号 408

16.5 步进电机的驱动和控制 409

16.5.1 五线四相步进电机工作原理 410

16.5.2 步进电机的驱动 410

16.5.3 使用软件驱动步进电机 411

16.5.4 使用PWM模块驱动步进电机 412

第17章 STC单片机I2C原理及实现 414

17.1 I2C总线规范概述 414

17.2 I2C总线时序 414

17.3 PCA9555的结构功能 417

17.3.1 寄存器映射 417

17.3.2 设备地址 417

17.3.3 控制寄存器和控制字节 418

17.3.4 寄存器描述 418

17.3.5 总线交易 419

17.4 STC8系列I2C控制器内的寄存器组 424

17.4.1 I2C主机模式 424

17.4.2 I2C从机模式 427

17.4.3 I2C数据寄存器 430

17.5 七段数码原理及驱动电路的设计 430

17.5.1 七段数码管原理 430

17.5.2 七段数码管的驱动电路 432

17.6 软件应用的设计与实现 434

第18章 STC单片机SPI原理及实现 439

18.1 SPI模块结构及功能 439

18.1.1 SPI传输特点 439

18.1.2 SPI模块功能 439

18.1.3 SPI接口信号 440

18.1.4 SPI接口的通信方式 441

18.1.5 SPI模块的内部结构 442

18.2 SPI模块的寄存器组 443

18.3 SPI模块的配置和时序 445

18.3.1 SPI的配置模式 445

18.3.2 主/从模式的注意事项 446

18.3.3 通过SS修改模式 446

18.3.4 写冲突 447

18.3.5 数据模式时序 447

18.4 动态图形的交互设计 449

18.4.1 触摸屏显示的控制方法 451

18.4.2 触摸屏触摸控制方法 452

18.4.3 STC单片机对触摸屏的初始化 459

18.4.4 触摸屏基本绘图流程 462

18.4.5 绘制不同图形的具体实现方法 462

18.4.6 设计头文件说明 468

18.4.7 主处理文件main函数设计 469

第19章 STC单片机CCP/PCA/PWM模块的原理及实现 471

19.1 CCP/PCA/PWM模块的结构 471

19.2 CCP/PCA/PWM模块的寄存器组 472

19.3 CCP/PCA/PWM工作模式 477

19.3.1 捕获模式 477

19.3.2 16位软件定时器模式 479

19.3.3 高速脉冲输出模式 481

19.3.4 脉冲宽度调制模式 482

第20章 μC/OS-II操作系统的原理及实现 486

20.1 操作系统的必要性 486

20.1.1 单任务程序 486

20.1.2 轮询程序 486

20.2 操作系统基本知识 487

20.2.1 操作系统的作用 487

20.2.2 操作系统的功能 488

20.3 嵌入式操作系统 490

20.4 μC/OS-II的概述 491

20.4.1 任务及其种类 492

20.4.2 创建任务 495

20.4.3 任务调度 497

20.4.4 任务挂起和恢复 497

20.4.5 任务的删除 497

20.4.6 任务的同步及通信 497

20.4.7 动态内存管理 503

20.5 在STC单片机上移植μC/OS-II 505

20.5.1 修改OS_CPU.H文件 505

20.5.2 任务堆栈的设计 506

20.5.3 修改OS-CPU-C.C文件 511

20.6 应用实例 512

附录A 配套开发板原理图 516

返回顶部