图书介绍
单片机语言C51程序设计PDF|Epub|txt|kindle电子书版本下载
![单片机语言C51程序设计](https://www.shukui.net/cover/15/34724971.jpg)
- 赵文博,刘文涛编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115138192
- 出版时间:2005
- 标注页数:382页
- 文件大小:123MB
- 文件页数:395页
- 主题词:单片微型计算机-程序设计
PDF下载
下载说明
单片机语言C51程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录1
第1章 C51程序设计概述1
1.1 C51程序特点1
1.2 Keil C512
1.2.1 安装Keil C51软件2
1.2.2 使用Keil C51软件4
1.2.3 第1个程序“Hello C51”7
1.3 C51编程规范以及本书约定7
1.3.1 注释8
1.3.2 命名8
1.3.3 风格9
1.3.4 本书约定9
第2章 C51程序设计基础11
2.1 C51的标识符11
2.1.1 C51的标识符11
2.1.2 C51的关键字12
2.1.3 与ANSI C的差异14
2.2 数据类型15
2.2.1 变量与常量16
2.2.2 整型(int)16
2.2.3 浮点型(float)18
2.2.4 字符型(char)18
2.2.5 指针型(*)20
2.2.6 无值型(void)20
2.3 数据类型转换21
2.4 变量的作用域21
2.4.1 块结构21
2.4.2 自动型变量21
2.4.3 外部型变量22
2.4.4 静态型变量23
2.6.1 运算符24
2.6 运算符24
2.5 C51的分隔符24
2.4.5 寄存器型变量24
2.6.2 运算符的优先级31
2.7 表达式32
2.7.1 算术表达式32
2.7.2 赋值表达式32
2.7.3 逗号运算符与逗号表达式33
2.7.4 关系表达式34
2.7.5 逻辑表达式34
第3章 C51语句36
3.1 说明语句36
3.2 表达式语句36
3.3 复合语句37
3.4 条件语句37
3.5 开关与跳转语句41
3.5.1 开关语句41
3.5.2 跳转语句43
3.6 循环语句45
3.6.1 for循环45
3.6.2 while循环47
3.6.3 do-while循环49
3.7 函数调用语句50
3.8 空语句51
3.9 C51语句的流程与控制51
3.9.1 顺序结构(sequence)51
3.9.2 选择结构(selection)52
3.9.3 循环结构(repetition)52
3.9.4 限制使用GOTO语句53
3.9.5 逐步求精的设计方法55
第4章 C51函数57
4.1 函数的定义57
4.1.1 函数参数和堆栈58
4.1.2 用寄存器传递参数58
4.2 main函数59
4.3 函数的调用和返回60
4.3.1 函数的简单调用60
4.3.2 函数参数传递60
4.3.3 函数的递归调用64
4.3.4 重入函数65
4.4 函数作用范围66
4.5 函数的变量作用域66
4.6 C51中断函数67
4.6.1 中断函数的定义67
4.6.2 内部中断函数的使用68
4.6.3 外部中断函数的使用69
4.6.4 扩展外部中断函数的使用69
4.6.5 使用中断函数要注意的问题71
4.7 C51库函数71
4.9.1 时钟模块72
4.9 Keil C51常用功能模块使用说明72
4.8 实时任务函数72
4.9.2 通信模块75
4.9.3 键盘扫描模块78
第5章 C51数据结构80
5.1 C51结构80
5.1.1 结构说明和结构变量定义80
5.1.2 结构变量的使用81
5.1.3 结构变量的初始化82
5.2 数组84
5.2.1 一维数组84
5.2.2 一维数组初始化87
5.2.3 一维字符串数组89
5.2.4 二维数组90
5.2.5 结构数组94
5.3 联合与枚举94
5.3.1 联合(union)94
5.3.2 枚举(enum)96
5.4 类型说明98
5.5 指针99
5.5.1 指针和地址100
5.5.2 地址运算104
5.5.3 指向数组元素的指针104
5.5.4 指向二维数组的指针105
5.5.5 指向一个由n个元素所组成的数组指针106
5.5.6 数组与指针的关系107
5.5.7 字符指针109
5.5.8 指针数组110
5.5.9 避免使用浮点指针111
第6章 C51存储结构113
6.1 8051存储单元与C51存储类型113
6.1.1 8051存储单元113
6.1.2 特殊功能寄存器117
6.1.3 存储器模式117
6.2 动态存储分配119
6.3 位操作与字段结构122
6.4 绝对地址定位123
6.5 基于C51存储器的指针126
6.5.1 通用指针126
6.5.2 指定存储器指针127
6.5.3 绝对指针127
6.5.4 指针转化129
6.6 结构的内存分配131
6.6.1 直接由结构定义一个结构指针变量实现内存分配131
6.6.2 用typedef定义新结构类型132
6.7 Keil C51程序开机执行代码132
第7章 预处理133
7.1 预处理命令133
7.1.1 文件包含指令134
7.1.2 宏定义指令#define134
7.1.3 #if、#else、#endif指令136
7.1.5 const修饰符137
7.1.4 #undef指令137
7.2 C51编译的控制参数138
7.3 C51头文件140
7.3.1 C51常用的头文件140
7.3.2 REG51.H141
第8章 C51编译143
8.1 Keil的编译环境μVision3143
8.1.1 μVision3窗口与菜单145
8.1.2 编译检查工具PC-Lint152
8.1.3 开发工具选项152
8.1.4 调试工具选项157
8.2 编译过程158
8.2.1 A51宏汇编器159
8.2.2 映像文件160
8.2.5 OH51目标代码到HEX文件的转换器161
8.3 Keil C51编译器的控制指令161
8.2.4 OC51分段目标文件转换器161
8.2.3 LIB51库管理器161
8.3.1 源文件控制类162
8.3.2 目标文件(Object)控制类162
8.3.3 列表文件(listing)控制类162
8.4 代码优化162
8.4.1 代码优化162
8.4.2 对8051的特殊优化163
8.4.3 代码生成选项163
8.5 混合编译163
8.5.1 项目目标和文件组163
8.5.2 浏览项目窗口中的文件和文件组的属性164
8.5.3 用户上电初始化程序STARTUP.A51简介164
8.5.4 与汇编语言的接口167
8.5.5 和PL/M-5 1的接口173
8.6.2 资源浏览器174
8.6.1 多个文件中查找174
8.6 μVision3其他功能174
8.7 出错信息175
第9章 Keil C51的调试与仿真176
9.1 μVision3调试器的几项功能176
9.1.1 执行代码176
9.1.2 完备的分析器177
9.1.3 代码覆盖分析177
9.2.1 简单断点178
9.2 断点178
9.2.2 复杂断点179
9.2.3 观察断点179
9.3 仿真180
9.3.1 A/D仿真180
9.3.2 D/A仿真182
9.3.3 FLASH/EEPROM仿真183
9.3.4 中断仿真187
9.3.6 I/O端口输入/输出仿真188
9.3.5 可编程计数器阵列PCA/CAPCOM仿真188
9.3.7 低功耗模式仿真189
9.3.8 串行口的输入/输出仿真189
9.3.9 定时器/计数器仿真190
9.3.10 看门狗仿真191
9.4 μVision3调试命令192
9.4.1 存储器命令192
9.4.2 程序命令192
9.4.3 断点命令193
9.4.4 通用命令193
9.5 RTX-51实时操作系统193
9.5.1 概述194
9.5.2 RTX-51 Tiny 的例程TRAFFIC.C198
第10章 高级编程技术208
10.1 定制文件208
10.1.1 STARTUP.A51208
10.1.2 INIT.A51209
10.1.3 XBANKING.A51210
10.1.4 基本的I/O函数211
10.1.5 存储区分配函数211
10.2 优化器212
10.2.1 8051特定优化212
10.2.2 生成代码选项212
10.3 段名转换213
10.3.1 数据目标213
10.3.2 程序目标214
10.4 8051派生系列215
10.4.1 模拟器件微转换器B2系列215
10.4.2 Atmel 89x8252和变种215
10.4.3 Dallas 80C320、420、520和530216
10.4.4 Dallas 80C390、80C400、5240和变种216
10.4.8 高速运算217
10.4.9 库函数217
10.4.6 Infineon C517、C517A、C509和变种217
10.4.7 数据指针217
10.4.5 算术累加器217
10.4.10 Philips 8xC750、8xC751和8xC752218
10.4.11 Philips 80C51MX结构218
10.4.12 Philips和Atmel WM双DPTR218
第11章 C51资源文件220
11.1 固有程序220
11.1.1 库文件220
11.1.2 标准类型221
11.1.3 绝对存储区访问宏221
11.2 程序分类223
11.2.1 缓冲区操作223
11.2.2 字符转换和分类224
11.2.3 数据转换224
11.2.4 数学程序225
11.2.6 流输入和输出程序226
11.2.5 存储区分配程序226
11.2.7 字符串操作程序227
11.2.8 可变长度参数列表程序228
11.2.9 其他程序229
11.3 包含文件229
11.3.1 8051特殊功能寄存器包含文件229
11.3.2 80C517.H229
11.4 参考231
第12章 使用Keil C51编程实例288
12.1 键盘扫描程序288
12.1.1 实例概述288
12.1.2 程序框图及代码288
12.1.3 用Keil C51编译与调试294
12.2 P1口控制直流电动机实例297
12.2.1 实例概述298
12.2.2 程序框图及代码298
12.2.3 用Keil C51编译与调试300
12.3.1 实例概述303
12.3.2 程序框图及代码303
12.3 A/D转换实例303
12.3.3 用Keil C51编译与调试309
12.4 LCD显示实例311
12.4.1 实例概述311
12.4.2 程序框图及代码312
12.4.3 用Keil C51编译与调试322
12.5.2 程序框图及代码325
12.5 主从机串口通信实例325
12.5.1 实例概述325
12.5.3 用Keil C51编译与调试333
附录A 致命错误信息336
附录B 语法和语义错误信息339
附录C 警告信息351
附录D L51连接定位器使用错误提示354
附录E μVision3调试命令362