目 录 1
第1章单片机系统概述 1
1.1单片机系统的特点 1
1.2单片机技术的发展 1
1.2.1发展过程 1
1.2.2技术发展 2
1.3单片机系统应用 3
第2章SPCE061A单片机简介 5
2.1 SPCE061A概述 5
2.1.1 主要性能 5
2.1.2 SPCE061A模块结构 5
2.1.3芯片管脚排列及功能 6
2.1.4最小应用系统 7
2.2 μ’nSPTM内核结构 8
2.1.5开发应用方式 8
2.2.1算术逻辑运算单元 9
2.2.2寄存器组 10
2.2.3总线结构 10
2.3 SPCE061A单片机存储器 11
2.3.1 RAM 11
2.3.2堆栈 11
2.3.3闪存FLASH(闪速存储器) 12
思考题 13
第3章 SPCE061A指令系统 14
3.1概述 14
3.1.1指令分类 14
3.1.2寻址方式 14
3.2数据传送指令 16
3.3.1加法运算指令 19
参考文献 3 19
3.3算术运算指令 19
3.3.2减法运算指令 21
3.3.3带进位的加减法运算指令 23
3.3.4乘法运算指令 23
3.3.5内积运算指令 24
3.3.6比较指令 25
3.4逻辑运算指令 25
3.4.1逻辑与指令 25
3.4.2逻辑或指令 27
3.4.3逻辑异或指令 28
6.3.5 SACM_MS01 1 30
3.4.4测试指令 30
3.4.5位移操作指令 32
3.5控制转移类指令 35
3.6常用伪指令 38
3.6.1伪指令的语法格式及特点 38
3.6.2伪指令符号约定 39
3.6.3标准伪指令 39
3.6.4宏定义与调用 40
3.6.5段定义与调用 41
3.6.6结构定义与调用 42
3.6.7过程定义与调用 43
思考题 44
第4章 SPCE061A硬件系统 45
4.1并行输入/输出端口 45
4.1.1 I/O端口结构 45
4.1.2端口设置寄存器 46
4.1.3工作方式设置 47
4.1.4 B 口的特殊功能 50
4.2系统时钟与复位电路 52
4.2.1 时钟电路 52
4.2.3系统时钟 52
4.2.2锁相环PLL(Phase Lock Loop)振荡器 52
4.2.4 时间基准信号 53
4.2.5复位电路 54
4.3定时器/计数器 55
4.3.1工作原理 55
4.3.2工作寄存器设置 56
4.3.3定时器/计数器应用 60
4.4.1 A/D转换 60
4.4 A/D(模/数)转换器 60
4.4.2 A/D转换器设置 62
4.4.3 A/D转换器的物理性能 63
4.5 DAC音频输出 66
4.5.1硬件组成 66
4.5.2寄存器设置 67
4.6串行设备输入/输出端1口1 SIO 68
4.6.1寄存器设置 69
4.6.2 应用举例 70
4.7.1 UART数据帧格式 72
4.7.2 工作寄存器设置 72
4.7通用异步串行通信口UART 72
4.8 作方式 76
4.8.1睡眠方式 76
4.8.2低电压监测/低电压复位 77
(LVD/LVR) 77
4.8.3看门狗监视器 77
4.8.4保密设定 78
思考题 78
4.8.5语音编码类型 78
第5章 中断系统及应用 80
5.1概述 80
5.2 SPCE061A中断系统 81
5.2.1 中中断类型 81
5.2.2 中中断源 82
5.2.3 中中断控制 84
5.2.4 中中断向量及优先级 87
5.2.5 中中断响应 88
5.3 中断系统应用 90
5.3.1单中断源应用 90
5.3.2多中断源应用 103
思考题 110
6.1.3音频格式 111
6.1.2音频信号的抽样和量化 111
6.1概述 111
第6章语音处理技术及应用 111
6.1.1音频信号 111
6.1.4语音压缩编码基础 113
6.1.5语音合成和识别技术 114
6.2凌阳音频技术简介 115
6.2.1 压缩算法的编码标准 115
6.2.2压缩分类 115
6.2.3常用的音频形式和压缩算法 116
6.3常用应用程序接口 116
6.3.1程序接口概述 116
6.3.2 SACM_A2000 117
6.3 3 SACM_S480 123
6.3.4 SACM_S240 126
6.3.6 SACM_DVR 135
6.4.2 Windows环境下压缩 136
6.4语音压缩方法 136
6.4.1 DOS环不境下压缩 136
6.5键控放音程序 137
6.5.1常用的键盘API函数 138
6.5.2系统资源模块 138
6.5.3 应用实例 139
6.6语音识别技术 143
6.6.1 设置 143
6.6.2 应用实例 145
第7章 实用C语言程序设计 153
7.1基本数据类型 153
7.2流程控制语句 154
7.3构造数据类型 157
7.4 C语言与汇编相互调用 166
7.5 I/O端口的C语言程序设计 169
7.6系统设置的C语言程序设计 171
7.6.1 系统设置的C函数 171
7.6.2 应用实例 173
7.7 定时器/计数器设置的C函数 174
7.7.1 库中提供的API函数 174
7.7.2 定时器/计数器应用实例 176
7.8 中断系统的C语言程序设计 178
7.8.1 中断控制的相关C函数 178
7.8.2 中断系统应用实例 180
7.9 A/D、D/A转换的C语言程序设计 187
7.9.1相关C函数 187
7.9.2 立用实例 191
7.10 SIC和UART的C语言程序设计 193
7.10.1相关C函数 193
7.10.2 应用实例 197
第8章单片机应用系统设计 200
8.1系统设计内容 200
8.1.1系统硬件组成 200
8.1.2系统设计内容 202
8.2系统开发过程 203
8.3.1确定系统功能 204
8.3系统设计方法 204
8.3.2确定系统结构 205
8.3.3系统设计原则 206
8.3.4系统硬件设计 207
8.3.5系统软件设计 208
8.3.6资源分配 209
8.4系统调试 209
8.4.1常用工具 210
8.4.2调试方法 211
8.5.1 场调研与功能确定 215
8.5 SPCE061A系统设计举例 215
8.5.2硬件设计 215
8.5.3软件设计 219
第9章 SPCE061A实用技术 239
9.1应用领域 239
9.1.1数字信号处理 239
9.1.2便携式终端 240
9.1.3嵌入式系统 240
9.2应用举例 241
9.2.1作息时间控制 241
9.1.4凌阳单片机应用 241
9.2.2温度计设计 245
9.2.3红外遥控器 247
9.2.4学习机 250
9.2.5 多功能信号发生器 252
9.2.6语音识别 255
思考题 259
10.1调试菜单 266
第10章集成开发环境 266
10.2工具栏 267
10.3 窗口使用 269
10.4.1建立项目 278
10.4 项目管理 278
10.4.2在项目中新建C文件(.C) 279
10.4.3在项目中新建汇编文件(.asm) 280
10.4.4在项目中新建头文件(.H) 281
10.4.5在项目中新建文本文件(.tXt) 281
10.4.6在项目中新建二进制文件 282
10.4.7在项目中添加/删除文件 282
10.4.8在项目中使用资源 283
10.4.9项目选项的设置 283
10.5代码剖视器 286
10.5.1激活Profile的方法 286
10.4.10 项目的编译 286
10.5.2使用Profile的步骤 287
附录 290
附录A端口功能总述 290
附录B SPCE061A指令集 291
附录C C_LIB函数集 299
附录D常用伪指令表 309
附录E SPCE061A编译相关错误信息 310