1.1 单片机的发展概况 1
1.1.1 单片机的基本概念 1
1.1.2 单片机的发展史 1
第1章 概述 1
1.1.3 单片机的发展趋势 3
1.2 单片机的分类 4
1.3 凌阳16位单片机SPCE061A简介 5
1.3.1 SPCE061A简介 5
1.3.2 SPCE061A性能 6
1.4 SPCE061A的最小系统 7
1.3.3 SPCE061A结构概览 7
习题 8
第2章 SPCE061A硬件结构及工作原理 9
2.1 μ′nSPTM的内部结构 9
2.1.1 算术逻辑运算单元(ALU) 10
2.1.2 寄存器组 10
2.1.3 数据总线和地址总线 12
2.2 SPCE061A片内存储器结构 12
2.2.2 堆栈 13
2.2.3 闪存(FLASH) 13
2.2.1 SRAM 13
2.3 SPCE061A的时钟 15
2.3.1 SPCE061A的时钟电路 15
2.3.2 PLL锁相环振荡器 15
2.3.3 CPU时钟 16
2.3.4 时间基准信号 17
2.4 监视定时器(看门狗WatchDog) 19
2.5 SPCE061A的引脚和说明 19
习题 22
3.1.1 汇编语言指令格式 23
3.1 指令系统概述 23
第3章 SPCE061A指令系统 23
3.1.2 SPCE061A指令分类 24
3.1.3 寻址方式 25
3.1.4 SPCE061A指令系统的符号及约定 27
3.2 数据传送类指令 28
3.3 算术运算类指令 31
3.3.1 不带进位的加法运算指令 32
3.3.2 不带进位的减法运算指令 34
3.3.3 带进位的加减运算指令 36
3.3.4 乘法指令 37
3.3.5 n项内积运算指令 38
3.3.6 比较运算指令 39
3.4 逻辑运算指令 41
3.4.1 逻辑“与”指令 41
3.4.2 逻辑“或”指令 43
3.4.3 逻辑“异或”指令 44
3.4.4 测试(TEST)指令 46
3.4.5 移位操作指令 48
3.5 控制转移指令 49
3.6 其他指令 54
习题 55
第4章 SPCE061A汇编程序设计 57
4.1 伪指令 57
4.1.1 伪指令的语法格式及特点 57
4.1.2 伪指令符号约定 57
4.1.3 标准伪指令 57
4.1.4 伪指令的应用举例 67
4.2 SPCE061A程序设计举例 72
4.2.1 简单程序设计 72
4.2.2 分支程序设计 77
4.2.3 循环程序设计 80
4.2.4 子程序设计 82
4.3 汇编语言程序调试 86
习题 89
第5章 中断系统 91
5.1 中断的概述 91
5.2 SPCE061A中断系统 92
5.2.1 中断源的中断请求方式 93
5.2.2 中断控制 96
5.2.3 中断响应 100
5.2.4 中断服务流程 101
5.3 中断系统的应用 102
5.3.1 单中断源的应用 103
5.3.2 多中断源的应用 109
习题 117
第6章 SPCE061A的定时/计数器及其应用 119
6.1 定时/计数器的结构与工作原理 119
6.1.1 定时/计数器结构 119
6.1.2 定时/计数器的控制寄存器和数据寄存器 122
6.1.3 PWM 126
6.2 定时/计数器的初始化以及计数初值的计算方法 127
6.2.2 计数初值的计算 128
6.2.1 初始化步骤 128
6.2.3 定时器初始化程序举例 129
6.3 定时器综合应用举例 130
习题 134
第7章 SPCE061A并行I/O口及其应用 135
7.1 并行I/O口结构 135
7.1.1 并行I/O口的工作方式 136
7.1.2 并行I/O口的组合控制 136
7.1.3 应用举例 141
7.2.1 键盘接口 146
7.2 键盘及LED数码管接口 146
7.2.2 LED显示器接口 148
习题 154
第8章 串行通信 155
8.1 串行通信基础知识 155
8.1.1 两种通信方式 155
8.1.2 异步串行通信和同步串行通信 155
8.1.3 波特率及时钟频率 156
8.1.4 串行通信操作模式 157
8.1.6 常用总线 158
8.1.5 串行通信的校验 158
8.2 SPCE061A串行设备输入输出端口SIO 160
8.2.1 SPCE061A串行输入输出端口SIO的结构 160
8.2.2 SPCE061A串行输入输出端口SIO的寄存器 161
8.2.3 串行口工作过程 163
8.2.4 应用举例 164
8.3 SPCE061A通用异步串行接口UART 165
8.3.1 SPCE061A通用异步串行接口UART的结构 165
8.3.2 SPCE061A通用异步串行接口UART的寄存器 166
8.3.3 应用举例 169
习题 175
第9章 SPCE061A的D/A与A/D转换 176
9.1 D/A与A/D基本概念 176
9.2 D/A转换 177
9.2.1 D/A转换原理 177
9.2.2 D/A转换的主要性能指标 179
9.2.3 SPCE061A的DAC结构和工作原理 179
9.2.4 SPCE061A的DAC应用 182
9.2.5 D/A转换程序举例 182
9.3.1 A/D转换原理 185
9.3.2 SPCE061A的ADC结构和工作原理 185
9.3 A/D转换 185
9.3.3 SPCE061A的ADC应用 190
9.3.4 A/D转换程序举例 192
习题 195
第10章 音频压缩算法SACM_A2000 196
10.1 SACM_A2000音频压缩算法 196
10.1.1 SACM_A2000算法简介 196
10.1.2 SACM_A2000常用API函数 196
10.1.3 自动播放与手动播放的区别 202
10.1.4 语音压缩 204
10.1.5 自动播放方式 207
10.1.6 手动播放方式 216
10.2 键控放音 218
10.2.1 键盘API函数 219
10.2.2 键控播放应用 220
10.3 语音识别 223
10.3.1 语音识别API函数 223
10.3.2 语音识别应用举例 225
习题 232
11.1.1 用于数字信号处理 233
11.1 SPCE061A的应用领域 233
第11章 SPCE061A单片机应用及开发技术 233
11.1.2 用于开发研制便携式移动终端 234
11.1.3 用于开发嵌入式计算机应用系统 234
11.2 单片机应用系统的设计过程 235
11.3 SPCE061A的开发方式 235
11.4 SPCE061A单片机的应用举例 237
11.4.1 单片机报时及作息时间控制电子钟 237
11.4.2 热敏电阻温度计 247
11.5 单片机控制步进电机接口技术 249
11.5.2 步进电机的工作原理 250
11.5.1 步进电机的功能 250
11.5.3 单片机控制步进电机系统 251
11.5.4 步进电机驱动程序设计 253
11.6 CRC校验程序 259
11.6.1 CRC简介 259
11.6.2 CRC原理 259
习题 262
附录A SPCE061A的指令周期表 263
附录B μ′nSPTM编译相关错误信息 274
附录C 端口地址速查表 283
参考文献 285