第1章 引 论 1
1.1 MSP430系列单片机 1
1.2 MSP430F11x系列 2
1.3 MSP430F11x1系列 2
1.4 MSP430F13x系列 2
1.5 MSP430F14x系列 3
第2章 结构概述 5
2.1 引言 5
2.2 CPU 7
2.3 程序存储器 7
2.4 数据存储器 8
2.5 运行控制 8
2.6 外围模块 8
2.7 振荡器与时钟发生器 8
第3章 系统复位、中断及工作模式 9
3.1 系统复位和初始化 9
3.1.1 引 言 9
3.1.2 系统复位后的设备初始化 10
3.2 中断系统结构 11
3.3 MSP430 中断优先级 12
3.3.1 中断操作--复位/NMI 14
3.3.2 中断操作--振荡器失效控制 14
3.4 中断处理 14
3.4.1 SFR中的中断控制位 15
3.4.2 中断向量地址 18
3.4.3 外部中断 19
3.5 工作模式 19
3.5.1 低功耗模式0、1(LPM0和LPM1) 22
3.5.2 低功耗模式2、3(LPM2和LPM3) 22
3.5.3 低功耗模式4(LPM4) 22
3.6 低功耗应用的要点23 23
第4章 存储空间 24
4.1 引 言 24
4.2 存储器中的数据 25
4.3 片内ROM组织 25
4.3.1 ROM 表的处理 25
4.3.2 计算分支跳转和子程序调用 25
4.4 RAM 和外围模块组织 26
4.4.1 RAM 26
4.4.2 外围模块--地址定位 27
4.4.3 外围模块--SFR 29
4.5 FLASH存储器 29
4.5.1 FLASH存储器的组织 29
4.5.2 FALSH存储器的数据结构 31
4.5.3 FLASH存储器的控制寄存器 36
4.5.4 FLASH存储器的安全键值与中断 38
4.5.5 经JTAG接口访问FLASH存储器39 39
第5章 16位CPU 46
5.1 CPU寄存器 46
5.1.1 程序计数器PC 46
5.1.2 系统堆栈指针SP 46
5.1.3 状态寄存器SR 47
5.1.4 常数发生寄存器CG1和CG2 49
5.2 寻址模式 49
5.2.1 寄存器模式 50
5.2.2 变址模式 50
5.2.3 符号模式 51
5.2.4 绝对模式 52
5.2.5 间接模式 53
5.2.6 间接增量模式 54
5.2.7 立即模式 55
5.2.8 指令的时钟周期与长度 55
5.3 指令组概述 57
5.3.1 双操作数指令 57
5.3.2 单操作数指令 58
5.3.3 条件跳转 58
5.3.4 模拟指令的简短格式 59
5.3.5 其他指令 60
第6章 硬件乘法器 61
6.1 硬件乘法器 61
6.2 硬件乘法器操作 62
6.2.1 无符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位) 63
6.2.2 有符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位) 64
6.2.3 无符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位) 65
6.2.4 有符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位) 66
6.3 硬件乘法器寄存器 67
6.4 硬件乘法器的软件限制 67
6.4.1 寻址模式 68
6.4.2 中断程序 68
6.4.3 MACS 69
第7章 基础时钟模块 70
7.1 基础时钟模块 70
7.2 LFXT1与XT2 71
7.2.1 LFXT1振荡器 71
7.2.2 XT2振荡器 72
7.2.3 振荡器失效检测 73
7.2.4 XT振荡器失效时的DCO 74
7.3 DCO振荡器 75
7.3.1 DCO振荡器的特性 75
7.3.2 DCO调整器 76
7.4 时钟与运行模式 78
7.4.1 由PUC启动 78
7.4.2 基础时钟调整 78
7.4.3 用于低功耗的基础时钟特性 79
7.4.4 选择晶振产生MCLK 79
7.4.5 时钟信号的同步 81
7.5 基础时钟模块控制寄存器 81
7.5.1 DCO时钟频率控制 82
7.5.2 振荡器与时钟控制寄存器 82
7.5.3 SFR控制位 83
第8章 输入输出端口 84
8.1 引 言 84
8.2 端口P1、P2 84
8.2.1 P1、P2的控制寄存器 85
8.2.2 P1、P2的原理 87
8.2.3 P1、P2的中断控制功能 88
8.3 端口P3、P4、P5和P6 88
8.3.1 端口P3、P4、P5和P6的控制寄存器 89
8.3.2 端口P3、P4、P5和P6的端口逻辑 90
第9章 看门狗定时器WDT 91
9.1 看门狗定时器 91
9.2 WDT寄存器 92
9.3 WDT中断控制功能 93
9.4 WDT操作 94
第10章 16位定时器Timer_A 96
10.1 引 言 96
10.2 Timer_A的操作 96
10.2.1 定时器模式控制 96
10.2.2 时钟源选择和分频 98
10.2.3 定时器启动 99
10.3 定时器模式 99
10.3.1 停止模式 99
10.3.2 增计数模式 99
10.3.3 连续模式 101
10.3.4 增/减计数模式 102
10.4 捕获/比较模块 104
10.4.1 捕获模式 105
10.4.2 比较模式 108
10.5 输出单元 108
10.5.1 输出模式 108
10.5.2 输出控制模块 109
10.5.3 输出举例 111
10.6 Timer_A的寄存器 113
10.6.1 Timer_A控制寄存器TACTL 114
10.6.2 Timer_A寄存器TAR 115
10.6.3 捕获/比较控制寄存器CCTLx 115
10.6.4 Timer_A中断向量寄存器 117
10.7 Timer_A的UART应用 120
第11章 16位定时器Timer_B 123
11.1 引 言 123
11.2 Timer_B的操作 124
11.2.1 定时器长度 125
11.2.2 定时器模式控制 125
11.2.3 时钟源选择和分频 126
11.2.4 定时器启动 126
11.3 定时器模式 127
11.3.1 停止模式 127
11.3.2 增计数模式 127
11.3.3 连续模式 129
11.3.4 增/减计数模式 130
11.4 捕获/比较模块 132
11.4.1 捕获模式 133
11.4.2 比较模式 136
11.5 输出单元 137
11.5.1 输出模式 137
11.5.2 输出控制模块 138
11.5.3 输出举例 139
11.6 Timer_B的寄存器 141
11.6.1 Timer_B控制寄存器TBCTL 142
11.6.2 Timer_B寄存器TBR 143
11.6.3 捕获/比较控制寄存器CCTLx 144
11.6.4 Timer_B中断向量寄存器 145
第12章 USART通信模块的UART功能 151
12.1 异步模式 152
12.1.1 异步帧格式 152
12.1.2 异步通信的波特率发生器 153
12.1.3 异步通信格式 155
12.1.4 线路空闲多机模式 155
12.1.5 地址位多机通信格式 157
12.2 中断和中断允许 158
12.2.1 USART接收允许 158
12.2.2 USART发送允许 159
12.2.3 USART接收中断操作 159
12.2.4 USART发送中断操作 160
12.3 控制和状态寄存器 161
12.3.1 USART控制寄存器UCTL 161
12.3.2 发送控制寄存器UTCTL 163
12.3.3 接收控制寄存器URCTL 163
12.3.4 波特率选择和调整控制寄存器 165
12.3.5 USART接收数据缓存URXBUF 165
12.3.6 USART发送数据缓存UTXBUF 166
12.4 UART模式,低功耗模式应用特性 166
12.4.1 由UART帧启动接收操作 166
12.4.2 时钟频率的充分利用与UART的波特率 168
12.4.3 多处理机模式对节约MSP430资源的支持 169
12.5 波特率计算 169
第13章 USART通信模块的SPI功能 173
13.1 USART同步操作 173
13.1.1 SPI模式中的主模式 176
13.1.2 SPI模式中的从模式 177
13.2 中断与控制功能 177
13.2.1 USART接收/发送允许位及接收操作 178
13.2.2 USART接收/发送允许位及发送操作 179
13.2.3 USART接收中断操作 180
13.2.4 USART发送中断操作 181
13.3 控制与状态寄存器 181
13.3.1 USART控制寄存器 182
13.3.2 发送控制寄存器UTCTL 183
13.3.3 接收控制寄存器URCTL 184
13.3.4 波特率选择和调制控制寄存器 185
13.3.5 USART接收数据缓存URXBUF 185
13.3.6 USART发送数据缓存UTXBUF 185
第14章 比较器Comparator_A 187
14.1 概 述 187
14.2 比较器A原理 188
14.2.1 输入模拟开关 188
14.2.2 输入多路切换 188
14.2.3 比较器 188
14.2.4 输出滤波器 188
14.2.5 参考电平发生器 189
14.2.6 比较器A中断电路 189
14.3 比较器A控制寄存器 190
14.3.1 控制寄存器CACTL1 190
14.3.2 控制寄存器CACTL2 191
14.3.3 端口禁止寄存器CAPD 191
14.4 比较器A应用 191
14.4.1 模拟信号在数字端口的输入 192
14.4.2 比较器A测量电阻元件 193
14.4.3 两个独立电阻元件的测量系统 195
14.4.4 比较器A检测电流或电压 196
14.4.5 比较器A测量电流或电压 197
14.4.6 测量比较器A的偏压 200
14.4.7 比较器A的偏压补偿 201
14.4.8 增加比较器A的回差 201
第15章 模数转换器ADC12 203
15.1 概 述 203
15.2 ADC12的工作原理及操作 204
15.2.1 ADC内核 204
15.2.2 参考电平 205
15.3 模拟输入与多路切换 206
15.3.1 模拟多路切换 206
15.3.2 输入信号 206
15.3.3 热敏二极管的使用 207
15.4 转换存储 207
15.5 转换模式 207
15.5.1 单通道单次转换模式 208
15.5.2 序列通道单次转换模式 210
15.5.3 单通道重复转换模式 213
15.5.4 序列通道重复转换模式 215
15.5.5 转换模式之间的切换 216
15.5.6 低功耗 216
15.6 转换时钟与转换速度 217
15.7 采 样 218
15.7.1 采样操作 218
15.7.2 采样信号输入选择 218
15.7.3 采样模式 219
15.7.4 MSC位的使用 221
15.7.5 采样时序 223
15.8 ADC12控制寄存器 223
15.8.1 控制寄存器ADC12CTL0和ADC12CTL1 224
15.8.2 转换存储寄存器ADC12MEMx 227
15.8.3 控制寄存器ADC12MCTLx 227
15.8.4 中断标志寄存器ADC12IFG.x和中断允许寄存器ADC12IEN.x 228
15.8.5 中断向量寄存器ADC12IV 229
15.9 ADC12接地与降噪 231
第16章 FLASH型芯片的开发 233
16.1 开发系统概述 233
16.1.1 开发技术 233
16.1.2 MSP430系列的开发 234
16.1.3 MSP430F系列的开发 234
16.2 FLASH型的FET开发方法 235
16.2.1 MSP430芯片的JTAG接口 235
16.2.2 FLASH型仿真工具 235
16.3 FLASH型的BOOT ROM 236
16.3.1 标准复位过程和进入BSL过程 236
16.3.2 BSL的UART协议 238
16.3.3 数据格式 238
16.3.4 退出BSL 241
16.3.5 保护口令 241
16.3.6 BSL的内部设置和资源 241
附录 243
附录A 寻址空间 243
附录B 指令说明 257
B.1 指令汇总 257
B.2 指令格式 259
B.3 不增加ROM开销的模拟指令 261
B.4 指令说明(字母顺序) 262
B.5 用几条指令模拟的宏指令 301
附录C MSP430系列单片机参数表 303
附录D MSP430系列单片机封装形式 304
附录E MSP430系列器件命名 305