第1章 TI公司MSP430系列微控制器芯片 1
1.1 MSP430系列微控制器 3
1.2 MSP430G223 1芯片 4
1.3 MSP430F2619芯片 8
1.4 小结 10
第2章 MSP430系列微控制器开发软件的使用——流水灯控制电路的设计 11
2.1 流水灯电路 12
2.2 Embedded Workbench for MSP430开发软件的使用 13
2.2.1 创建工程(Project) 13
2.2.2 编辑源程序 14
2.2.3 编译源程序 16
2.2.4 模拟调试 18
2.2.5 仿真调试 22
2.3 Code ComposerTM Studio开发软件的使用 24
2.3.1 创建工程(Project) 24
2.3.2 C语言源文件的编辑和编译 27
2.3.3 C语言源文件的仿真调试 29
2.4 小结 31
第3章 MSP430系列微控制器的时钟系统 32
3.1 MSP430系列微控制器的时钟系统 33
3.1.1 MSP430x2xx系列芯片的时钟系统 33
3.1.2 时钟系统的相关寄存器 34
3.2 数字控制振荡器(DCO)频率的测量 39
3.3 位寻址功能的实现 41
3.3.1 msp430g2231.h 41
3.3.2 利用逻辑位运算实现位寻址功能 43
3.4 程序下载 44
3.5 高频振荡器(XT2)频率的测量 45
3.6 时钟源DCO和XT2工作频率的对比 47
3.7 小结 48
第4章 并行数字输入/输出端口的使用——数码管显示电路的设计 49
4.1 MSP430系列微控制器的并行数字输入/输出端口 50
4.2 基于并行数据传输的数码管电路 51
4.2.1 数码管 51
4.2.2 显示数据的译码 53
4.3 延时函数 55
4.3.1 延时函数 56
4.3.2 函数的使用 56
4.4 数据类型 58
4.5 循环语句 59
4.5.1 while语句 60
4.5.2 do while语句 60
4.5.3 for语句 61
4.6 小结 62
第5章 基于串行同步接口的数码管显示电路 63
5.1 8位移位寄存器(串行输入,并行输出)74164 64
5.2 同步串行接口的1位数码管驱动函数 66
5.2.1 1位数码管驱动函数 66
5.2.2 利用循环语句简化1位数码管驱动函数 69
5.2.3 同步串行接口的1位数码管显示电路演示程序 70
5.3 位运算操作符 71
5.4 多位数据的显示 73
5.4.1 采用同步串行接口的多个数码管显示电路 73
5.4.2 数据分离 74
5.4.3 采用同步串行接口的3个数码管驱动函数 75
5.4.4 同步串行接口的3位数码管显示电路演示程序 76
5.5 小结 78
第6章 并行数字输入/输出端口中断的使用——按键电路的设计 79
6.1 按键开关 80
6.2 中断 81
6.2.1 中断的概念 81
6.2.2 状态寄存器(SR)涉及中断的内容 82
6.3 并行输入/输出端口涉及中断的寄存器 83
6.4 1位独立式按键电路演示程序 84
6.5 利用3个按键输入多个数据 87
6.6 字节运算操作符 92
6.7 条件语句 93
6.7.1 if语句 94
6.7.2 switch/case语句 95
6.8 小结 96
第7章 定时/计数器的使用——信号时间参量测量电路的设计 97
7.1 数字信号时间参量的测量方法 98
7.2 定时/计数器(Timer) 99
7.2.1 定时/计数器A(Timer A)的组成 99
7.2.2 16位计数器 99
7.2.3 捕捉/比较器模块 101
7.2.4 定时/计数器A(Timer A)的寄存器 102
7.3 数字信号频率的测量 106
7.4 数字信号周期的测量 109
7.5 数字信号的产生 112
7.6 小结 115
第8章 数字/模拟转换器的使用——任意波形产生电路的设计 116
8.1 数字/模拟转换器的工作原理 117
8.2 数字/模拟转换模块(DAC12) 119
8.2.1 数字/模拟转换模块(DAC12)简介 119
8.2.2 数字/模拟转换模块(DAC12)的寄存器 122
8.3 模拟电压源(AVCC)的接入 125
8.4 数字/模拟转换模块(DAC12)检查程序 126
8.5 任意波形信号的产生 128
8.6 C语言中的指针 130
8.6.1 指针变量的定义 131
8.6.2 指针变量的特有操作符 131
8.7 小结 133
第9章 模拟/数字转换器的使用——模拟信号采集与回放电路的设计 134
9.1 模拟/数字转换器的工作原理 135
9.2 模拟/数字转换模块(ADC10) 137
9.2.1 模拟/数字转换模块(ADC10) 137
9.2.2 模拟/数字转换模块(ADC10)的寄存器 140
9.3 模拟/数字转换模块(ADC10)检查程序 144
9.4 模拟/数字转换模块(ADC12) 147
9.4.1 模拟/数字转换模块(ADC12) 147
9.4.2 模拟/数字转换模块(ADC12)的寄存器 149
9.5 模拟/数字转换模块(ADC12)初始化函数 155
9.6 模拟信号的采集与回放 157
9.7 小结 159
第10章 串行输入/输出端口的使用——微控制器芯片之间通信的实现 160
10.1 MSP430x2xx微控制器的串行接口 161
10.2 通用串行接口(Universal Serial Interface,USI) 162
10.2.1 串行外围接口(SPI) 162
10.2.2 I2C接口(Inter IntegratedCircuit,I2C) 164
10.2.3 通用串行接口(USI)的寄存器 168
10.3 基于串行外围接口(SPI)的1位数码管显示 172
10.4 基于串行外围接(SPI)的芯片间通信 174
10.4.1 基于查询方法实现串行数据的接收 175
10.4.2 基于中断方法实现串行数据的接收 176
10.5 基于I2C接口的芯片间通信 177
10.5.1 基于串行外围接口I2C的数据发送 178
10.5.2 基于串行外围接口I2C的数据接收 183
10.6 小结 185
第11章 数字信号频率测量电路的设计 186
11.1 设计要求 187
11.2 设计可行性分析 188
11.3 系统设计 190
11.3.1 硬件电路部分 190
11.3.2 程序框图 191
11.4 单元电路设计 193
11.4.1 MSP430系统初始化 193
11.4.2 基于Timer A的计数测量 195
11.4.3 数据显示内容的选择 199
11.4.4 浮点数据格式到科学计数法格式的转换 200
11.4.5 关于单元电路设计的进一步讨论 202
11.5 系统连调、测试及数据分析 203
11.5.1 系统连调 203
11.5.2 系统测试 206
11.5.3 测试数据分析 208
11.6 设计小结 208
第12章 信号产生器的设计 210
12.1 设计要求 211
12.2 方案论证 212
12.2.1 传统的信号产生器设计方案 212
12.2.2 直接数字合成技术 213
12.2.3 方案对比和选择 214
12.3 直接数字合成技术的实现方法选择 215
12.3.1 AD9854直接数字合成信号产生器芯片 215
12.3.2 使用微控制器实现直接数字合成(DDS)技术 216
12.3.3 使用可编程逻辑器件实现直接数字合成(DDS)技术 217
12.3.4 实现方法的对比与选择 218
12.4 系统设计 219
12.5 单元模块设计 220
12.5.1 使用Timer_A中断实现输出信号频率稳定 220
12.5.2 直接数字合成(DDS)技术的实现 222
12.5.3 频率字和相位字的译码 225
12.6 系统连调、测试及数据分析 227
12.6.1 系统连调 227
12.6.2 系统测试 233
12.6.3 测试数据分析 234
12.7 设计总结 234
参考文献 236