《飞思卡尔8位单片机实用教程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:李刚编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121089992
  • 页数:222 页
图书介绍:本书系统、详尽地介绍了MC9S08QG8单片机的基础知识,重点讲述了集成在该单片机内部各模块的原理与功能,并有针对性地编写了例程,可使读者更好地理解各模块的作用与使用方法。本书主要内容包括:Freescale八位单片机基础知识、Freescale系统的基本设计、寄存器与内部存储器、CPU指令系统与汇编程序设计、C语言程序的编写、中断、时钟及比较器、串口通讯SCI、串行外围接口SPI、内部集成电路IIC和ADC转换。本书内容新颖、实用,重点突出,详略得当。

第1章 单片机基础知识 1

1.1 单片机的基本概念 1

1.2 单片机的一般结构 2

1.2.1 单片机引脚定义与功能 2

1.2.2 寄存器 4

1.2.3 存储器 5

1.2.4 串并口电路 6

1.3 单片机中的数据表示 6

1.4 单片机中二进制数的运算 7

1.4.1 算术运算 7

1.4.2 逻辑运算 9

1.5 单片机中的码制与编码 10

1.5.1 有符号数与无符号数 10

1.5.2 其他编码 12

思考题 14

第2章 飞思卡尔8位单片机基础知识 15

2.1 飞思卡尔8位单片机系列简介 15

2.1.1 飞思卡尔HC08系列8位单片机 15

2.1.2 飞思卡尔RS08系列8位单片机 16

2.1.3 飞思卡尔HCS08系列8位单片机 16

2.2 飞思卡尔单片机命名规则与单片机选择 17

2.2.1 飞思卡尔单片机命名规则 17

2.2.2 飞思卡尔8位单片机的选择 18

2.3 MC9S08QG8硬件结构 20

2.3.1 MC9S08QG8的基本组成 20

2.3.2 MC9S08QG8单片机引脚及功能 21

思考题 25

第3章 单片机最小系统设计 26

3.1 电源电路设计 26

3.2 时钟电路设计 26

3.2.1 内部时钟源 27

3.2.2 外部时钟电路设计 33

3.3 复位电路设计 33

3.3.1 复位的功能、复位源及相关寄存器 33

3.3.2 计算机正常运行(COP)看门狗 35

3.3.3 低电压监测系统(LVD) 36

3.3.4 外部复位电路 36

3.4 下载调试电路设计 36

3.4.1 调试技术选择 36

3.4.2 后台调试模式(BDM) 37

3.5 单片机最小系统原理图 38

思考题 38

第4章 寄存器与片内存储器 39

4.1 存储器配置及寄存器 39

4.1.1 MC9S08QG8存储器配置 39

4.1.2 RAM(0x0060~0x025F) 40

4.1.3 Flash存储器(Flash ROM) 40

4.1.4 寄存器 41

4.2 输入/输出控制寄存器 41

4.2.1 端口数据寄存器和方向寄存器 41

4.2.2 端口控制寄存器 42

4.3 一些高页面寄存器介绍 43

4.3.1 系统功耗管理和控制寄存器 43

4.3.2 系统选项寄存器 45

4.3.3 系统器件识别寄存器(SDIDH、SDIDL) 46

4.3.4 与Flash操作相关的寄存器 47

思考题 51

第5章 指令系统与汇编程序设计 52

5.1 HCS08 CPU简介 52

5.2 汇编指令系统 55

5.2.1 指令分类 55

5.2.2 其他指令 61

5.2.3 寻址模式 63

5.3 S08汇编语言程序设计 66

5.3.1 编程步骤 67

5.3.2 汇编源程序的格式 67

5.3.3 伪指令 68

5.3.4 汇编语言程序设计举例 70

5.4 汇编输出 72

5.4.1 汇编列表 72

5.4.2 S记录 72

思考题 74

第6章 中断系统 75

6.1 导言 75

6.1.1 输入/输出方式 75

6.1.2 无条件传送方式 75

6.1.3 查询传送方式 75

6.1.4 直接存储器存取(DMA)方式 76

6.1.5 中断的概念 76

6.2 中断机制 76

6.2.1 中断处理过程 77

6.2.2 中断识别和中断优先级 79

6.2.3 中断源概述 83

6.2.4 外部中断 83

6.2.5 内部中断 84

6.2.6 执行中断服务程序过程 85

6.3 键盘中断 86

6.3.1 导言 86

6.3.2 运行状态和外部信号描述 87

6.3.3 寄存器描述和功能描述 87

6.3.4 键盘中断程序举例分析 89

6.4 其他中断举例 94

思考题 98

第7章 定时器和比较器模块 99

7.1 8位定时器模块MTIM的使用 100

7.1.1 8位定时器模块的结构 100

7.1.2 8位定时器模块中的寄存器 100

7.1.3 8位定时器模块的使用 102

7.2 16位定时器模块TPM的使用 102

7.2.1 16位定时器模块的结构 102

7.2.2 16位定时器模块中的寄存器 103

7.2.3 16位定时器模块的功能模式 106

7.2.4 16位定时器模块的中断 109

7.3 模拟比较器模块的使用 109

7.3.1 模拟比较器模块的结构 109

7.3.2 模拟比较器模块的状态与控制寄存器 110

7.3.3 模拟比较器模块应用实例 111

思考题 112

第8章 异步串行通信 114

8.1 导言 114

8.1.1 操作模式 115

8.1.2 基础知识 115

8.2 SCI寄存器 116

8.2.1 SCI波特率寄存器(SCIBDH、SCIBDL) 116

8.2.2 SCI控制寄存器1(SCIC1) 117

8.2.3 SCI控制寄存器2(SCIC2) 118

8.2.4 SCI状态寄存器1(SCIS1) 118

8.2.5 SCI状态寄存器2(SCIS2) 119

8.2.6 SCI控制寄存器3(SCIC3) 120

8.2.7 SCI状态寄存器(SCID) 120

8.3 功能描述 121

8.3.1 波特率的产生 121

8.3.2 SCI发送器 121

8.3.3 SCI接收器 122

8.4 附加的SCI功能 123

8.4.1 循环模式 123

8.4.2 单线操作 124

8.5 软件开发方法 124

思考题 126

第9章 串行外围接口 127

9.1 导言 127

9.1.1 SPI模块的特点 128

9.1.2 SPI系统结构和模块结构 128

9.1.3 SPI波特率产生 129

9.2 外部信号描述 130

9.2.1 SPSCK——SPI串行时钟 130

9.2.2 MOSI——主机数据输出、从机数据输入 130

9.2.3 MISO——主机数据输入、从机数据输出 130

9.2.4 SS——从模式选择 130

9.3 寄存器定义 130

9.3.1 控制寄存器SPIC1 130

9.3.2 控制寄存器SPIC2 131

9.3.3 SPI波特率寄存器SPIBR 132

9.3.4 状态寄存器SPIS 133

9.3.5 SPI数据寄存器SPID 134

9.4 功能描述 134

9.4.1 SPI时钟格式 135

9.4.2 SPI中断 137

9.4.3 模式故障检测 137

9.5 SPI通信程序举例 137

9.5.1 主机通信 137

9.5.2 从机通信 139

思考题 140

第10章 内部集成电路 142

10.1 导言 142

10.1.1 模块配置 142

10.1.2 外部信号描述 143

10.2 寄存器描述 143

10.3 功能描述 147

10.3.1 IIC协议 147

10.3.2 中断 150

10.4 软件开发 151

10.4.1 主机发送、从机接收 151

10.4.2 从机发送、主机接收 155

思考题 158

第11章 模/数转换 159

11.1 模/数转换基本概念 159

11.2 MC9S08QG8单片机ADC结构及特点 162

11.2.1 ADC电路结构 162

11.2.2 飞思卡尔MC9S08QG8 ADC模块特点 163

11.3 ADC模块中寄存器的定义 163

11.3.1 寄存器简述 163

11.3.2 配置寄存器——ADCCFG 163

11.3.3 引脚使能控制寄存器1——APCTL1 164

11.3.4 状态控制寄存器——ADCSC1 165

11.3.5 状态和控制寄存器——ADCSC2 166

11.3.6 数据结果高位寄存器ADCRH和数据结果低位寄存器ADCRL 167

11.3.7 比较值高位寄存器ADCCVH和比较值低位寄存器ADCCVL 168

11.4 ADC模块工作状态解析 168

11.4.1 ADC电源及功耗 168

11.4.2 ADC工作过程 168

11.4.3 时钟选择和分频控制 169

11.4.4 引脚使能控制 169

11.4.5 硬件触发 170

11.4.6 总的转换时间 170

11.5 应用实例 171

思考题 176

第12章 S08系列单片机C语言编程 177

12.1 新建C语言工程 177

12.1.1 利用向导自动建立项目 177

12.1.2 项目包含文件分析 179

12.1.3 为主函数添加功能 182

12.2 编译器特性及参数设置 183

12.2.1 编译器的输入/输出文件 184

12.2.2 编译器前端 184

12.2.3 编译器后端 189

12.2.4 C语言的#pragma预编译指令 192

12.3 C语言与汇编语言的混合编程 197

12.3.1 C语言程序访问汇编语言常量、变量 198

12.3.2 在汇编语言程序中访问C语言定义的常量、变量 198

12.3.3 C语言程序调用汇编语言子程序 198

12.4 HC08的高效C程序设计 199

12.4.1 基本数据类型 200

12.4.2 局部变量与全局变量 201

12.4.3 直接寻址页变量 201

12.4.4 循环 202

12.4.5 数据结构 203

12.4.6 编程实例 203

思考题 206

附录A 207

附录B 211