第1章ST7通用单片机简介 1
1.1 概 述 1
1.1.1 ST公司单片机产品介绍 1
1.1.2 ST系列单片机的命名规则 1
目录 1
1.2.1 ST公司8位单片机的特点 2
5.6 12位自动重装载定时器2(AT 2
1.2 ST公司8位单片机简介 2
1.2.2 ST5系列单片机 4
1.2.4 ST7系列单片机 4
1.2.3 ST6系列单片机 4
1.2.5 ST9系列单片机 5
1.3 ST7通用系列单片机 5
1.3.1 ST7通用系列单片机的特点 5
1.3.2 ST7FLITE0系列单片机 7
1.3.3 ST7FLITE1/2系列单片机 8
1.3.4 ST72324系列单片机 9
第2章ST7系列单片机结构及原理 9
2.1.1 ST7系列单片机的基本组成 11
2.1单片机的基本结构 11
2.1.2引脚定义及功能 14
2.1.3基本工作条件 22
2.2中央处理器CPU 22
2.2.1程序计数器PC 22
2.2.2状态寄存器CC 23
2.2.3 累加器A 24
2.2.4 索引寄存器X和Y 25
2.2.5堆栈指针SP 25
2.2.6堆栈的操作过程 26
2.3寄存器与存储器的分配 27
2.3.1存储器的空间分配 27
2.3.2 HW寄存器 29
2.4闪存程序存储器 33
2.4.1 主要特性 33
2.4.2编程模式 33
2.4.3 ICC接口 34
2.4.4闪存保护 36
2.5.2 EEPROM控制与状态寄存器 37
2.5数据EEPROM 37
2.5.1 主要特点 37
2.5.3存储器的操作 38
2.5.4电源节电模式 39
2.5.5读/写时可能产生的错误 40
2.5.6 对EEPROM的读保护 40
2.5.7 EEPROM存储器的工作时间 40
2.5.8 EEPROM数据存储器应用举例 41
2.6时钟管理 41
2.6.1 ST7FLITE0/1/2的时钟管理 42
2.6.2 ST72324的时钟管理 45
2.6.3 内部RC振荡器的调节 48
2.6.4锁相环PLL 48
2.7复位管理 49
2.7.1 复位来源 49
2.7.2 复位过程 50
2.7.3异步外部复位 51
2.8系统可靠性管理 52
2.7.4 内部低电压检测复位 52
2.7.5 内部看门狗复位 52
2.8.1 SICSR寄存器 53
2.8.2低电压检测器LVD 54
2.8.3辅助电压检测器AVD 55
2.9 ST7单片机的选择字节 56
2.9.1 ST7FLITE0系列的选择字节 57
2.9.2 ST7FLITE1/2子系列的选择字节 59
2.9.3 ST72324子系列的选择字节 60
2.10 ST7的中断系统 61
2.10.2中断技术的优点 62
2.10.3 中断源 62
2.10.1 中断的概念 62
2.10.4 中断系统的功能 63
2.10.5 ST7的中断系统结构 64
2.10.6 中断处理过程 69
2.10.7 中断的优先级管理和低功耗模式 71
2.11.2等待模式 72
5.4.5中断与低功耗模式 1 72
2.11.1 慢速模式 72
2.11 ST7的低功耗方式 72
2.11.3活跃暂停和暂停模式 73
2.11.4自动唤醒模式 76
第3章指令系统 79
3.1 ST7指令系统简介 79
3.2.1 符号注释 80
3.2寻址方式 80
3.2.2 寻址方式 81
3.2.3机器码的前缀字节 90
3.3数据传送类指令 91
3.3.1 传送指令 91
3.3.2半字节交换指令 94
3.3.3堆栈操作指令 95
3.4算术运算类指令 96
3.4.1 加法指令 96
3.4.2减法指令 97
3.4.3无符号乘法指令 97
3.4.4 加1/减1指令 98
3.5逻辑操作类指令 99
3.5.1逻辑“与”指令 99
3.5.2逻辑“或”指令 99
3.5.3逻辑“异或”指令 100
3.5.4移位指令 100
3.6控制转移类指令 102
3.5.6 清0指令 102
3.5.5取反与求补指令 102
3.6.1无条件转移指令 103
3.6.2条件跳转指令 103
3.6.3调用子程序及返回指令 104
3.6.4其他控制类指令 106
3.7位操作指令 106
3.7.1位修正指令 107
3.7.2位测试转移指令 108
3.8比较和测试指令 109
3.8.1 比较指令 109
3.8.2逻辑位比较指令 110
3.8.3测试指令 110
4.1.1程序设计语言 111
4.1概述 111
第4章汇编语言程序设计 111
4. 1.2汇编语言源程序的格式 112
4.1.3汇编语言程序设计步骤 113
4.2基本汇编伪指令 114
4.2.1段伪指令SEGMENT 114
4.2.3定义变量伪指令DS 116
4.2.2 汇编结束指令END 116
4.2.4 定义常量伪指令DC 117
4.2.5 赋值伪指令EQU和CEQU 119
4.2.6 定义伪指令#DEFINE 120
4.2.7 外部符号指令EXTERN 120
4.2.8 公共符号指令PUBLIC 121
4.2.9默认类型指令 122
4.2.10数字表达方式 123
4.3汇编程序中地址的定位 123
4.3.1 一般程序的地址定位 123
4.3.2重定位 125
4.3.3段的定位 126
4.3.4关于变量的初始化与定位 127
4.4条件编译 130
4.4.2条件编译举例 130
4.4.1 条件编译的句法格式 130
4.5.1 宏伪指令的格式与作用 132
4.5宏的应用 132
4.5.2可替换参数 133
4.5.3 局部符号LOCAL 134
4.5.4宏定义中的条件表达式 136
4.6程序设计实例 138
4.6.1顺序程序设计 138
4.6.2循环程序设计 139
4.6.3分支程序设计 140
4.6.4查表程序设计 141
4.6.5子程序设计 141
4.6.6综合编程举例 143
第5章片上外围电路 148
5.1输入/输出端口 148
5.1.1 I/O端口简介 148
5.1.2输入模式 151
5.1.4 复用功能 151
5.1.3输出模式 151
5.1.5 I/O端口的外部中断功能 152
5.1.6 I/O端口设置 153
5.1.7 I/O端口的引脚特性参数 154
5.2 LITE定时器 155
5.2.1 主要特性 155
5.2.2 LITE定时器的结构和原理 156
5.2.3 LITE定时器中的寄存器 157
5.2.4时钟功能说明 158
5.2.5看门狗功能 159
5.2.6输入捕获功能 160
5.3.1 AT的主要特点 161
5.3.2 AT的结构及工作原理 161
5.3 12位自动重装载定时器AT 161
5.2.7 LITE定时器的中断 161
5.3.3 AT定时器的寄存器 162
5.3.4 PWM工作模式 166
5.3.5输出比较方式 167
5.3.6 中 断 168
5.4 LT2定时器 168
5.3.7低功耗模式下的AT定时器 168
5.4.1 主要特点 169
5.4.2 LT2定时器的组成与原理 169
5.4.3寄存器说明 170
5.4.4功能介绍 171
5.5 看门狗定时器WDG 172
5.5.1 主要特性 172
5.5.2看门狗定时器的组成 172
5.5.3看门狗的寄存器 173
5.5.4看门狗的工作 174
5.5.5设计看门狗的复位时间间隔 174
5.5.6 低功耗模式 176
5.6.1 主要特性 176
5.6.2 AT2的功能结构 177
5.6.3 AT2的寄存器 178
5.6.4功能说明 183
5.6.5 中断 185
5.7 16位定时器 186
5.7.1 主要特性 186
5.7.2 16位定时器的组成 187
5.7.3 16位定时器的寄存器 188
5.7.4定时器功能 192
5.7.5输入捕获功能 194
5.7.6输出比较功能 195
5.7.7单脉冲模式 198
5.7.8脉宽调制模式 199
5.7.9低功耗模式 200
5.7.10中断 201
5.8 SPI串行外围接口 201
5.8.1 主要特性 201
5.8.2基本组成与功能 202
5.8.3 SPI的寄存器 203
5.8.4主模式操作 206
5.8.5从模式操作 208
5.8.6时钟相位和时钟极性 209
5.8.7错误标志及处理 209
5.8.8 SPI系统配置与功能介绍 210
5.8.9低功耗模式 211
5.8.10 SPI的中断 212
5.9 SCI串行通信接口 212
5.9.1 主要特性 212
5.9.2 SCI接口的结构及组成 213
5.9.3串行数据的帧格式 214
5.9.4 SCI的寄存器 215
5.9.5发送器 221
5.9.6接收器 222
5.9.7常规波特率的设置 223
5.9.8扩展波特率的设置 223
5.9.9接收暂停和唤醒功能 224
5.9.10奇偶控制 225
5.10.1 主要特点及技术指标 226
5.10 8位A/D转换器 226
5.9.12 中断 226
5.9.11低功耗模式 226
5.10.2模/数转换器的结构与原理 227
5.10.3模/数转换器的寄存器 228
5.10.4 A/D转换的操作过程 230
5.10.5输入电压放大器 230
5.10.6 A/D转换结果 230
5.10.8低功耗模式 231
5.10.7 A/D转换时序 231
5.11 10位A/D转换器 232
5.11.1 主要特点 232
5.11.2结构与原理 232
5.11.3模/数转换寄存器 234
5.11.4 A/D转换结果 236
5.11.5 A/D转换操作过程 236
5.11.6低功耗模式 237
6.1 inDART-ST7FLITE0简介 238
6.1.1 inDART-ST7FLITE0的主要优点 238
第6章开发工具和开发方法 238
6.1.2 inDART-ST7FLITE0的工作原理 239
6.1.3 ICP在线编程 239
6.1. IDB-ST7FLITE0演示面板 240
6.1.5 STVD7综合开发环境 242
6.2 inDART-ST7FL1TE0的安装 242
6.2.1 inDART-ST7FLITE0系统的配置 242
6.2.2硬件安装 243
6.2.3软件安装 243
6.3.2编译连接过程 244
6.3 STVD7开发工具 244
6.3.1 STVD7简介 244
6.3.3汇编命令ASM 246
6.3.4连接命令LYN 247
6.3.5格式化命令OBSEND 248
6.3.6库命令LIB 248
6.4 STVD7应用指南 249
6.4.1 启动运行STVD7 249
6.4.2建立或进入工作区 250
6.4.3文件编辑 252
6.4.4编译连接 253
6.4.5 配置MCU 254
6.4.6断点说明 256
6.4.7执行命令说明 256
6.4.8 inDARTST7FLITE0的应用限制 257
6.4.9 ICP编程功能 258
6.5调试应用实例 258
6.5.4编写程序源文件 259
6.5.3建立工作区 259
6.5.2调试前的准备 259
6.5.1 例题说明 259
6.5.5建立批处理命令文件 261
6.5.6编译连接程序 262
6.5.7调试程序 262
6.6故障处理 266
6.6.1 inDART-ST7FLITE0不能通信 266
6.6.2运行速度太慢 266
6.6.3用户程序执行时中途停止 266
6.6.6显示通信错误 267
6.6.4未执行中断处理程序 267
6.6.5程序工作不正常 267
第7章ST7系列单片机应用实例 268
7.1 I/O应用举例 268
7.2定时器应用举例 270
7.3 A/D转换应用举例 276
7.4 ST7和PC机间的SCI串行通信 278
7.4.1 系统组成 278
7.4.2配置ST72324 279
7.4.3 PC机的串行通信 280
7.4.4软件设计 281
7.5 ST7单片机的SPI通信 287
7.5.1 系统组成 287
7.5.2 ST7FLITE0的配置 287
7.5.3 M95040 EEPROM简介 289
7.5.4 ST7与EEPROM的通信 291
软件说明 291
7.5.5 ST7单片机与多个EEPROM通信 295