PIC单片机宏汇编与集成开发环境PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:〔美〕微芯科技股份有限公著
- 出 版 社:清华大学出版社
- 出版年份:2002
- ISBN:
- 页数:375 页
上篇 宏汇编程序设计 3
第一部分 MPASM宏汇编 3
第1章 MPASM概述 3
1.1介绍 3
1.2重点 3
1.3什么是MPASM 3
1.4 MPASM能做什么 4
1.5软件代码移植 4
1.6兼容性问题 4
第2章 MPASM的安装与入门 5
2.1介绍 5
2.2重点 5
2.3安装 5
2.4汇编器概述 6
2.5汇编器输入/输出文件 7
2.5.1源代码格式(.ASM) 7
2.5.2列表文件格式(.LST) 9
2.5.3错误文件格式(.ERR) 10
2.5.4十六进制文件格式(.HEX、.HXL、.HXH) 11
2.5.5符号与调试文件格式(.COD) 11
2.5.6目标文件格式(.O) 11
第3章 基于DOS的MPASM汇编 12
3.1介绍 12
3.2重点 12
3.3命令行界面 12
3.4 DOS Shell界面 14
3.4.1 Source File:源文件 14
3.4.2 Processor Type:处理器类型 14
3.4.3 Error File:错误文件 14
3.4.4 Cross Reference File:交叉引用文件 15
3.4.5 Listing File:列表文件 15
3.4.6 HEX Dump Type:HEX文件输出类型 15
3.4.7 Assemble to Object File:汇编成目标文件 15
第4章 基于Windows和MPLAB的MPASM汇编 16
4.1介绍 16
4.2重点 16
4.3 Windows界面 16
4.4 MPLAB“工程”和MPASM 17
4.5设置MPLAB以运行MPASM 18
4.6生成输出文件 20
4.7 MPLAB/MPASM疑难解答 20
第5章 伪指令 22
5.1介绍 22
5.2重点 22
5.3伪指令汇总 22
5.4__BADRAM:标注不可用RAM 25
5.5 BANKISEL:产生间接堆(Bank)选择码 25
5.6 BANKSEL:产生堆选择码 26
5.7 CBLOCK:定义常量数据块 26
5.8 CODE:开始一个目标代码的选项 27
5.9__CONFIG:设置处理器配置位 28
5.10 CONSTANT:说明符号常量 28
5.11 DA:将字符串存入程序存储器中 29
5.12 DATA:建立数字和文本数据 29
5.13 DB:说明一个字节数据 30
5.14 DE:说明一个EEPROM字节 31
5.15 #DEFINE:定义一个文本替换符号 31
5.16 DT:定义表格 32
5.17 DW:说明一个字数据 32
5.18 ELSE:开始IF汇编块的另一分支 33
5.19 END:程序结束标志 33
5.20 ENDC:结束一个自动常量块 34
5.21 ENDIF:结束条件汇编 34
5.22 ENDM:结束宏定义 34
5.23 ENDW:WHILE循环的结尾 35
5.24 EQU:定义一个汇编常量 35
5.25 ERROR:产生一条错误信息 36
5.26 ERRORLEVEL:设置信息优先级 36
5.27 EXITM:退出宏 37
5.28 EXPAND:展开宏列表 38
5.29 EXTERN:定义外部定义标号 38
5.30 FILL:指定内存填充值 39
5.31 GLOBAL:出口标号 39
5.32 IDATA:开始目标文件初始数据 40
5.33__IDLOCS:设置处理器ID位置 40
5.34 IF:开始条件汇编 41
5.35 IFDEF:如果符号已被定义则执行 42
5.36 IFNDEF:如果符号未定义则执行 42
5.37 INCLUDE:包含文件 43
5.38 LIST:列表选项 43
5.39 LOCAL:说明局部变量 44
5.40 MACRO:宏定义 45
5.41__ MAXRAM:定义最大的RAM位置 46
5.42 MESSG:建立用户自定义信息 46
5.43 NOEXPAND:关闭宏扩展 47
5.44 NOLIST:关闭列表选项 47
5.45 ORG:设置程序起始地址 47
5.46 PAGE:插入页到列表中 48
5.47 PAGESEL:产生页选择码 48
5.48 PROCESSOR:设置处理器类型 49
5.49 RADIX:设置默认的进制类型 49
5.50 RES:保留存储器 50
5.51 SET:定义一个汇编变量 50
5.52 SPACE:在列表中插入空行 51
5.53 SUBTITLE:指定程序子标题 51
5.54 TITLE:指定程序标题 52
5.55 UDATA:声明非初始化数据区 52
5.56 UDATA_ASC:声明非初始化快速存取数据区 53
5.57 UDATA_OVR:声明非初始化可覆盖数据区 53
5.58 UDATA SHR:声明非初始化可共享数据区 54
5.59 #UNDEFINE:删除一个替换符号 55
5.60 VARIABLE:说明符号变量 55
5.61 WHILE:条件为真时执行循环体 56
第6章 使用MPASM建立可重定位目标代码 57
6.1概述 57
6.2重点 57
6.3头文件 57
6.4程序存储器 58
6.4.1绝对代码 58
6.4.2可重定位代码 58
6.4.3可重定位代码范例 58
6.5指令操作符 59
6.6RAM定位 59
6.6.1绝对代码 60
6.6.2可重定位代码 60
6.6.3可重定位代码(初始化数据) 60
6.7配置位和ID位置 61
6.8操作其他模块的标号 61
6.8.1可重定位代码,定义模块 61
6.8.2可重定位代码,参考模块 61
6.9分页和分堆的问题 62
6.9.1绝对代码 62
6.9.2可重定位代码 62
6.10不再使用的伪指令 63
6.10.1绝对代码 63
6.10.2可重定位代码 63
6.11生成目标模块 63
6.12代码范例 64
6.12.1绝对代码 64
6.12.2可重定位代码,调用文件 65
6.12.3可重定位代码,库例程 66
第7章 宏语言 67
7.1概述 67
7.2重点 67
7.3宏语法 67
7.4宏伪指令 68
7.5文本替换 68
7.6宏的用法 69
7.7代码范例 69
7.7.1 8×8乘法 69
7.7.2常量比较 70
第8章 表达式语法与操作 72
8.1概述 72
8.2重点 72
8.3文本字符串 72
8.4数值常量和进制类型 73
8.5字节的高/低/上位 75
8.5.1语法 75
8.5.2描述 75
8.5.3范例 75
8.6增/减操作(++/--) 76
8.6.1语法 76
8.6.2描述 76
8.6.3范例 76
第9章 初始化代码范例 77
9.1介绍 77
9.2重点 77
9.3初始化代码范例 77
第二部分 MPLINK链接程序 78
第10章 MPLINK概述 78
10.1介绍 78
10.2重点 78
10.3什么是MPLINK 78
10.4 MPLINK有什么作用 79
10.5 MPLINK能帮你做些什么 79
10.6 MPLINK范例 80
10.7支持平台 80
第11章 MPLINK的安装与入门 81
11.1介绍 81
11.2重点 81
11.3安装MPLINK 81
11.4链接器概述 82
11.5链接器输入/输出文件 83
11.5.1目标文件(.O) 83
11.5.2库文件(.LIB) 83
11.5.3链接器描述文件(.LKR) 84
11.5.4 COFF文件(.OUT,.COF) 84
11.5.5代码与调试文件(.COD) 84
11.5.6 HEX文件(.HEX) 84
11.5.7绝对列表文件(.LST) 84
11.5.8映射文件(.MAP) 84
第12章 在DOS下使用MPLINK 87
12.1概述 87
12.2重点 87
12.3链接器命令行的参数选择 87
第13章 在Windows下的MPLAB软件包中使用MPLINK 89
13.1概述 89
13.2重点 89
13.3“工程”和链接 89
13.4设置MPLAB以便使用MPLINK 90
13.5生成输出文件 93
13.6 MPLAB/MPLINK疑难解答 93
第14章 MPLINK链接器命令 94
14.1概述 94
14.2重点 94
14.3链接器命令定义 94
14.4命令行信息 95
14.5存储器区段定义 96
14.5.1定义ROM存储器区域 96
14.5.2定义ROM存储器区域——范例 97
14.5.3定义RAM存储器区域 98
14.5.4定义RAM存储器区域——范例 98
14.6逻辑区段定义 100
14.7堆栈定义 101
14.8关于链接器描述的注意事项 101
第15章 链接器的处理过程 103
15.1介绍 103
15.2重点 103
15.3链接过程概述 103
15.4链接器定位原理 104
15.4.1绝对分配 104
15.4.2可重定位分配 104
15.5重定位范例 105
15.6初始化数据 106
第16章 应用范例1 107
16.1重点 107
16.2概述 107
16.3建立应用 108
16.4源代码 109
16.4.1 eeprom.asm 109
16.4.2 eeprom1.c 110
16.4.3 eeprom.1kr 110
第17章 应用范例2 112
17.1重点 112
17.2概述 112
17.3建立应用程序 113
17.4源代码:启动引导器(Boot Loader) 114
17.4.1 boot.c 114
17.4.2 loader lkr 116
17.5源代码:支持软件 116
17.5.1 firmware.c 117
17.5.2 fwtables.c 118
17.5.3 fwentry.h 118
17.5.4 fwentry.asm 118
17.5.5 firmware.lk 119
第18章 应用范例3 120
18.1重点 120
18.2概述 120
18.3创建应用程序 121
18.4源代码 122
18.4.1 memmapio.c 122
18.4.2 memmapio.lkr 123
第19章 应用范例4 126
19.1重点 126
19.2概述 126
19.3建立应用程序 127
19.4源代码 128
19.4.1 morse756.1kr 128
19.4.2 main.c 130
19.4.3 morse.h 130
19.4.4 morse.c 131
19.4.5 portb.h 132
19.4.6 portb.c 132
19.4.7 usart.h 133
19.4.8 usart.c 133
19.4.9 delayms.h 134
19.4.10 delayms.asm 134
第三部分 MPLIB库管理程序 136
第20章 MPLIB概述 136
20.1介绍 136
20.2重点 136
20.3什么是MPLIB 136
20.4 MPLIB是干什么的 136
20.5 MPLIB能帮你做什么 137
第21章 MPLIB软件包的安装与入门 138
21.1介绍 138
21.2重点 138
21.3 MPLIB安装 138
21.4 MPLIB库概述 139
第22章 使用MPLIB软件包 140
22.1介绍 140
22.2重点 140
22.3 MPLIB的使用格式 140
22.4应用范例 141
22.5一些建议与提示 141
附录A 十六进制文件格式 142
A.1介绍 142
A.2重点 142
A.3 INTEL-HEX格式(.HEX) 142
A.4 8bit切分格式(.HXI/HXH) 143
A.5 32bit十六进制格式(.HEX) 143
附录B 快速参考 145
B.1介绍 145
B.2重点 145
B.3 MPASM快速参考 145
B.4 PICmiro系列指令集中用到的关键字 150
B.5 12bit核指令集 150
B.6 14bit核指令集 152
B.7 16bit核指令集 154
B.8增强型16bit核指令集中涉及的关键字 157
B.9增强型16bit核指令集 158
B.10十六进制到十进制代码的转换 162
B.11 ASCII代码集 163
附录C MPASM错误/警告/信息 164
C.1概述 164
C.2重点 164
C.3错误 164
C.4 Warnings 171
C.5信息 174
附录D MPLINK错误/警告 176
D.1介绍 176
D.2重点 176
D.3分析错误 176
D.4链接错误 177
D.5链接警告 180
D.6库文件错误信息 181
D.7 COFF文件错误 181
D.8 COFF到COD转换错误 183
D.9 COFF到COD转换警告 184
附录E MPLIB出错信息 185
E.1介绍 185
E.2重点 185
E.3分析错误 185
E.4库文件错误 186
E.5 COFF文件错误 186
下篇 MPLAB IDE集成开发环境 189
第一部分 MPLAB IDE集成开发环境介绍 189
第1章 MPLAB概述 189
1.1概述 189
1.2重点 189
1.3什么是MPLAB IDE 189
1.4 MPLAB IDE能做什么 190
1.5 MPLAB IDE集成开发环境 190
1.6 MPLAB IDE开发工具 191
第2章 MPLAB IDE的安装与入门 192
2.1概述 192
2.2重点 192
2.3对于计算机主机的配置要求 192
2.4从哪里得到软件包 193
2.5安装MPLAB IDE 193
2.6卸载MPLAB IDE集成开发环境 195
第3章 MPLAB IDE使用入门——实例 196
3.1概述 196
3.2重点 196
3.3设置开发模式 197
3.4建立一个简单的新“工程” 198
3.5建立一个简单的源文件 202
3.6输入源文件代码 203
3.7对源文件进行汇编 204
3.8运行你的程序 205
3.9打开其他窗口帮助调试 206
3.10使用“监视窗口” 206
3.10.1建立一个监视窗口 206
3.10.2保持监视窗口参数的设置 207
3.10.3编辑监视窗口 207
3.11设置断点 208
3.12总结 209
第4章 MPLAB IDE“工程”指南 211
4.1概述 211
4.2重点 211
4.3 MPLAB IDE“工程”概述 211
4.4建立一个只有一个MPASM源文件的“工程” 213
4.4.1设置开发模式 213
4.4.2新“工程” 214
4.4.3“工程” 214
4.4.4设置“节点”属性 214
4.4.5增加“节点” 216
4.4.6创建“工程” 217
4.4.7疑难问题解答 217
4.4.8“工程”窗口 217
4.4.9总结 218
4.5不用建立“工程”编译单个MPASM源文件 218
4.5.1设置开发模式 219
4.5.2打开源文件 219
4.5.3编译源文件 220
4.5.4疑难问题解答 220
4.5.5总结 221
4.6使用MPLINK创建一个有多个源文件的“工程” 221
4.6.1设置开发模式 222
4.6.2新“工程” 222
4.6.3设置节点属性 222
4.6.4添加第一个源文件节点 223
4.6.5添加新的源文件 224
4.6.6选择链接器描述文件(脚本文件)(Linker Script) 224
4.6.7创建工程(Make Project) 225
4.6.8疑难问题解答 225
4.6.9工程窗口 227
4.6.10总结 227
4.7使用其他开发工具创建“工程” 228
第二部分 使用MPLABIDE 229
第5章 MPLAB编辑器 229
5.1概述 229
5.2重点 229
5.3什么是MPLAB编辑器 229
5.4 MPLAB编辑器可以帮你做什么 230
5.5 MPLAB编辑器的特点 230
5.5.1文件大小 230
5.5.2 Windows下MDI的风格 230
5.5.3重新配置键盘 231
5.5.4轻松地“创建”文件 231
5.6 MPLAB编辑器的功能 231
5.6.1对文件的操作 231
5.6.2对模板的操作 231
5.6.3文本处理 232
5.6.4编辑器窗口模式 233
5.6.5识别C语言格式 233
第6章 调试和MPLAB SIM模拟器 235
6.1概述 235
6.2重点 235
6.3 MPLAB IDE调试功能 235
6.4“实时”执行程序 236
6.4.1在MPLAB SIM模拟器模式下执行程序 236
6.4.2慢速模式(Animate Mode,动画模式) 237
6.5 MPLAB SIM模拟器环境 237
6.5.1 I/O时序 237
6.5.2执行速度 237
6.5.3开销成本 238
6.5.4调试工具 238
6.6使用模拟器需要考虑的问题 238
6.7断点和跟踪点 239
6.7.1实时断点(Real-Time Break Points) 240
6.7.2实时跟踪断点 242
6.7.3给断点和跟踪点分配“通过计数器” 243
6.8条件断点 244
6.8.1条件 245
6.8.2跟踪数据 245
6.8.3单周期 245
6.8.4多周期 245
6.9“激励”功能 246
6.9.1异步激励 246
6.9.2管脚激励文件 247
6.9.3寄存器激励文件 249
6.9.4时钟模拟 252
6.10 12位核芯片的模拟 253
6.10.1基于12位核芯片的处理器系列 253
6.10.2 I/O管脚 253
6.10.3 CPU模型 253
6.10.4外设 254
6.11 14位核芯片的模拟 254
6.11.1基于14位核芯片的处理器系列 254
6.11.2 I/O管脚 254
6.11.3中断 255
6.11.4 CPU模式 255
6.11.5特殊功能寄存器 256
6.11.6外设 256
6.12 16位核芯片的模拟 258
6.12.1基于16位核芯片的处理器系列 258
6.12.2 I/O管脚 258
6.12.3中断 259
6.12.4 CPU模型 259
6.12.5特殊寄存器 260
6.12.6外设 260
6.12.7存储器模式 261
6.13扩展型16位核芯片的模拟 261
6.13.1 16位核的处理器 261
6.13.2 I/O管脚 262
6.13.3中断 262
6.13.4 CPU模型 262
6.13.5特殊功能寄存器 263
6.13.6外设 263
第三部分 MPLABIDE参考资料 265
第7章 MPLAB编辑器工具栏和菜单的使用 265
7.1概述 265
7.2重点 265
7.3 MPLAB IDE桌面 266
7.3.1工具栏 266
7.3.2状态栏 267
7.3.3系统菜单 267
7.4文件菜单 268
7.4.1新建文件 268
7.4.2打开已有文件 268
7.4.3查看文件 269
7.4.4保存文件 269
7.4.5关闭文件 271
7.4.6导入 271
7.4.7导出(Export) 273
7.4.8打印(Ctrl+p) 275
7.4.9打印机设置 276
7.4.10退出(Alt+F4) 277
7.4.11最近使用过的文件列表(Most-Recently-Used File List) 277
7.5“工程”菜单 277
7.6编辑菜单 278
7.6.1通用编辑选项 278
7.6.2模板选项 281
7.6.3文本选项 285
7.7调试菜单 286
7.7.1整步运行(Run) 286
7.7.2执行指令(Execute) 288
7.7.3模拟器“激励” 290
7.7.4调试位置对中 290
7.7.5断点的设置 290
7.7.6跟踪设置 293
7.7.7触发器输入/输出设置 296
7.7.8触发器输出点设置 297
7.7.9清除所有的点 298
7.7.10复杂的触发器设置 298
7.7.11代码区域 298
7.7.12清除程序内存(Ctrl+Shift+F2) 299
7.7.13系统复位(Ctrl+Shift+F3) 299
7.7.14上电复位(Ctrl+Shift+F5) 300
7.8烧写器菜单 301
7.9选项菜单 303
7.9.1开发模式选择 303
7.9.2窗口设置 310
7.9.3当前编辑模式 311
7.9.4复位编辑器模式 313
7.9.5环境设置 313
7.9.6烧写器选项 323
7.10工具菜单(F11) 324
7.10.1在Window下运行DOS命令 324
7.10.2在Window下重复DOS命令(Ctrl+F11) 325
7.10.3检测PICMASTER仿真器 325
7.10.4检测MPLAB ICE 325
7.11窗口菜单 326
7.11.1程序存储器 326
7.11.2跟踪存储器 329
7.11.3 EEPROM存储器 330
7.11.4校正数据 330
7.11.5绝对列表 331
7.11.6映射文件 332
7.11.7堆栈 333
7.11.8文件寄存器(File Registers) 335
7.11.9特殊功能寄存器 336
7.11.10显示符号列表(Ctrl+F8) 337
7.11.11跑表(Stopwatch) 338
7.11.12“工程”窗口 338
7.11.13“监视”窗口 339
7.11.14修改(Modify) 342
7.11.15水平排列(Tile Horizontal) 343
7.11.16垂直排列(Tile Vertical) 343
7.11.17层叠(Cascade) 344
7.11.18全部图标化 344
7.11.19排列图标 344
7.11.20打开窗口 344
7.12帮助菜单 345
7.12.1发布信息(Shift+Fl) 345
7.12.2开发工具发布信息 345
7.12.3 MPLAB处理IDE帮助 345
7.12.4编辑器帮助 345
7.12.5错误帮助 345
7.12.6 MPASM帮助 346
7.12.7 MPLINK帮助 346
7.12.8开发工具帮助 346
7.12.9关于 346
第8章 MPLAB IDE工具栏和状态栏的定义 347
8.1 MPLAB IDE工具栏 347
8.1.1编辑工具栏 347
8.1.2调试工具栏 348
8.1.3“工程”工具栏 348
8.1.4用户定义工具栏 349
8.2 MPLAB IDE状态栏 350
附录A MPLAB IDE中使用的快捷键及其功能 351
A.1概述 351
A.2 MPLAB IDE快捷键及其功能 351
附录B MPLAB编辑器默认的命令键 357
B.1概述 357
B.2重点 357
B.3功能键 357
B.4移动键 358
B.5控制键(Control Keys) 359
B.6格式和编辑键(Formatting and Editing Keys) 360
附录C MPLAB IDE中使用的文件扩展名 361
附录D 缩略语 362
- 《女丹仙道:道教女子内丹养生修炼秘籍 下》董沛文著 2012
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《莼江曲谱 1 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《近代体育游戏教育史料汇编 第1辑 1》王强主编 2016
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《近代体育游戏教育史料汇编 第2辑 2》王强主编 2016
- 《民国时期医药卫生文献集成 37》路丽明编 2019
- 《民国时期医药卫生文献集成 19》路丽明编 2019
- 《民国时期医药卫生文献集成 24》路丽明编 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017