书籍详情
16位单片机原理及应用:基于MSP430
作者:王文庆 编
出版社:人民邮电出版社
出版时间:2014-09-01
ISBN:9787115365873
定价:¥42.00
购买这本书可以去
内容简介
单片机是高等院校工科类专业的重要专业基础课,传统教学以C51等8位单片机为主。随着单片机技术的发展,16位/32位单片机已成主流,因此,有必要选择一款难易适中的单片机作为教学对象。本书以近年来应用广泛的MSP430单片机为例,系统地讲解了16位单片机的原理及应用。全书共有12章,分章节介绍单片机的组成和结构、片上外设的工作原理、应用及设计,每章配有摘要、正文、基础实例和综合实例,并安排了丰富的课后习题。同时,本书还有针对性地安排了基于MSP430的小型项目的设计,并提供源代码。本书适合高等学校工科类学生的单片机课程的教学,也可以作为培训或技术人员自学的参考书。
作者简介
暂缺《16位单片机原理及应用:基于MSP430》作者简介
目录
目 录
第1章 MSP430系列单片机概述 1
1.1 超低功耗单片机 1
1.2 超低功耗单片机的发展及应用 2
1.3 超低功耗单片机系统的设计原则 3
1.3.1 硬件设计原则 3
1.3.2 软件设计原则 3
1.4 MSP430系列单片机简介 4
1.4.1 MSP430系列单片机的发展 4
1.4.2 MSP430系列单片机的特点 5
1.4.3 MSP430系列单片机的主要结构 6
1.4.4 MSP430各系列单片机介绍 8
1.5 MSP430系列单片机选型 10
思考练习题 13
第2章 MSP430F169单片机内部资源 14
2.1 MSP430F169单片机结构 14
2.1.1 MSP430F169内部结构 14
2.1.2 MSP430F169封装及引脚定义 15
2.2 MSP430F169的中央处理单元 17
2.2.1 中央处理单元的组成 17
2.2.2 MSP430F169CPU的寄存器资源 18
2.3 系统复位和工作模式 20
2.3.1 系统复位和初始化 20
2.3.2 工作模式及功耗 22
2.4 MSP430存储器组织与Flash操作 24
2.4.1 存储器组织结构 24
2.4.2 MSP430的Flash存储器 26
2.4.3 Flash操作 28
2.5 MSP430的基础时钟模块 35
2.5.1 各基础时钟模块介绍 36
2.5.2 时钟模块的寄存器 39
2.5.3 时钟应用举例 41
2.6 MSP430的中断和特殊功能寄存器 41
2.6.1 中断的结构和类型特点 41
2.6.2 中断响应过程 43
2.6.3 中断的嵌套 43
2.6.4 中断向量和特殊功能寄存器 43
2.7 电源监测模块SVS 45
2.7.1 电源监测模块概述 45
2.7.2 电源管理系统寄存器 47
2.7.3 SVS应用实例 48
思考练习题 48
第3章 MSP430指令系统与开发环境 49
3.1 MSP430指令系统概述 49
3.1.1 汇编语言语句格式 49
3.1.2 须ROM补偿的仿真指令 50
3.1.3 指令的时钟周期与指令长度 51
3.2 寻址模式 53
3.2.1 寄存器寻址 53
3.2.2 变址寻址 53
3.2.3 符号寻址 53
3.2.4 绝对寻址 54
3.2.5 寄存器间接寻址 54
3.2.6 间接增量寻址 54
3.2.7 立即寻址 55
3.3 指令系统介绍 55
3.3.1 数据传送类指令 55
3.3.2 数据运算类指令 58
3.3.3 逻辑操作类指令 63
3.3.4 位操作类指令 66
3.3.5 跳转与程序流程控制类指令 68
3.3.6 堆栈指针寻址 72
3.4 汇编语言程序设计 72
3.4.1 应用程序设计基础知识 73
3.4.2 汇编语言伪指令 73
3.4.3 常用的汇编程序设计方法 75
3.5 MSP430单片机C语言程序设计基础 77
3.5.1 IAR C430语言基础 77
3.5.2 IAR C430编译器支持的数据类型 78
3.5.3 IAR C430程序结构 80
3.5.4 IAR C430的函数 81
3.6 MSP430的开发环境 82
3.6.1 IAR Embedded Workbench概述 82
3.6.2 IAR Embedded Workbench使用 83
思考练习题 88
第4章 I/O端口操作 89
4.1 I/O端口特点及结构 89
4.2 I/O端口相关寄存器 93
4.3 I/O端口操作流程 95
4.4 I/O端口操作实例 96
4.4.1 I/O基本输入输出操作 96
4.4.2 I/O中断操作 96
4.4.3 I/O端口的第二功能操作 97
4.4.4 综合应用实例 97
思考练习题 101
第5章 定时器模块 102
5.1 定时器概述 102
5.2 定时器A 102
5.2.1 定时器A的结构 102
5.2.2 定时器A的主要寄存器 107
5.2.3 定时器A的中断管理 110
5.3 定时器B模块 111
5.4 应用实例 113
5.5 看门狗定时/计数器WDT 117
5.5.1 WDT工作原理 117
5.5.2 看门狗定时器寄存器 119
5.5.3 看门狗定时器应用举例 120
思考练习题 121
第6章 通用同步/异步收发器USART 122
6.1 通用异步串行接口 122
6.1.1 串行接口初始化/重配置的基本步骤 123
6.1.2 通用异步串行接口的数据格式 124
6.1.3 异步通信模式 124
6.1.4 串行操作自动错误检测 125
6.1.5 UART的波特率 125
6.1.6 异步模式下的寄存器 126
6.1.7 UART的设计举例 132
6.2 SPI接口 134
6.2.1 MSP430F169的同步操作 134
6.2.2 SPI初始化或重新配置流程 135
6.2.3 SPI模式引脚 135
6.2.4 SPI操作方式 135
6.2.5 SPI使能 137
6.2.6 SPI中断 138
6.2.7 同步模式的寄存器 139
6.2.8 应用举例 142
6.3 I2C模块 143
6.3.1 I2C模块简介 144
6.3.2 I2C模块的操作 145
6.3.3 I2C模块的寄存器 150
6.3.4 综合应用实例 158
思考练习题 165
第7章 比较器A 166
7.1 比较器A简介 166
7.2 比较器A工作原理和操作流程 167
7.2.1 比较器A工作原理 167
7.2.2 比较器A基本操作流程 167
7.2.3 模拟输入信号选择 167
7.2.4 输出滤波器选择 168
7.2.5 电压基准的产生和选择 168
7.2.6 比较器端口禁止寄存器CAPD 168
7.2.7 比较器A的中断 169
7.2.8 用比较器A测量电阻元件 169
7.3 比较器A的寄存器说明 171
7.4 程序设计举例 173
思考练习题 175
第8章 ADC12模块 176
8.1 ADC12模块简介 176
8.1.1 ADC12模块的主要特点 176
8.1.2 ADC12模块的组成 177
8.2 ADC12模块的操作流程 179
8.2.1 ADC12模块的采样与转换 179
8.2.2 ADC12模块的采样保持触发信号 179
8.2.3 ADC12模块的采样模式 180
8.3 ADC12转换模式 181
8.3.1 单通道单次转换 181
8.3.2 序列通道单次转换 182
8.3.3 单通道多次转换 183
8.3.4 序列通道多次转换 184
8.4 ADC12寄存器说明 185
8.5 ADC12应用实例 190
8.5.1 ADC12操作流程及简单应用 190
8.5.2 综合应用实例 193
思考练习题 196
第9章 DAC12模块 197
9.1 DAC12简介 197
9.2 DAC12的操作 198
9.2.1 DAC12内核 198
9.2.2 DAC12的端口选择 199
9.2.3 DAC12的参考电压 199
9.2.4 更新DAC12的输出电压 199
9.2.5 DAC12_xDAT的数据格式 199
9.2.6 DAC12输出的偏移校准 200
9.2.7 DAC12中断 200
9.2.8 组合多个DAC12模块 201
9.3 DAC12的寄存器 201
9.4 DAC12应用实例 204
思考练习题 205
第10章 DMA模块 206
10.1 DMA控制器模块简介 206
10.1.1 DMA模块的特点 206
10.1.2 DMA控制器的结构 207
10.2 DMA模块的操作 208
10.2.1 DMA控制器的寻址模式 208
10.2.2 DMA控制器的传输模式 209
10.2.3 DMA触发方式 209
10.2.4 关闭DMA传输 211
10.2.5 DMA通道优先权 211
10.2.6 DMA传输周期 212
10.2.7 DMA与系统中断 212
10.2.8 DMA控制器的中断 212
10.2.9 DMA方式下的I2C的使用 213
10.2.10 使用DMA控制器的ADC12 213
10.2.11 使用DMA控制器的DAC12 213
10.3 DMA寄存器 213
10.4 DMA应用实例 217
思考练习题 219
第11章 基于MSP430的液晶显示系统控制 220
11.1 RT1602C模块介绍 221
11.1.1 RT1602C模块的引脚说明 221
11.1.2 RT1602C模块组件内部结构 222
11.1.3 RT1602C模块的操作时序 222
11.1.4 RT1602C模块操作指令 224
11.1.5 RT1602C模块初始化过程 226
11.1.6 RT1602C模块使用实例 226
11.2 ST7920(12864)模块介绍 228
11.2.1 ST7920(12864)模块引脚说明 229
11.2.2 ST7920(12864)内部模块 230
11.2.3 ST7920(12864)模块操作时序 230
11.2.4 ST7920(12864)模块操作指令 232
11.2.5 ST7920(12864)模块初始化过程 235
11.2.6 ST7920(12864)模块应用实例 235
11.3 汉字图形点阵液晶模块开发 251
11.3.1 NOKIA5110模块引脚说明 251
11.3.2 NOKIA5110内部模块介绍 252
11.3.3 NOKIA5110模块操作时序 252
11.3.4 NOKIA5110模块操作指令 253
11.3.5 NOKIA5110模块初始化过程 254
11.3.6 NOKIA5110模块应用实例 255
思考练习题 260
第12章 综合应用实例 261
12.1 随动系统设计 261
12.1.1 系统分析 262
12.1.2 随动系统硬件电路设计 262
12.1.3 随动系统软件设计 267
12.2 小型跟踪器的设计 276
12.2.1 跟踪系统功能分析 276
12.2.2 跟踪器硬件电路设计 277
12.2.3 跟踪器软件设计 285
12.2.4 上位机软件设计 288
12.2.5 系统调试与结果 289
思考练习题 295
参考文献 296
第1章 MSP430系列单片机概述 1
1.1 超低功耗单片机 1
1.2 超低功耗单片机的发展及应用 2
1.3 超低功耗单片机系统的设计原则 3
1.3.1 硬件设计原则 3
1.3.2 软件设计原则 3
1.4 MSP430系列单片机简介 4
1.4.1 MSP430系列单片机的发展 4
1.4.2 MSP430系列单片机的特点 5
1.4.3 MSP430系列单片机的主要结构 6
1.4.4 MSP430各系列单片机介绍 8
1.5 MSP430系列单片机选型 10
思考练习题 13
第2章 MSP430F169单片机内部资源 14
2.1 MSP430F169单片机结构 14
2.1.1 MSP430F169内部结构 14
2.1.2 MSP430F169封装及引脚定义 15
2.2 MSP430F169的中央处理单元 17
2.2.1 中央处理单元的组成 17
2.2.2 MSP430F169CPU的寄存器资源 18
2.3 系统复位和工作模式 20
2.3.1 系统复位和初始化 20
2.3.2 工作模式及功耗 22
2.4 MSP430存储器组织与Flash操作 24
2.4.1 存储器组织结构 24
2.4.2 MSP430的Flash存储器 26
2.4.3 Flash操作 28
2.5 MSP430的基础时钟模块 35
2.5.1 各基础时钟模块介绍 36
2.5.2 时钟模块的寄存器 39
2.5.3 时钟应用举例 41
2.6 MSP430的中断和特殊功能寄存器 41
2.6.1 中断的结构和类型特点 41
2.6.2 中断响应过程 43
2.6.3 中断的嵌套 43
2.6.4 中断向量和特殊功能寄存器 43
2.7 电源监测模块SVS 45
2.7.1 电源监测模块概述 45
2.7.2 电源管理系统寄存器 47
2.7.3 SVS应用实例 48
思考练习题 48
第3章 MSP430指令系统与开发环境 49
3.1 MSP430指令系统概述 49
3.1.1 汇编语言语句格式 49
3.1.2 须ROM补偿的仿真指令 50
3.1.3 指令的时钟周期与指令长度 51
3.2 寻址模式 53
3.2.1 寄存器寻址 53
3.2.2 变址寻址 53
3.2.3 符号寻址 53
3.2.4 绝对寻址 54
3.2.5 寄存器间接寻址 54
3.2.6 间接增量寻址 54
3.2.7 立即寻址 55
3.3 指令系统介绍 55
3.3.1 数据传送类指令 55
3.3.2 数据运算类指令 58
3.3.3 逻辑操作类指令 63
3.3.4 位操作类指令 66
3.3.5 跳转与程序流程控制类指令 68
3.3.6 堆栈指针寻址 72
3.4 汇编语言程序设计 72
3.4.1 应用程序设计基础知识 73
3.4.2 汇编语言伪指令 73
3.4.3 常用的汇编程序设计方法 75
3.5 MSP430单片机C语言程序设计基础 77
3.5.1 IAR C430语言基础 77
3.5.2 IAR C430编译器支持的数据类型 78
3.5.3 IAR C430程序结构 80
3.5.4 IAR C430的函数 81
3.6 MSP430的开发环境 82
3.6.1 IAR Embedded Workbench概述 82
3.6.2 IAR Embedded Workbench使用 83
思考练习题 88
第4章 I/O端口操作 89
4.1 I/O端口特点及结构 89
4.2 I/O端口相关寄存器 93
4.3 I/O端口操作流程 95
4.4 I/O端口操作实例 96
4.4.1 I/O基本输入输出操作 96
4.4.2 I/O中断操作 96
4.4.3 I/O端口的第二功能操作 97
4.4.4 综合应用实例 97
思考练习题 101
第5章 定时器模块 102
5.1 定时器概述 102
5.2 定时器A 102
5.2.1 定时器A的结构 102
5.2.2 定时器A的主要寄存器 107
5.2.3 定时器A的中断管理 110
5.3 定时器B模块 111
5.4 应用实例 113
5.5 看门狗定时/计数器WDT 117
5.5.1 WDT工作原理 117
5.5.2 看门狗定时器寄存器 119
5.5.3 看门狗定时器应用举例 120
思考练习题 121
第6章 通用同步/异步收发器USART 122
6.1 通用异步串行接口 122
6.1.1 串行接口初始化/重配置的基本步骤 123
6.1.2 通用异步串行接口的数据格式 124
6.1.3 异步通信模式 124
6.1.4 串行操作自动错误检测 125
6.1.5 UART的波特率 125
6.1.6 异步模式下的寄存器 126
6.1.7 UART的设计举例 132
6.2 SPI接口 134
6.2.1 MSP430F169的同步操作 134
6.2.2 SPI初始化或重新配置流程 135
6.2.3 SPI模式引脚 135
6.2.4 SPI操作方式 135
6.2.5 SPI使能 137
6.2.6 SPI中断 138
6.2.7 同步模式的寄存器 139
6.2.8 应用举例 142
6.3 I2C模块 143
6.3.1 I2C模块简介 144
6.3.2 I2C模块的操作 145
6.3.3 I2C模块的寄存器 150
6.3.4 综合应用实例 158
思考练习题 165
第7章 比较器A 166
7.1 比较器A简介 166
7.2 比较器A工作原理和操作流程 167
7.2.1 比较器A工作原理 167
7.2.2 比较器A基本操作流程 167
7.2.3 模拟输入信号选择 167
7.2.4 输出滤波器选择 168
7.2.5 电压基准的产生和选择 168
7.2.6 比较器端口禁止寄存器CAPD 168
7.2.7 比较器A的中断 169
7.2.8 用比较器A测量电阻元件 169
7.3 比较器A的寄存器说明 171
7.4 程序设计举例 173
思考练习题 175
第8章 ADC12模块 176
8.1 ADC12模块简介 176
8.1.1 ADC12模块的主要特点 176
8.1.2 ADC12模块的组成 177
8.2 ADC12模块的操作流程 179
8.2.1 ADC12模块的采样与转换 179
8.2.2 ADC12模块的采样保持触发信号 179
8.2.3 ADC12模块的采样模式 180
8.3 ADC12转换模式 181
8.3.1 单通道单次转换 181
8.3.2 序列通道单次转换 182
8.3.3 单通道多次转换 183
8.3.4 序列通道多次转换 184
8.4 ADC12寄存器说明 185
8.5 ADC12应用实例 190
8.5.1 ADC12操作流程及简单应用 190
8.5.2 综合应用实例 193
思考练习题 196
第9章 DAC12模块 197
9.1 DAC12简介 197
9.2 DAC12的操作 198
9.2.1 DAC12内核 198
9.2.2 DAC12的端口选择 199
9.2.3 DAC12的参考电压 199
9.2.4 更新DAC12的输出电压 199
9.2.5 DAC12_xDAT的数据格式 199
9.2.6 DAC12输出的偏移校准 200
9.2.7 DAC12中断 200
9.2.8 组合多个DAC12模块 201
9.3 DAC12的寄存器 201
9.4 DAC12应用实例 204
思考练习题 205
第10章 DMA模块 206
10.1 DMA控制器模块简介 206
10.1.1 DMA模块的特点 206
10.1.2 DMA控制器的结构 207
10.2 DMA模块的操作 208
10.2.1 DMA控制器的寻址模式 208
10.2.2 DMA控制器的传输模式 209
10.2.3 DMA触发方式 209
10.2.4 关闭DMA传输 211
10.2.5 DMA通道优先权 211
10.2.6 DMA传输周期 212
10.2.7 DMA与系统中断 212
10.2.8 DMA控制器的中断 212
10.2.9 DMA方式下的I2C的使用 213
10.2.10 使用DMA控制器的ADC12 213
10.2.11 使用DMA控制器的DAC12 213
10.3 DMA寄存器 213
10.4 DMA应用实例 217
思考练习题 219
第11章 基于MSP430的液晶显示系统控制 220
11.1 RT1602C模块介绍 221
11.1.1 RT1602C模块的引脚说明 221
11.1.2 RT1602C模块组件内部结构 222
11.1.3 RT1602C模块的操作时序 222
11.1.4 RT1602C模块操作指令 224
11.1.5 RT1602C模块初始化过程 226
11.1.6 RT1602C模块使用实例 226
11.2 ST7920(12864)模块介绍 228
11.2.1 ST7920(12864)模块引脚说明 229
11.2.2 ST7920(12864)内部模块 230
11.2.3 ST7920(12864)模块操作时序 230
11.2.4 ST7920(12864)模块操作指令 232
11.2.5 ST7920(12864)模块初始化过程 235
11.2.6 ST7920(12864)模块应用实例 235
11.3 汉字图形点阵液晶模块开发 251
11.3.1 NOKIA5110模块引脚说明 251
11.3.2 NOKIA5110内部模块介绍 252
11.3.3 NOKIA5110模块操作时序 252
11.3.4 NOKIA5110模块操作指令 253
11.3.5 NOKIA5110模块初始化过程 254
11.3.6 NOKIA5110模块应用实例 255
思考练习题 260
第12章 综合应用实例 261
12.1 随动系统设计 261
12.1.1 系统分析 262
12.1.2 随动系统硬件电路设计 262
12.1.3 随动系统软件设计 267
12.2 小型跟踪器的设计 276
12.2.1 跟踪系统功能分析 276
12.2.2 跟踪器硬件电路设计 277
12.2.3 跟踪器软件设计 285
12.2.4 上位机软件设计 288
12.2.5 系统调试与结果 289
思考练习题 295
参考文献 296
猜您喜欢