本书共8章。第1、2章是PSoC单片机基本组成结构、功能原理和特点,总体把握这一新型单片机。第6、7章为PSoC富有特色的可编程数字和模块接口系统的结构、功能、配置方法、生成API函数,每个模块介绍时都配有例程,是全书的重点部分,必须认真学习,深入理解,为PSoC的开发、应用打下基础。第3、5章是PSoC单片机的汇编语言和C语言两种开发工具的语法特点、编译使用方法及混合编程。第4章是PSoC单片机集成开发环境PSoC Designer的安装、组成及有特色的三个管理器,并结合实际例子一步一步介绍,应熟练掌握。第8章是围绕PSoC单片机应用的几个实验例子,每个例子详细说明了实验目的、原理、电路原理、接口配置和编程方法,通过实践来真正体会使用PSoC单片机的乐趣。
本书首先从系统结构的角度去把握PSoC单片机,详细阐述了其M8C内核,富有特色的可编程数字和模拟接口系统及相应的可编程互联总线、PSoC丰富的系统资源;从系统程序员角度介绍各种可配置数字、模拟及混合信号处理功能模块的APl函数,同时介绍了PSoC丰富的开发手段,如汇编器、C编译器及集成开发环境,并通过实际案例的一步一步引导,牢固掌握PSoC单片机。
本书是一本较系统地介绍PSoC原理、结构、开发和应用的教材,强调通过实践来体会PSoC单片机的应用,可作为计算机科学与技术、电子科学与技术、信息与通信工程、仪器科学与技术、控制科学与工程等学科各相关专业的本科生及研究生的专业教材;也可作为从事嵌入式计算机系统的研究和应用的工程技术人员的参考书。
前言
第1章 绪论/1
1.1 单片机的诞生、发展及应用/1
1.1.1 单片机的诞生/1
1.1.2 单片机的广泛应用/2
1.1.3 单片机的发展趋势/3
1.2 采用单片机的数字系统设计/5
1.2.1 数字系统/5
1.2.2 传统数字系统设计/7
1.2.3 采用单片机的数字系统设计/8
1.3 现代数字系统的设计/11
1.3.1 SoC设计方法/11
1.3.2 SoPC设计方法/13
1.3.3 系统可配置单片机/14
1.4 PSoC的结构/16
1.4.1 PSoC总体结构/16
1.4.2 PSoC特点/18
1.5 PSoC系列芯片介绍/19
1.5.1 PSoC系列芯片/19
1.5.2 PSoC典型应用/19
1.6 小结/21
思考题/21
第2章 PSoC的体系结构/22
2.1 PSoC的总体结构/22
2.1.1 PSoC内核/22
2.1.2 可配置数字接口系统/23
2.1.3 可配置模拟接口系统/24
2.1.4 系统资源/24
2.2 PSoC内核系统/24
2.2.1 M8C CPU内核/24
2.2.2 SRAM/26
2.2.3 SROM/30
2.2.4 中断控制器/35
2.2.5 通用输入输出端口/39
2.2.6 模拟输出驱动/43
2.2.7 PSoC内核的时钟系统/45
2.2.8 睡眠和看门狗/48
2.3 PSoC系统资源/49
2.3.1 数字时钟/50
2.3.2 乘法加法器/53
2.3.3 采样抽取器/55
2.3.4 I2C单元/59
2.3.5 内部参考电压/62
2.3.6 系统复位/62
2.3.7 开关式升压泵/63
2.3.8 上电复位和低电压检测/63
2.3.9 I/O模拟多路复用器/64
2.3.10 全速USB/67
2.4 小结/70
思考题/71
第3章 PSoC的指令系统和汇编程序设计/72
3.1 寻址方式/72
3.2 算术运算类指令/74
3.3 逻辑运算类指令/78
3.4 移位类指令/81
3.5 数据传送类指令/85
3.6 转移控制类指令/89
3.7 处理器类指令/95
3.8 PSoC汇编语言程序设计基础/96
3.8.1 汇编语言文件分类/96
3.8.2 编译器伪指令系统/105
3.8.3 汇编编程/111
3.9 小结/112
思考题/112
第4章 PSoC集成开发环境/114
4.1 PSoC应用系统设计流程/114
4.2 集成开发环境PSoC Designer/116
4.2.1 PSoC Designer的安装/116
4.2.2 PSoC Designer简介/116
4.2.3 PSoC Designer的使用/118
4.3 简单人机接口应用系统的设计实例/133
4.4 小结/136
思考题/136
第5章 PSoC的C语言程序设计基础/137
5.1 简介/137
5.2 PSoC程序结构/137
5.2.1 顺序结构/138
5.2.2 分支结构/138
5.2.3 循环结构/141
5.3 PSoC C语法/143
5.3.1 数据类型和运算符/144
5.3.2 C语言的指针/146
5.4 PSoC C程序设计/148
5.4.1 预处理命令/148
5.4.2 PSoC应用程序举例/149
5.5 小结/152
思考题/153
第6章 PSoC可配置数字接口系统/154
6.1 PSoC数字接口系统体系结构/154
6.1.1 全局数字接口系统互连/154
6.1.2 行间数字阵列互连/158
6.1.3 行内数字模块互连/158
6.1.4 基本数字单元/164
6.2 定时器和计数器用户模块/165
6.2.1 定时器和计数器简介/165
6.2.2 TIMER8用户模块结构特性/167
6.2.3 TIMER8用户模块配置和API函数/167
6.2.4 COUNTER8用户模块配置和API函数/171
6.2.5 TIMER8用户模块应用举例/172
6.3 数字脉宽调制模块/172
6.3.1 脉宽调制模块简介/172
6.3.2 PWM8用户模块结构特性/173
6.3.3 PWM8用户模块配置与API函数/174
6.3.4 PWM8用户模块应用举例/175
6.4 数字通信用户模块/176
6.4.1 串行通信概述/176
6.4.2 SPI串行通信用户模块/178
6.4.3 UART串行通信用户模块/182
6.4.4 串行IrDA通信用户模块/186
6.4.5 循环冗余校验用户模块/190
6.5 其他数字用户模块/193
6.5.1 伪随机序列发生器用户模块/193
6.5.2 E2PROM用户模块/194
6.5.3 数字缓冲器用户模块/195
6.5.4 数字反相器用户模块/196
6.5.5 LCD工具箱用户模块/196
6.5.6 7段式LED控制器用户模块/197
6.5.7 LED用户模块/198
6.5.8 休眠定时器用户模块/199
6.5.9 SDCard用户模块/200
6.6 小结/201
思考题/201
第7章 PSoC可配置模拟接口系统/202
7.1 PSoC模拟接口系统体系结构/202
7.1.1 模拟接口/202
7.1.2 模拟阵列/203
7.1.3 模拟接口系统输入及选择/203
7.1.4 模拟输出驱动/205
7.1.5 模拟信号基准电压发生器/208
7.1.6 基本模拟单元/208
7.2 数模转换器用户模块/212
7.2.1 数模转换器用户模块简介/212
7.2.2 基本电压输出数模转换器用户模块/212
7.2.3 四象限乘法电压输出数模转换器用户模块/216
7.3 模数转换器用户模块/219
7.3.1 模数转换器用户模块简介/219
7.3.2 逐次逼近模数转换器用户模块/220
7.3.3 积分式模数转换器用户模块/222
7.3.4 △-∑模数转换器用户模块/228
7.4 放大器和比较器用户模块/234
7.4.1 可编程增益放大器用户模块/234
7.4.2 可编程增益反向放大器用户模块/236
7.4.3 仪器放大器用户模块/238
7.4.4 比较器用户模块/242
7.5 有源滤波器用户模块/245
7.5.1 有源滤波器概述/245
7.5.2 双极点带通滤波器用户模块/248
7.5.3 双极点低通滤波器用户模块/250
7.6 小结/253
思考题/253
第8章 PSoC实验/255
8.1 PSoC/StartKit学习板简介/255
8.2 八段数码管动态显示实验/256
8.2.1 目的/256
8.2.2 要求/256
8.2.3 八段数码管扫描显示原理/256
8.2.4 PSoC接口配置/257
8.2.5 PSoC软件设计/258
8.2.6 拓展实验/260
8.3 4×3矩阵数字键盘设计实验/260
8.3.1 目的/260
8.3.2 要求/260
8.3.3 矩阵数字键盘扫描原理/260
8.3.4 PSoC接口配置/261
8.3.5 PSoC软件设计/263
8.3.6 拓展实验/264
8.4 模数转换实验/264
8.4.1 目的/264
8.4.2 要求/264
8.4.3 A/D转换原理/264
8.4.4 PSoC接口配置/265
8.4.5 PSoC软件设计/267
8.4.6 拓展实验/267
8.5 PWM控制蜂鸣器实验/268
8.5.1 目的/268
8.5.2 要求/268
8.5.3 PWM控制蜂鸣器音量原理/268
8.5.4 PSoC接口配置/269
8.5.5 PSoC软件设计/270
8.5.6 拓展实验/271
8.6 UART通信实验/271
8.6.1 目的/271
8.6.2 要求/271
8.6.3 UART串口通信原理/271
8.6.4 PSoC接口配置/272
8.6.5 PSoC软件设计/273
8.6.6 拓展实验/273
8.7 USB通信实验/274
8.7.1 目的/274
8.7.2 要求/274
8.7.3 USB通信原理/274
8.7.4 PSoC接口配置/275
8.7.5 PSoC软件设计/276
8.7.6 拓展实验/276
8.8 小结/276
思考题/277
参考文献/278