书籍详情
单片机开发环境μVision 2使用指南及USB固件编程与调试
作者:尹勇,王洪成编著
出版社:北京航空航天大学出版社
出版时间:2004-01-01
ISBN:9787810774932
定价:¥32.00
购买这本书可以去
内容简介
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,μVision2 IDE 是Keil C51基于Windows的开发平台,是用户开发和调试单片机C语言源代码的最理想的工具之一。固件程序的编程是整个USB外设开发中非常重要的一环,它不是单纯的软件,而是软件和硬件的结合,开发者需要对单片机的端口、中断和USB协议处理芯片的硬件结构非常熟悉。本书的重点在于如何使用Keil C51的Windows集成开发环境μVision2,如何进行USB设备固件代码的开发和仿真调试,以助读者达到熟练掌握使用μVision2开发和调试程序、进行USB固件开发和调试的目的。书中示例丰富,所有的例子都经过上机操作和认真审核。本书可作为从事单片机和USB设备开发的工程技术人员、工程师的参考书籍,也可供高等学校工科电子类专业师生参考。
作者简介
暂缺《单片机开发环境μVision 2使用指南及USB固件编程与调试》作者简介
目录
第1章 Keil C51的基础知识
1.1 C51程序的基本结构1
1.2 C51的标识符与关键字3
1.3 C51的数据类型5
1.4 C51的常量和变量9
1.4.1 C51的常量9
1.4.2 C51的变量11
1.5 C51的函数14
1.5.1 函数的说明14
1.5.2 函数的定义15
1.5.3 函数的调用 16
1.6 C51的数组与指针16
1.6.1 C51的数组16
1.6.2 C51的指针18
1.7 C51的结构与联合21
1.7.1 C51的结构 21
1.7.2 C51的联合24
1.8 C51类型定义26
1.9 C51的编译预处理27
1.9.1 宏定义27
1.9.2 文件包含30
1.9.3 条件编译32
第2章 Keil C51开发工具简介
2.1 μVision2集成开发环境介绍35
2.2 DOS下的C51开发工具37
2.2.1 C51开发工具介绍37
2.2.2 Keil C51的C编译器38
2.2.3 Keil C51的A51宏汇编器39
2.2.4 Keil C51的BL51代码连接器/定位器39
2.2.5 Keil C51的OC51目标文件转换器41
2.2.6 Keil C51的OH51目标十六进制转换器41
2.2.7 Keil C51的LIB51库文件管理器42
2.3 Windows下的C51开发工具42
2.3.1 μVision1版43
2.3.2 μVision2版45
2.4 μVision2的安装50
2.4.1 系统需求50
2.4.2 安装注意事项50
2.4.3 μVision2的安装过程50
2.5 μVision2安装后的文件组织结构55
2.6 一个完整的应用实例55
第3章 μVision2的集成开发环境
3.1 μVision2集成开发环境63
3.2 μVision2项目管理窗口64
3.2.1 目标、文件组和文件的管理64
3.2.2 项目窗口中的文件和文件组的属性67
3.3 μVision2的菜单栏70
3.4 μVision2工具栏的使用83
3.5 μVision2快捷键的使用85
3.6 μVision2的各种窗口88
3.6.1 设置窗口属性88
3.6.2 源代码编辑窗口92
3.6.3 反汇编窗口94
3.6.4 Watch &Call Stack窗口95
3.6.5 Memory窗口97
3.6.6 CPU寄存器窗口99
3.6.7 串行窗口99
3.6.8 性能分析窗口100
3.6.9 代码覆盖窗口102
3.6.10 符号观察窗口103
第4章 用μVision2管理项目
4.1 启动μVision2并创建一个项目106
4.1.1 创建一个新的项目106
4.1.2 新建一个源文件108
4.2 增加和配置启动代码109
4.3 μVision2的CPU和程序启动代码详解110
4.4 为目标设置工具选项113
4.4.1 配置对话框113
4.4.2 例子项目的设置115
4.5 编译项目并生成hex文件136
4.6 代码分块138
4.7 使用资源浏览器153
4.8 Keil C51与汇编语言的接口156
4.8.1 模块内接口156
4.8.2 模块间接口158
4.9 列表文件的使用162
4.9.1 C语言列表文件162
4.9.2 汇编语言列表文件166
4.10 μVision2的使用技巧169
4.10.1 导入μVision1的项目到μVision2169
4.10.2 为列表文件和目标文件指定单独的文件夹169
4.10.3 复制工具设置到一个新的目标中171
4.10.4 使用μVision2器件库中没有的微控制器171
第5章 用μVision2调试项目
5.1 调试设置173
5.1.1 设置调试参数176
5.1.2 指定调试器初始化文件177
5.1.3 启动代码调试模式179
5.2 项目调试179
5.2.1 使用反汇编窗口179
5.2.2 使用断点182
5.2.3 使用变量和函数观察(Watch)窗口187
5.2.4 使用CPU寄存器观察窗口190
5.2.5 使用内存观察窗口191
5.2.6 使用串口观察窗口193
5.2.7 使用执行效果观察窗口194
5.2.8 使用内存标记窗口196
5.2.9 使用符号观察窗口197
5.2.10 程序的运行199
第6章 USB设备规范
6.1 USB概述200
6.1.1 USB的发展历程201
6.1.2 USB1.1的特点203
6.1.3 USB存在的问题204
6.1.4 USB的应用204
6.2 USB的通信模型205
6.3 USB设备状态208
6.3.1 外置的设备状态208
6.3.2 USB设备的枚举过程210
6.3.3 USB设备的数据传输过程211
6.4 通用USB设备操作211
6.4.1 动态插接与拔出212
6.4.2 地址分配212
6.4.3 配置212
6.4.4 数据传送213
6.4.5 电源管理213
6.4.6 请求处理214
6.4.7 请求错误215
6.5 USB设备的标准请求215
6.5.1 BmRequestType域216
6.5.2 BRequest域217
6.5.3 WValue域217
6.5.4 WIndex域217
6.5.5 WLength域218
6.5.6 各种标准请求218
6.6 USB设备中的固件描述表223
6.6.1 设备描述表223
6.6.2 配置描述表224
6.6.3 接口描述表225
6.6.4 端点描述表226
6.6.5 字串描述表227
6.6.6 固件描述表举例228
第7章 USB的数据包及数据传输方式
7.1 USB的数据传输231
7.2 各种包的格式232
7.2.1 标记包233
7.2.2 帧开始包233
7.2.3 数据包233
7.2.4 握手包234
7.2.5 握手回答包(Handshake Response)235
7.3 标记包的字段格式236
7.3.1 包标识符字段236
7.3.2 地址字段237
7.3.3 帧号字段238
7.3.4 数据字段238
7.3.5 循环冗余校验238
7.4 USB的数据传输方式240
7.4.1 批处理传送240
7.4.2 控制传送242
7.4.3 中断事务245
7.4.4 同步传送247
第8章 USB接口芯片PDIUSBD12
8.1 PDIUSBD12的芯片特点248
8.2 PDIUSBD12的引脚说明249
8.3 PDIUSBD12的内部结构251
8.4 PDIUSBD12与80C51的典型连接253
8.5 PDIUSBD12的端点描述253
8.6 PDIUSBD12的命令255
8.6.1 命令总汇255
8.6.2 初始化命令256
8.6.3 数据流命令259
8.6.4 普通命令263
第9章 PDIUSBD12固件的编程实现
9.1 固件编程介绍264
9.2 固件的文件结构265
9.3 固件的编程实现267
9.3.1 主循环MAINLOOP.c267
9.3.2 命令接口D12CI.c280
9.3.3 中断服务程序ISR.c286
9.3.4 协议层CHAP_9.c和PROTODMA.c297
9.4 固件编程注意事项314
第10章 PDIUSBD12固件代码在μVision2中的调试
10.1 打开项目316
10.2 固件代码的软仿真调试317
10.2.1 项目的设置317
10.2.2 项目的编译318
10.3 固件代码的软件仿真调试319
10.4 固件代码的硬仿真调试325
10.4.1 关于硬件的调试325
10.4.2 μVision2软件的配置326
附录AμVision2的高级编程技巧
附录BμVision2的错误信息
B.1 致命错误340
B.2 语法和语义错误342
B.3 警告349
参考文献
1.1 C51程序的基本结构1
1.2 C51的标识符与关键字3
1.3 C51的数据类型5
1.4 C51的常量和变量9
1.4.1 C51的常量9
1.4.2 C51的变量11
1.5 C51的函数14
1.5.1 函数的说明14
1.5.2 函数的定义15
1.5.3 函数的调用 16
1.6 C51的数组与指针16
1.6.1 C51的数组16
1.6.2 C51的指针18
1.7 C51的结构与联合21
1.7.1 C51的结构 21
1.7.2 C51的联合24
1.8 C51类型定义26
1.9 C51的编译预处理27
1.9.1 宏定义27
1.9.2 文件包含30
1.9.3 条件编译32
第2章 Keil C51开发工具简介
2.1 μVision2集成开发环境介绍35
2.2 DOS下的C51开发工具37
2.2.1 C51开发工具介绍37
2.2.2 Keil C51的C编译器38
2.2.3 Keil C51的A51宏汇编器39
2.2.4 Keil C51的BL51代码连接器/定位器39
2.2.5 Keil C51的OC51目标文件转换器41
2.2.6 Keil C51的OH51目标十六进制转换器41
2.2.7 Keil C51的LIB51库文件管理器42
2.3 Windows下的C51开发工具42
2.3.1 μVision1版43
2.3.2 μVision2版45
2.4 μVision2的安装50
2.4.1 系统需求50
2.4.2 安装注意事项50
2.4.3 μVision2的安装过程50
2.5 μVision2安装后的文件组织结构55
2.6 一个完整的应用实例55
第3章 μVision2的集成开发环境
3.1 μVision2集成开发环境63
3.2 μVision2项目管理窗口64
3.2.1 目标、文件组和文件的管理64
3.2.2 项目窗口中的文件和文件组的属性67
3.3 μVision2的菜单栏70
3.4 μVision2工具栏的使用83
3.5 μVision2快捷键的使用85
3.6 μVision2的各种窗口88
3.6.1 设置窗口属性88
3.6.2 源代码编辑窗口92
3.6.3 反汇编窗口94
3.6.4 Watch &Call Stack窗口95
3.6.5 Memory窗口97
3.6.6 CPU寄存器窗口99
3.6.7 串行窗口99
3.6.8 性能分析窗口100
3.6.9 代码覆盖窗口102
3.6.10 符号观察窗口103
第4章 用μVision2管理项目
4.1 启动μVision2并创建一个项目106
4.1.1 创建一个新的项目106
4.1.2 新建一个源文件108
4.2 增加和配置启动代码109
4.3 μVision2的CPU和程序启动代码详解110
4.4 为目标设置工具选项113
4.4.1 配置对话框113
4.4.2 例子项目的设置115
4.5 编译项目并生成hex文件136
4.6 代码分块138
4.7 使用资源浏览器153
4.8 Keil C51与汇编语言的接口156
4.8.1 模块内接口156
4.8.2 模块间接口158
4.9 列表文件的使用162
4.9.1 C语言列表文件162
4.9.2 汇编语言列表文件166
4.10 μVision2的使用技巧169
4.10.1 导入μVision1的项目到μVision2169
4.10.2 为列表文件和目标文件指定单独的文件夹169
4.10.3 复制工具设置到一个新的目标中171
4.10.4 使用μVision2器件库中没有的微控制器171
第5章 用μVision2调试项目
5.1 调试设置173
5.1.1 设置调试参数176
5.1.2 指定调试器初始化文件177
5.1.3 启动代码调试模式179
5.2 项目调试179
5.2.1 使用反汇编窗口179
5.2.2 使用断点182
5.2.3 使用变量和函数观察(Watch)窗口187
5.2.4 使用CPU寄存器观察窗口190
5.2.5 使用内存观察窗口191
5.2.6 使用串口观察窗口193
5.2.7 使用执行效果观察窗口194
5.2.8 使用内存标记窗口196
5.2.9 使用符号观察窗口197
5.2.10 程序的运行199
第6章 USB设备规范
6.1 USB概述200
6.1.1 USB的发展历程201
6.1.2 USB1.1的特点203
6.1.3 USB存在的问题204
6.1.4 USB的应用204
6.2 USB的通信模型205
6.3 USB设备状态208
6.3.1 外置的设备状态208
6.3.2 USB设备的枚举过程210
6.3.3 USB设备的数据传输过程211
6.4 通用USB设备操作211
6.4.1 动态插接与拔出212
6.4.2 地址分配212
6.4.3 配置212
6.4.4 数据传送213
6.4.5 电源管理213
6.4.6 请求处理214
6.4.7 请求错误215
6.5 USB设备的标准请求215
6.5.1 BmRequestType域216
6.5.2 BRequest域217
6.5.3 WValue域217
6.5.4 WIndex域217
6.5.5 WLength域218
6.5.6 各种标准请求218
6.6 USB设备中的固件描述表223
6.6.1 设备描述表223
6.6.2 配置描述表224
6.6.3 接口描述表225
6.6.4 端点描述表226
6.6.5 字串描述表227
6.6.6 固件描述表举例228
第7章 USB的数据包及数据传输方式
7.1 USB的数据传输231
7.2 各种包的格式232
7.2.1 标记包233
7.2.2 帧开始包233
7.2.3 数据包233
7.2.4 握手包234
7.2.5 握手回答包(Handshake Response)235
7.3 标记包的字段格式236
7.3.1 包标识符字段236
7.3.2 地址字段237
7.3.3 帧号字段238
7.3.4 数据字段238
7.3.5 循环冗余校验238
7.4 USB的数据传输方式240
7.4.1 批处理传送240
7.4.2 控制传送242
7.4.3 中断事务245
7.4.4 同步传送247
第8章 USB接口芯片PDIUSBD12
8.1 PDIUSBD12的芯片特点248
8.2 PDIUSBD12的引脚说明249
8.3 PDIUSBD12的内部结构251
8.4 PDIUSBD12与80C51的典型连接253
8.5 PDIUSBD12的端点描述253
8.6 PDIUSBD12的命令255
8.6.1 命令总汇255
8.6.2 初始化命令256
8.6.3 数据流命令259
8.6.4 普通命令263
第9章 PDIUSBD12固件的编程实现
9.1 固件编程介绍264
9.2 固件的文件结构265
9.3 固件的编程实现267
9.3.1 主循环MAINLOOP.c267
9.3.2 命令接口D12CI.c280
9.3.3 中断服务程序ISR.c286
9.3.4 协议层CHAP_9.c和PROTODMA.c297
9.4 固件编程注意事项314
第10章 PDIUSBD12固件代码在μVision2中的调试
10.1 打开项目316
10.2 固件代码的软仿真调试317
10.2.1 项目的设置317
10.2.2 项目的编译318
10.3 固件代码的软件仿真调试319
10.4 固件代码的硬仿真调试325
10.4.1 关于硬件的调试325
10.4.2 μVision2软件的配置326
附录AμVision2的高级编程技巧
附录BμVision2的错误信息
B.1 致命错误340
B.2 语法和语义错误342
B.3 警告349
参考文献
猜您喜欢