序言 1
前言 1
第1章 概论 1
1.1 凌阳科技公司简介 1
1.2 凌阳单片机产品简介 2
1.3 凌阳8位单片机SPMC65系列简介 2
1.4 凌阳16位单片机μ'nSP系列简介 3
1.5 SPMC75系列单片机的特色 4
1.6 SPMC75系列单片机用于电机控制 7
2.1 SPMC75F2413A内部结构简介 9
第2章 SPMC75F2413A硬件系统概况 9
2.2 新版μ'nSP CPU内核结构 11
2.3 核心区域的单元电路及其功能 11
2.3.1 核心区域单元电路 12
2.3.2 CPU寄存器 13
2.4 系统模块及其功能 17
2.5 SPMC75系列单片机的最小应用系统 18
2.6 片内外设模块及其功能 20
2.7 SPMC75封装形式和引脚功能 20
2.8 存储器的空间布局 27
2.8.1 如果按工艺类型划分 28
2.8.2 如果按空间划分 28
2.8.3 如果按功能划分 29
2.9 存储器的功能分配 30
2.9.1 数据存储器(RAM) 30
2.9.2 堆栈 30
2.9.3 专用寄存器(SFR) 32
2.9.4 程序存储器(Flash-ROM) 36
2.9.5 用户矢量区 37
第3章 指令系统和寻址方式 39
3.1 指令系统概述 39
3.1.1 SPMC75指令的时空属性 40
3.1.2 SPMC75指令的描述方法 40
3.1.3 SPMC75指令影响标志位的情况 41
3.2 寻址方式 42
3.2.1 与字数据相关的寻址方式 43
3.2.2 与跳转地址有关的寻址方式 48
3.2.3 与位数据有关的寻址方式 50
3.3 指令系统分类解析 51
3.3.1 数据传送指令 51
3.3.2 算术运算指令 56
3.3.3 逻辑操作指令 61
3.3.4 控制跳转指令 68
3.3.5 位操作指令 72
3.3.6 CPU控制指令 73
4.1.1 背景知识 77
4.1 概述 77
第4章 汇编程序设计基础和汇编语言工具链 77
4.1.2 汇编语言的语句格式 79
4.1.3 程序流程和整体结构 83
4.1.4 源程序文件的书写格式 84
4.2 常用伪指令 86
4.2.1 符号名定义类伪指令 87
4.2.2 存储器空间初始化类伪指令 90
4.2.3 控制类伪指令 91
4.3 4种基本程序结构 95
4.3.1 顺序程序结构 96
4.3.2 分支程序结构 97
4.3.3 循环程序结构 99
4.3.4 子程序结构 100
4.4 几种个性化实用程序的设计方法 102
4.4.1 初始化程序段设计 103
4.4.2 延时程序设计 104
4.4.3 查表程序设计 106
4.4.4 散转程序设计 108
4.4.5 条件长跳转程序设计 112
4.5 汇编语言工具链 113
4.5.1 工具链的构成和启动顺序 113
4.5.2 工具链的加工流程 115
4.6.1 解读包含文件(SPMC75F2413A.inc) 117
4.6 输入文件的解读 117
4.6.2 解读汇编语言主程序模板文件(Spmc75_main.asm) 118
4.6.3 解读汇编语言子程序模板文件(Spmc75_isr.asm) 119
4.7 输出文件的解读 122
4.7.1 解读列表文件(.LST) 122
4.7.2 解读最终目标文件(.S37) 123
第5章 软件集成开发环境及其软件模拟开发技术 125
5.1 概述 125
5.1.1 μ'nSP IDE功能简介 125
5.1.2 μ'nSP IDE如何获取 127
5.1.3 μ'nSP IDE如何安装 129
5.1.4 μ'nSP IDE如何删除 138
5.2 μ'nSP IDE的启动和退出 139
5.2.1 μ'nSP IDE如何启动 139
5.2.2 μ'nSP IDE开发环境简介 140
5.2.3 μ'nSP IDE如何打开和关闭项目 141
5.2.4 μ'nSP IDE如何退出 143
5.3 μ'nSP IDE如何管理台面组件 143
5.3.1 μ'nSP IDE如何管理菜单栏和工具栏 144
5.3.2 μ'nSP IDE如何管理窗口 145
5.4 如何创建自己的项目和文件 152
5.4.1 如何创建和保存一个新项目(.spj) 152
5.4.2 如何创建、保存和添加一个新源文件 154
5.4.3 如何制作目标文件 160
5.5 如何管理文件和文件组 162
5.5.1 如何建立文件组 162
5.5.2 如何移动文件或文件组 163
5.5.3 如何在μ'nSP IDE中查看文件存储位置 163
5.6 如何设置项目 164
5.6.1 设置通用选项(General) 165
5.6.2 设置硬件选项(Hardware) 165
5.6.3 设置μ'nSP IDE的虚拟组件 166
5.7 如何应用μ'nSP IDE调试项目 169
5.7.1 切换到项目调试界面 171
5.7.2 开启CPU寄存器窗口(Registers) 172
5.7.3 开启变量观察窗(Watch) 173
5.7.4 连续运行 175
5.7.5 复位操作 175
5.7.6 单步运行 176
5.7.7 连续单步运行 177
5.7.8 设置断点运行 177
5.7.9 连续断点运行 179
5.7.10 运行到光标处 179
5.7.11 从指定行开始运行 180
5.7.12 查看反汇编窗口 181
5.7.13 跟踪运行和查看轨迹 182
5.7.14 开启和设置存储器观察窗 184
5.7.15 开启和设置命令对话窗 185
5.7.16 修改寄存器和存储器单元 187
5.7.17 启用虚拟端口模块 188
5.8 μ'nSP IDE系统命令汇总归纳 189
5.8.1 工具栏(Tool bar) 189
5.8.2 菜单命令归纳 191
5.8.3 菜单命令功能的快速查验方法 193
第6章 硬件综合开发工具及其硬件仿真开发技术 195
6.1 硬件工具链及其重要性 195
6.1.1 实时在线仿真器 196
6.1.3 单片机目标板 197
6.1.2 程序烧写器 197
6.1.4 简易型SPMC75单片机综合开发实验仪——EVM板 198
6.2 三合一型开发实验工具EVM板的特点 199
6.2.1 EVM板能帮我们做什么 199
6.2.2 EVM板的电路布局和接线方法 199
6.2.3 EVM板的配套资源 202
6.2.4 在线调试器 203
6.2.5 EVM板功能模块描述 203
6.2.6 EVM板的两种典型用法 209
6.3 EVM板的安装方法 209
6.3.2 硬件安装方法 210
6.4 如何应用EVM板与μ'nSP IDE配合工作 210
6.3.1 软件安装方法 210
6.4.1 μ'nSP IDE环境的选项设置 212
6.4.2 如何建立μ'nSP IDE与EVM板的通信 213
6.4.3 如何在EVM板上实时运行用户程序 214
6.4.4 在EVM板上调试用户程序的方法 215
6.5 如何应用EVM板进行项目开发 215
6.5.1 单片机应用项目开发流程 216
6.5.2 项目调试过程中的需要关注的问题 218
6.5.3 硬件仿真模式与软件模拟模式的差异 219
6.6 EVM板烧写器的安装方法 219
6.6.2 软件安装方法 220
6.6.1 软件获取方法 220
6.6.3 硬件安装方法 224
6.7 EVM板烧写器的应用方法 224
6.7.1 μ'nSP EzPro如何启动 224
6.7.2 μ'nSP EzPro如何关闭 225
6.7.3 μ'nSP EzPro界面分布和功能 225
6.7.4 μ'nSP EzPro的菜单命令 226
第7章 通用并行输入/输出端口及其应用 231
7.1 概述 231
7.2 并行端口相关的寄存器 232
7.2.1 端口数据寄存器P_IOX_Data 233
7.2.4 端口属性寄存器P_IOX_Attrib 234
7.2.3 端口方向寄存器P_IOX_Dir 234
7.2.2 端口缓冲寄存器P_IOX_Buffer 234
7.2.5 引脚配置位与引脚结构配置 235
7.3 并行端口的内部结构和工作原理 236
7.3.1 并行端口的基本结构 236
7.3.2 并行端口的工作原理 240
7.4 各个并行端口的共性和个性 245
7.4.1 端口IOA的特殊功能 246
7.4.2 端口IOB的特殊功能 250
7.4.3 端口IOC的特殊功能 252
7.5 并行端口特性的应用设计 254
7.5.1 内部弱拉功能的妙用 254
7.5.2 非对称驱动能力的用法 256
附录A SPMC75F2413A专用寄存器列表 257
附录B ASCII码表 261
附录C 包含文件SPMC75F2413A.INC 265
附录D μ'nSP(V1.2)指令集速查表 309
附录E SPMC75F2413A的指令周期表 313
附录F μ'nSP IDE的保留字 321
附录G μ'nSP英文指令分类列表(划分为4类49种) 323
附录H 汇编器报错信息和警告信息列表 325
附录I 连接器报错信息和警告信息列表 333
附录J 库管理器报错信息和警告信息列表 337
参考文献 339