第1章 MSP430系列单片机概述 1
1.1 单片机的基本概念 1
1.2 单片机的发展及应用领域 1
1.3 常见单片机种类 2
1.4 MSP430系列单片机简介 4
1.4.1 MSP430系列单片机的特点 4
1.4.2 MSP430的基本结构 5
1.4.3 MSP430单片机系列介绍 6
第2章 MSP430F149简介 10
2.1 MSP430的总体架构 10
2.2 CPU的结构和特点 11
2.2.1 MSP430系列单片机芯片特征 11
2.2.2 MSP430特殊寄存器介绍 14
2.3 MSP430存储器 17
2.3.1 程序存储器 17
2.3.2 数据存储器 18
2.3.3 Flash存储器 18
2.4 MSP430的时钟系统 18
2.4.1 案例介绍与分析 19
2.4.2 MSP430的时钟源 19
2.4.3 MSP430的时钟信号 21
2.4.4 基本时钟寄存器 21
2.5 MSP430的系统复位和低功耗工作模式 23
2.5.1 系统复位和初始化 23
2.5.2 低功耗工作模式 24
2.6 中断系统 27
2.6.1 中断的概念和类型 27
2.6.2 中断响应及返回过程 28
2.6.3 中断嵌套 29
2.6.4 中断向量和中断相关寄存器 29
第3章 IAR集成开发环境的使用 32
3.1 IAR开发平台的安装与使用 32
3.1.1 IAR的下载、安装 32
3.1.2 IAR的初始化界面 35
3.1.3 IAR菜单 35
3.1.4 工具栏 37
3.1.5 IAR的窗口 38
3.2 IAR工程的建立与设置 39
3.2.1 创建工作空间 39
3.2.2 新建文件并添加到工程 40
3.2.3 配置工程 40
3.3 C-SPY硬件仿真调试 43
3.3.1 仿真器的驱动及硬件连接 43
3.3.2 仿真器的使用 44
第4章 I/O端口应用 46
4.1 任务1 点亮第一个LED小灯 46
4.1.1 案例介绍与实现 46
4.1.2 I/O端口的特点及结构 47
4.1.3 相关寄存器 47
4.2 任务2 1s流水灯 48
4.2.1 案例介绍与实现 48
4.2.2 本书常用的自定义头文件简介 49
4.3 任务3 4种模式切换的流水灯 51
4.4 任务4 独立按键的应用 52
4.4.1 案例介绍与实现 52
4.4.2 独立按键原理 54
4.4.3 独立按键消抖 54
4.5 任务5 I/O中断控制LED 55
4.5.1 案例介绍与实现 55
4.5.2 相关寄存器配置 56
4.5.3 I/O端口操作的基本流程 57
4.6 任务6 矩阵按键的应用 57
4.6.1 案例介绍与实现 57
4.6.2 矩阵键盘的工作原理 60
4.6.3 行列扫描法原理 60
4.7 任务7 8位数码管全显0 60
4.8 任务8 8位数码管统一从0到F循环显示 61
4.8.1 案例介绍与实现 61
4.8.2 数码管的编码原理 63
4.8.3 静态显示原理 63
4.9 任务9 数码管的轮流显示及动态显示 64
4.9.1 案例介绍与实现 64
4.9.2 数码管的动态显示原理 66
4.9.3 数码管动态显示的消影 67
4.10 任务10 数码管显示按键键值 67
4.11 任务11 点阵显示 71
4.11.1 案例介绍与实现 71
4.11.2 点阵的基础知识 74
4.11.3 字符编码原理 75
第5章 定时器 76
5.1 任务1 看门狗 76
5.1.1 案例介绍与分析 76
5.1.2 WDT的基本结构及工作原理 77
5.1.3 WDT相关寄存器 77
5.1.4 看门狗的定时模式 79
5.2 任务2 定时器A增计数应用 80
5.2.1 案例介绍与分析 80
5.2.2 定时器A的基本结构 81
5.2.3 定时器A的工作模式——停止模式/增计数模式 82
5.2.4 定时器A相关寄存器 83
5.3 任务3 定时器A的基本应用——连续计数模式 85
5.3.1 案例介绍与分析 85
5.3.2 连续工作模式的工作方式 85
5.3.3 定时/计数器的中断 86
5.4 任务4 定时器A的基本应用——增减计数模式 87
5.4.1 案例介绍与分析 87
5.4.2 增/减计数模式的工作方式 87
5.5 任务5 捕获/比较部件 88
5.5.1 案例介绍与分析 88
5.5.2 相关寄存器 90
5.5.3 比较单元 92
5.5.4 捕获单元 92
5.6 任务6 单片机输出单元应用一 94
5.6.1 案例介绍与分析 94
5.6.2 输出单元的基本结构 94
5.6.3 输出单元的工作方式 95
5.7 任务7 单片机输出单元应用二 97
5.8 任务8 单片机输出单元应用三 97
5.9 任务9 定时器B 97
5.9.1 案例介绍与分析 97
5.9.2 定时器B的基本结构和特点 99
5.9.3 比较/捕获部件 100
第6章 单片机的串行通信 102
6.1 任务1 通用串行异步通信UART的应用一 102
6.1.1 案例介绍与实现 102
6.1.2 串行通信的基本概念 104
6.1.3 UART的工作原理 105
6.1.4 USART相关的控制寄存器 109
6.1.5 多机通信模式 115
6.2 任务2 通用串行异步通信UART的应用二 117
6.2.1 案例介绍与实现 117
6.2.2 USART接收部件的工作原理 118
6.2.3 USART相关寄存器 120
6.3 任务3 通用串行通信同步模式——SPI 122
6.3.1 案例介绍与实现 122
6.3.2 SPI的工作原理 124
6.3.3 同步模式寄存器 128
6.4 任务4 I2C总线 130
6.4.1 案例介绍与实现 130
6.4.2 24C02的基本特性和引脚说明 140
6.4.3 I2C总线协议简介 141
6.4.4 24C02的具体操作 143
第7章 ADC12/DAC12转换模块 145
7.1 任务1 ADC单通道单次转换模式 145
7.1.1 案例介绍与实现 145
7.1.2 ADC12的基本结构与工作原理 146
7.1.3 ADC12寄存器 153
7.2 任务2 ADC单通道多次转换模式 156
7.2.1 案例介绍与分析 156
7.2.2 ADC12的4种转换模式与使用 160
7.2.3 ADC12的操作步骤 165
7.3 任务3 ADC序列通道单次转换模式 165
7.4 任务4 ADC序列通道多次转换模式 166
7.5 任务5 DAC12的芯片 167
7.5.1 案例介绍与分析 167
7.5.2 芯片TLC5615概述 171
7.5.3 TLC5615的工作原理 172
第8章 单片机应用实例 174
8.1 任务1 LCD1602 174
8.1.1 案例介绍与实现 174
8.1.2 LCD1602概述 178
8.1.3 LCD1602的操作流程 180
8.2 任务2 LCD12864 182
8.2.1 案例介绍与分析 182
8.2.2 LCD12864概述 186
8.2.3 LCD12864操作流程 195
8.3 任务3 时钟芯片DS1302 198
8.3.1 案例介绍与分析 198
8.3.2 DS1302概述 203
8.3.3 DS1302的读写操作和寄存器配置 204
8.4 任务4 DS18B20 206
8.4.1 案例分析与介绍 206
8.4.2 DS18B20概述 212
8.4.3 DS18B20寄存器配置 214
8.4.4 DS18B20的初始化与数据读取 216
8.5 任务5 HS0038红外通信 219
8.5.1 案例介绍与分析 219
8.5.2 红外线接收器HS0038概述 222
8.5.3 红外接收操作 224
8.6 任务6 NRF24L01无线模块 226
8.6.1 案例介绍与分析 226
8.6.2 NRF24L01概述 234
8.6.3 NRF24L01的工作模式 235
8.6.4 NRF24L01寄存器配置 238
8.6.5 NRF24L01模块的操作与配置 241
8.7 任务7 PS2键盘 242
8.7.1 案例介绍与分析 242
8.7.2 PS2键盘概述 252
8.7.3 PS2键盘的数据发送 253
8.8 任务8 步进电动机 255
8.8.1 案例介绍与分析 255
8.8.2 28BYJ-48步进电动机概述 260
8.8.3 芯片ULN2003简介 261
8.9 任务9 超声波模块应用——测距 262
8.9.1 案例介绍与分析 262
8.9.2 HC-SR04概述 264
8.9.3 电气参数 265
8.9.4 超声波工作时序图 265
附录 MSP430F149引脚功能对照表 266