《单片机高级语言C51应用程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:徐爱钧,彭秀华编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1998
  • ISBN:7505345370
  • 页数:450 页
图书介绍:本书以美国Franklin软件公司专为805l系列单片机设计的高效率C语言编译器为核心,阐述了单片机高级语言C51的基本语法、各种运算符的作用以及语句结构等,详细介绍了C51编译器、L51连接定位器以及A5l宏汇编器的使用方法,对于各种编译连接控制指令作了详尽的描述,并给出了各种编译连接错误信息。另外还详细介绍了Franklin公司独具特色的软件仿真器DS51的使用方法。采用DS51可在完全没有8051单片机硬件的条件下,用一台普通PC机即可完成8051应用系统程序的仿真调试工作,这一点对于采用高级语言编程的单片机用户是十分有益的。本书的特点是强调实用性和先进性,全书各章中都列举了大量的程序例子,并且还有一章(第十章)专门用来阐述C51应用编程技巧和实例,列举了一些C51应用中常见的问题与解决方法,给出了若干采用C5l高级语言进行单片机应用程序设计的实例。本书适合于广大从事单片机应用系统开发研制的工程技术人员阅读,特别适合于已经了解单片机原理而希望采用高级语言编程的单片机用户,也可作为普通高等工科院校大学生或研究生学习C语言的教学用书。

第一章 C语言的基本知识 1

1.1 C语言的特点及其程序结构 1

1.2 C语言的标识符和关键字 5

1.3 单片机C51程序的编译连接与调试 7

第二章 C51程序设计的基本语法 17

2.1 数据类型 17

2.2 常量 19

2.3 变量及其存储模式 21

2.4 用typedef重新定义数据类型 24

2.5 运算符与表达式 25

2.5.1 赋值运算符 25

2.5.2 算术运算符 26

2.5.3 增量和减量运算符 26

2.5.4 关系运算符 29

2.5.5 逻辑运算符 31

2.5.6 位运算符 32

2.5.7 复合赋值运算符 34

2.5.8 逗号运算符 35

2.5.9 条件运算符 36

2.5.10 指针和地址运算符 36

2.5.11 强制类型转换运算符 37

2.5.12 sizeof运算符 38

2.6 表达式语句 39

2.7 复合语句 40

2.8 条件语句 41

2.9 开关语句 43

2.10 循环语句 45

2.10.1 while语句 45

2.10.2 do—while语句 46

2.10.3 for语句 47

2.10.4 goto语句 48

2.10.5 continue语句 50

2.11 返回语句 50

第三章 函数 53

3.1 函数的定义 53

3.2 函数的调用 55

3.2.1 函数的调用形式 55

3.2.2 对被调用函数的说明 56

3.2.3 函数的参数和函数的返回值 57

3.2.4 实际参数的传递方式 59

3.3 函数的递归调用与再入函数 60

3.4 中断服务函数与寄存器组定义 61

3.5 变量的存储方式 65

3.5.1 局部变量与全局变量 65

3.5.2 变量的存储种类 66

3.5.3 函数的参数和局部变量的存储器模式 73

第四章 数组和指针 75

4.1 数组的定义和引用 75

4.2 字符数组 76

4.3 数组元素赋初值 77

4.4 数组作为函数的参数 79

4.5 指针的概念 82

4.5.1 指针与地址 82

4.5.2 指针变量的定义 83

4.5.3 指针变量的引用 85

4.5.4 指针变量作为函数的参数 88

4.6 数组的指针 89

4.6.1 用指针引用数组元素 89

4.6.2 字符数组指针 91

4.7 指针的地址计算 92

4.8 函数型指针 94

4.9 返回指针型数据的函数 96

4.10 指针数组与指针型指针 97

4.10.1 指针数组 97

4.10.2 指针型指针 101

4.11 抽象型指针 103

第五章 结构与联合 107

5.1 结构的概念 107

5.1.1 结构变量的定义 107

5.1.2 结构变量的引用 109

5.1.3 结构变量的初值 110

5.1.4 结构数组 111

5.2 结构型指针 112

5.2.1 结构型指针的概念 112

5.2.2 用结构型指针引用结构元素 112

5.3 结构与函数 113

5.3.1 将结构作为函数的参数 113

5.3.2 将结构型指针作为函数的参数 116

5.4 联合 117

5.4.1 联合的定义 117

5.4.2 联合变量的引用 118

第六章 预处理器 123

6.1 宏定义 123

6.1.1 不带参数的宏定义 123

6.1.2 带参数的宏定义 125

6.2 文件包含 127

6.3 条件编译 128

6.4 其他预处理命令 130

第七章 C51编译器 133

7.1 C51编译器控制指令详解 134

7.1.1 源控制指令 135

7.1.2 列表控制指令 137

7.1.3 目标控制指令 143

7.2 C51编译器的数据调用协议 150

7.2.1 数据在内存中的存储格式 150

7.2.2 目标代码的段管理 151

7.2.3 再入函数的栈结构 153

7.2.4 与汇编语言程序的接口 153

7.2.5 与PL/M51语言程序的接口 167

7.2.6 配置文件 167

7.2.7 C51编译器的限制 174

7.3 C51编译器的出错信息 175

7.3.1 致命错误 175

7.3.2 语法及语义错误 177

7.4 C51的库函数 187

7.4.1 字符函数CTYPE.H 188

7.4.2 一般I/O函数STDIO.H 190

7.4.3 字符串函数STRING.H 193

7.4.4 标准函数STDLIB.H 196

7.4.5 数学函数MATH.H 197

7.4.6 绝对地址访问ABSACC.H 199

7.4.7 内部函数INTRINS.H 200

7.4.8 变量参数表STDARG.H 201

7.4.9 全部跳转SETJMP.H 202

7.4.10 访问SFR和SFR_bit地址REGxxx.H 203

7.5 C51编译器的特殊扩充 203

7.5.1 以西门子80C517/537的特殊扩充 203

7.5.2 对AMD8xC51的特殊扩充 210

7.5.3 对PHILIPS 8xC751的特殊扩充 210

第八章 目标文件的连接与转换 213

8.1 连接定位器L51 213

8.1.1 连接/定位控制指令 215

8.1.2 L51的出错信息 239

8.2 符号转换程序OHS51 246

8.2.1 Intel HEX文件的格式 246

8.2.2 OHS51的控制指令与出错信息 247

8.3 库管理程序LIB51 248

8.4 分组连接定位器BL51 251

8.4.1 BL51的控制指令 252

8.4.2 BL51的分组配置 254

8.4.3 BL51的出错信息 282

8.4.4 分组目标文件转换程序OC51 282

8.5 宏汇编器A51 283

8.5.1 符号与表达式 286

8.5.2 汇编伪指令 288

8.5.3 宏处理 294

8.5.4汇编控制指令 301

8.5.5 A51的出错信息 308

第九章 DS51软件仿真器 315

9.1 DS51的启动和屏幕窗口分配 315

9.2 命令解释软件 319

9.3 鼠标器的使用 320

9.3.1 用鼠标器输入命令 320

9.3.2 用鼠标器执行命令 320

9.4 下拉菜单的操作 321

9.4.1 选项菜单(Alt+O) 321

9.4.2 键盘菜单(Alt+K) 322

9.4.3 观察菜单(Alt+V) 322

9.4.4 外围集成功能菜单(Alt+P) 323

9.4.5 映象菜单(Alt+M) 324

9.4.6 帮助菜单(Alt+H) 324

9.4.7 CPU菜单(Alt+C) 324

9.5 DS51的命令 325

9.5.1 显示和更新存储器内容命令 325

9.5.2 用户程序执行控制命令 329

9.5.3 断点管理命令 329

9.5.4 其它通用命令 332

9.6 表达式 338

9.6.1 表达式的组成 338

9.6.2 DS51表达式与C表达式之间的差别 341

9.6.3 DS51表达式应用示例 342

9.7 DS51的函数 346

9.7.1 用户函数 346

9.7.2 内部函数 348

9.7.3 信号函数 351

9.7.4 DS51函数与C语言函数敏的差别 353

9.8 DS51的出错信息 353

9.9 DS51的IOF驱动软件 359

第十章 C51应用编程技巧与实例 365

10.1 C51应用程序设计的基本方法 365

10.2 C51应用中的一些常见问题与解决方法 366

10.2.1 C语言程序设计中容易出错的地方 366

10.2.2 有关C51的若干实际应用技巧 368

10.3 8051单片机串行接口扩展应用编程 374

10.3.1 用8051串行口扩展的矩阵键盘 374

10.3.2 利用8051串行口实现多机通信 376

10.3.3 串行接口五位LED驱动器MC14489的应用 379

10.4 软件模拟I2C总线的C51读写程序 383

10.4.1 I2C总线简介 383

10.4.2 I2C总线通用读写程序 386

10.5 8051单片机并行接口扩展应用编程 393

10.5.1 打印输出接口及其驱动程序 393

10.5.2 D/A及A/D转换接口及其驱动程序 396

10.5.3 用可编程芯片8155实现I/O接口扩展 400

10.6 80C552单片机中A/D转换器的应用 416

10.6.1 80C552单片机简介 416

10.6.2 80C552内部ADC的应用 419

10.6.3 使用80C552内部ADC时印刷电路版的设计要点 423

10.6.4 使用80C552内部ADC的C51驱动程序 424

10.7 87C752单片机在气流量测量中的应用 430

10.7.1 87C752单片机简介 430

10.7.2 气流量测量仪表的硬件设计 435

10.7.3 气流量测量仪表的软件设计 438

参考文献 450