《16位语音型单片机SPCE061A实用教程 基础篇》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:李学海编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115137943
  • 页数:310 页
图书介绍:本书对16位单片机系列共性进行简介。

第1章 概论 1

1.1 为什么“要我”学用单片机 1

1.2 为什么“我要”学用单片机 3

1.3 单片机究竟是什么 5

1.4 单片机有什么用途 7

1.5 单片机有什么特点 8

1.6 本教程的写作思路和目标 9

1.7 常用专业术语 10

1.7.1 硬件方面 11

1.7.2 软件方面 13

1.8 凌阳科技公司简介 15

1.9 凌阳单片机产品简介 15

1.9.1 凌阳SPMC65系列8位单片机简介 16

1.9.2 凌阳μ′nSP系列16位单片机简介 17

1.10 μ′nSP CPU内核的特色 18

1.11 SPCE061A单片机的性能特点 19

1.12 SPCE061A开发方法 21

1.13 SPCE061A的适用领域 22

思考与练习题 23

第2章 SPCE061A硬件系统概况 24

2.1 SPCE061A内部结构简介 24

2.2 μ′nSP CPU内核结构 26

2.3 核心区域的单元电路及其功能 26

2.3.1 核心区域单元电路 27

2.3.2 CPU寄存器 28

2.4 系统模块及其功能 30

2.5 SPCE061A最小应用系统 31

2.6 片内外设模块及其功能 33

2.7 SPCE061A封装形式和引脚功能 34

2.8 存储器的空间布局 40

2.8.1 按工艺类型划分 41

2.8.3 按功能划分 42

2.8.2 按空间划分 42

2.9.1 数据存储器(RAM) 43

2.9.2 堆栈 43

2.9.2.1 堆栈的概念 43

2.9.2.2 堆栈的用途 43

2.9 存储器的功能分配 43

2.9.2.3 堆栈的结构 44

2.9.2.4 堆栈的操作 44

2.9.2.5 注意事项 45

2.9.3 专用寄存器(SFR) 45

2.9.4 程序存储器(Flash-ROM) 47

2.9.5 用户矢量区 48

思考与练习题 48

第3章 指令系统和寻址方式 50

3.1 指令系统概述 50

3.1.2 指令的描述方法 51

3.1.1 指令的时空属性 51

3.1.3 指令影响标志位的情况 53

3.1.4 指令的使用频度 53

3.2 寻址方式 54

3.2.1 与字数据相关的寻址方式 55

3.2.1.1 6位立即数寻址 55

3.2.1.2 16位立即数寻址 55

3.2.1.3 6位直接地址寻址 56

3.2.1.4 16位直接地址寻址 56

3.2.1.5 寄存器寻址 57

3.2.1.6 寄存器间接寻址 58

3.2.1.7 寄存器间接增量寻址 59

3.2.1.8 寄存器基址变址寻址 59

3.2.1.9 多重间接寻址 60

3.2.2.2 直接跳转寻址 62

3.2.3 与位数据有关的寻址方式 62

3.2.2.1 相对跳转寻址 62

3.2.2 与跳转地址有关的寻址方式 62

3.3 指令系统分类解析 63

3.3.1 数据传送指令 63

3.3.2 算术运算指令 68

3.3.3 逻辑操作指令 72

3.3.4 控制跳转指令 78

3.3.5 CPU控制指令 82

3.4 指令的应用技巧 83

3.4.1 位置1操作技巧 83

3.4.2 位清0操作技巧 84

3.4.3 位取反操作技巧 84

3.4.4 位测试操作技巧 85

3.5 “CPU—专用寄存器—模块”相互关系 86

思考与练习题 87

4.1.1 背景知识 88

4.1 概述 88

第4章 汇编程序设计基础和汇编语言工具链 88

4.1.2 汇编语言的语句格式 90

4.1.3 程序流程和整体结构 94

4.1.4 源程序文件的书写格式 95

4.2 常用伪指令 98

4.2.1 符号名定义类伪指令 99

4.2.2 存储器空间初始化类伪指令 101

4.2.3 控制类伪指令 103

4.3 四种基本程序结构 107

4.3.1 顺序程序结构 107

【例程4.1】字节拆分 107

4.3.2 分支程序结构 109

【例程4.2】数值比较 109

4.3.3 循环程序结构 111

【例程4.3】RAM区间填充 111

4.3.4 子程序结构 112

【例程4.4】挑出最大数 113

4.4 几种个性化实用程序的设计方法 114

4.4.1 初始化程序段设计 115

4.4.2 延时程序设计 115

【例程4.5】软件延时100ms 116

4.4.3 查表程序设计 117

【例程4.6】阶乘函数查表程序 118

4.4.4 散转程序设计 120

4.4.4.1 利用RETF指令法 120

【例程4.7】利用RETF的散转程序 121

4.4.4.2 利用PC=[Rs]指令法 122

【例程4.8】利用PC=[Rs]的散转程序 122

4.4.5 条件长跳转程序设计 123

4.5 汇编语言工具链 124

4.5.1 工具链的构成和启动顺序 124

4.5.2 工具链的加工流程 126

4.6.1 解读包含文件(Hardware.inc) 127

4.6 输入文件的解读 127

4.6.2 解读汇编语言模板文件(_main.asm) 128

4.6.3 解读汇编语言子程序模板文件(_isr.asm) 130

4.7 输出文件的解读 133

4.7.1 解读列表文件(.LST) 133

4.7.2 解读最终目标文件(.S37) 135

思考与练习题 136

5.1.1 μ′nSP IDE功能简介 137

5.1 概述 137

第5章 软件集成开发环境及其软件模拟开发技术 137

5.1.2 μ′nSP IDE如何获取 139

5.1.3 μ′nSP IDE如何安装 141

5.1.4 μ′nSP IDE如何拆除 149

5.2 μ′nSP IDE的启动和退出 150

5.2.1 μ′nSP IDE如何启动 150

5.2.2 μ′nSP IDE开发环境简介 151

5.2.3 μ′nSP IDE如何打开和关闭项目 153

5.3 μ′nSP IDE如何管理台面组件 154

5.2.4 μ′nSP IDE如何退出 154

5.3.1 μ′nSP IDE如何管理菜单栏和工具栏 155

5.3.1.1 如何布局 155

5.3.1.2 如何开启和关闭 156

5.3.2 μ′nSP IDE如何管理窗口 156

5.3.2.1 如何打开和查看文本文件 156

5.3.2.2 如何布局编辑窗口 158

5.3.2.3 如何设置“一文多窗” 160

5.3.2.4 如何布局项目窗口和输出窗口 160

5.3.2.5 如何关闭窗口 161

5.4 如何创建自己的项目和文件 162

5.4.1 如何创建和保存一个新项目(.spj) 162

5.4.2 如何创建、保存和添加一个新源文件 164

5.4.2.1 方法之一——改编现有文件 165

【范例程序5.1】虚拟LED显示16位二进制累加计数器 166

5.4.2.2 方法之二——先添加后编辑 168

5.4.2.3 方法之三——先编辑后添加 169

5.4.2.4 如何删除文件 170

5.4.3 如何制作目标文件 171

5.5 如何管理文件和文件组 173

5.5.1 如何建立文件组 173

5.5.2 如何移动文件或文件组 174

5.5.3 如何在μ′nSP IDE中查看文件存储位置 174

5.6 如何设置项目 175

5.6.1 设置通用选项(General) 176

5.6.2 设置硬件选项(Hardware) 176

5.6.3 设置μ′nSP IDE的虚拟组件 177

5.6.3.1 虚拟组件PortIO 178

5.6.3.2 虚拟组件Input-Output 179

5.7 如何应用μ′nSP IDE调试项目 180

5.7.1 切换到项目调试界面 182

5.7.2 开启CPU寄存器窗口(Registers) 183

5.7.3 开启变量观察窗(Watch) 184

5.7.4 连续运行 186

5.7.5 复位操作 187

5.7.6 单步运行 187

5.7.6.1 单步进入运行方式——步入 188

5.7.6.2 单步跳出运行方式——步出 188

5.7.6.3 单步跨越运行方式——步越 188

5.7.7 连续单步运行 189

5.7.8 设置断点运行 189

5.7.9 连续断点运行 191

5.7.10 运行到光标处 191

5.7.11 从指定地址开始运行 192

5.7.12 查看反汇编窗口 192

5.7.13 跟踪运行和查看轨迹 194

5.7.14 开启和设置存储器观察窗 195

5.7.15 开启和设置命令对话窗 197

5.7.16.2 修改存储器单元 199

5.7.16 修改寄存器和存储器单元 199

5.7.16.1 修改CPU寄存器 199

5.7.17 启用虚拟端口模块 200

5.8 μ′nSP IDE系统命令汇总归纳 201

5.8.1 工具栏(Tool bar) 201

5.8.2 菜单命令归纳 203

5.8.3 菜单命令功能的快速查验方法 205

思考与练习题 205

第6章 硬件综合开发工具及其硬件仿真开发技术 207

6.1 硬件工具链及其重要性 207

6.1.1 实时在线仿真器 208

6.1.2 程序烧写器 209

6.1.3 单片机目标板 209

6.1.4 简易型单片机综合开发实验仪——61板 210

6.2 三合一型开发实验工具61板的特点 211

6.2.1 61板能帮我们做什么 211

6.2.2 61板的电路布局 212

6.2.3 61板的广泛适用性 215

6.2.4 下载线和在线调试器 216

6.2.5 61板功能分区描述 217

6.2.6 61板的两种典型用法 223

6.3 61板的安装方法 223

6.3.1 软件安装方法 223

6.3.2 硬件安装方法 224

6.4 如何应用61板与μ′nSP IDE配合工作 225

6.4.1 μ′nSP IDE环境的选项设置 225

6.4.2 如何建立μ′nSP IDE与61板的通信 226

6.4.3 如何在61板上实时运行用户程序 227

6.4.4 硬件仿真模式与软件模拟模式的差异 228

6.4.5 项目调试过程中需要关注的问题 229

6.5 如何应用61板进行项目开发 230

6.5.1 单片机应用项目开发流程 230

【实验示范6.1】简易3键电子琴 233

6.5.2 项目原型机开发示范 233

6.6 61板烧写器的安装方法 237

6.6.1 软件获取方法 237

6.6.2 软件安装方法 238

6.6.3 硬件安装方法 241

6.7 61板烧写器的应用方法 241

6.7.1 μ′nSP EzPro如何启动 242

6.7.2 μ′nSP EzPro如何关闭 242

6.7.3 μ′nSP EzPro界面分布和功能 243

6.7.4 μ′nSP EzPro的菜单命令 243

6.7.4.1 文件类菜单命令 243

6.7.4.2 ICE类操作命令 244

6.7.4.3 查看类操作命令 245

6.7.4.4 帮助类操作命令 246

思考与练习题 246

7.1 概述 248

第7章 通用并行输入/输出端口及其应用 248

7.2 并行端口相关的寄存器 249

7.2.1 端口数据寄存器P_IOX_Data 250

7.2.2 端口缓冲寄存器P_IOX_Buffer 250

7.2.3 端口方向寄存器P_IOX_Dir 250

7.2.4 端口属性寄存器P_IOX_Attrib 251

7.2.5 引脚配置位与引脚配置结构 251

7.3 并行端口的内部结构和工作原理 252

7.3.1 并行端口的基本结构 253

7.3.2 并行端口的工作原理 257

7.3.3 应用程序编写方法 260

7.4 两个并行端口的共性和个性 262

7.4.1 端口IOA的特殊功能 263

7.4.2 触键中断和唤醒功能 264

7.4.3 端口IOB的特殊功能 265

7.5.1.1 连接开关 267

7.5.1 内部弱拉功能的妙用 267

7.5 并行端口特性的应用设计 267

7.5.1.2 构成“线与” 268

7.5.1.3 构成“线或” 268

7.5.2 非对称驱动能力的用法 268

思考与练习题 269

附录A ASCII码表 270

附录B SPCE061A的指令表 276

附录C 包含文件hardware.inc 286

附录D μ′nSP IDE的保留字 292

附录E μ′nSP汇编器伪指令列表 293

附录F μ′nSP汇编器输出报错信息 295

附录G μ′nSP连接器输出报错信息 300

附录H 库管理器输出报错信息 304

附录I SPCE061A单片机配套供应的实验开发设备和扩展模组 306

附录J 两种封装形式PLCC84和QFP80的SPCE061A引脚功能对照表 307

参考文献 309