《单片机C51完全学习手册》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:兰吉昌等编著
  • 出 版 社:北京:化学工业出版社
  • 出版年份:2009
  • ISBN:9787122035820
  • 页数:395 页
图书介绍:本书详细介绍了单片机C51语言的基础知识,包括C51程序设计的基本语法、函数结构等内容。

第1章 C51程序设计简介 1

1.1 C51程序特点 1

1.2 C51开发流程 1

1.3 C51编程规范 2

1.4 常用C51编程软件Keil C51 2

1.4.1 安装Keil C51软件 3

1.4.2 Keil C51软件的使用 5

第2章 C51程序设计基础 9

2.1 标识符 9

2.2 关键字 9

2.3 数据类型 10

2.3.1 整型(int) 11

2.3.2 浮点型(float) 12

2.3.3 字符型(char) 12

2.3.4 指针型(*) 13

2.3.5 无值型(void) 13

2.4 变量的作用域 13

2.4.1 自动型变量 14

2.4.2 外部型变量 14

2.4.3 静态型变量 15

2.4.4 寄存器型变量 16

2.5 const修饰符 16

2.6 C51的分隔符 16

2.6.1 “[]”分隔符 17

2.6.2 “()”分隔符 17

2.6.3 “{}”分隔符 17

2.6.4 “,”分隔符 17

2.6.5 “:”分隔符 17

2.6.6 “;”分隔符 18

2.6.7 “…”分隔符 18

2.6.8 “*”分隔符 18

2.6.9 “=”分隔符 18

2.6.10 “#”分隔符 18

2.6.11 “^”分隔符 18

2.7 运算符与表达式 19

2.7.1 赋值运算符 19

2.7.2 算术运算符 19

2.7.3 逻辑运算符 21

2.7.4 关系运算符 22

2.7.5 增量和减量运算符 22

2.7.6 位运算符 23

2.7.7 复合赋值运算符 24

2.7.8 逗号运算符 25

2.7.9 条件运算符 25

2.7.10 指针和地址运算符 26

2.7.11 sizeof运算符 26

第3章 C51语句 28

3.1 C51语句的流程与控制 28

3.1.1 顺序结构(sequence) 28

3.1.2 选择结构(selection) 28

3.1.3 循环结构(repetition) 28

3.1.4 自顶向下设计方法 29

3.2 说明语句 29

3.3 表达式语句 29

3.4 复合语句 30

3.5 条件语句 31

3.6 开关与跳转语句 33

3.6.1 开关语句 33

3.6.2 跳转语句 36

3.7 循环控制语句 38

3.7.1 for循环 38

3.7.2 while循环 39

3.7.3 do-while循环 40

3.8 函数调用语句 41

3.9 空语句 41

第4章 C51函数 43

4.1 函数的定义 43

4.2 函数说明 44

4.3 C51函数的调用 45

4.3.1 函数的参数传递 46

4.3.2 递归函数的调用 46

4.3.3 数组作为函数参数 47

4.3.4 用函数指针调用函数 48

4.3.5 嵌套函数的调用 48

4.4 重入函数 49

4.5 main函数 49

4.6 函数的重载 50

4.7 函数作用域 51

4.7.1 局部变量 51

4.7.2 全局变量 52

4.8 内部函数和外部函数 52

4.8.1 内部函数 52

4.8.2 外部函数 53

4.9 中断函数 53

4.9.1 内部中断函数的使用 54

4.9.2 外部中断函数的使用 55

第5章 C51数据结构 56

5.1 C51结构 56

5.1.1 结构体类型的定义 56

5.1.2 结构体变量的定义 59

5.1.3 结构体的初始化 59

5.1.4 结构体变量成员的引用 61

5.1.5 结构的嵌套 62

5.1.6 位结构 62

5.2 数组 63

5.2.1 一维数组的定义和初始化 63

5.2.2 一维数组元素的下标法引用 66

5.2.3 字符数组的输入和输出 67

5.2.4 二维数组的定义和初始化 69

5.2.5 结构体数组 71

5.3 联合与枚举 73

5.3.1 联合(union) 73

5.3.2 枚举 75

5.4 类型说明 75

5.5 指针 76

5.5.1 指针的基本概念 76

5.5.2 数组元素的指针法引用 78

5.5.3 二维数组的指针 80

5.5.4 二级指针变量 80

5.5.5 指针数组 81

5.5.6 结构指针 81

5.5.7 特定寄存器指针和通用指针 82

第6章 存储结构 85

6.1 C51存储类型 85

6.1.1 存储模式 87

6.1.2 存储空间 88

6.2 80C51单片机的存储器结构 89

6.3 C51支持的指针类型 93

6.4 内存分配 94

6.4.1 内存分配方法 94

6.4.2 动态分配内存 95

6.5 位操作 95

6.5.1 位操作指令 96

6.5.2 字段结构 97

6.6 访问绝对地址 98

第7章 预处理 100

7.1 文件包含 100

7.2 宏定义 101

7.2.1 无参宏定义 101

7.2.2 带参宏定义 103

7.2.3 #运算符 104

7.3 预处理指令 105

7.4 头文件 107

第8章 Keil C51编译环境μVision3 115

8.1 Keil μVision3工作界面 115

8.1.1 Keil μVision3的菜单栏 115

8.1.2 Keil μVision3的工具栏 123

8.2 工程设置 124

第9章 Keil C51编译 127

9.1 Keil C51编译环境μVision3 127

9.2 编译过程 127

9.2.1 编译步骤 129

9.2.2 编译过程产生的映像文件 131

9.3 Keil C51编译器的控制命令 132

9.4 定制文件 133

9.4.1 STARTUP.A51 133

9.4.2 INIT.A51 134

9.4.3 XBANKING.A51 134

9.4.4 LIB目录中的C文件 136

9.5 优化器 136

9.5.1 8051特定优化 137

9.5.2 代码生成选项 137

9.6 C程序和汇编的接口 137

9.6.1 函数参数 137

9.6.2 用固定存储区传递参数 137

9.6.3 通过寄存器传递参数 137

9.6.4 函数返回值 138

9.6.5 使用SRC控制指令 138

9.6.6 C程序传递参数给汇编程序 141

9.7 C程序和PL/M-51的接口 141

9.8 μVision其他编译功能 141

9.8.1 在多个文件中查找 142

9.8.2 Source Browser(资源浏览器) 142

9.8.3 对话框工具 143

9.9 编译器限制 143

9.10 使用错误信息 144

9.10.1 语法和语义错误 144

9.10.2 警告 144

第10章 Keil C51调试 146

10.1 μVision3调试器 146

10.2 断点 147

10.3 在线编译 152

10.4 实例演示 152

第11章 Keil C51仿真 159

11.1 Keil C51的一些仿真窗口 159

11.1.1 模拟仿真单片机的外设接口 159

11.1.2 逻辑分析窗口 171

11.1.3 性能分析窗口 174

11.2 Monitor 51 176

11.3 利用开发板和仿真器进行仿真 177

11.3.1 SHX-51A型开发板 177

11.3.2 SHX-C51仿真器 188

第12章 C51在RTX-51实时操作系统的应用 190

12.1 操作系统概述 190

12.1.1 操作系统的类型 190

12.1.2 操作系统的功能 191

12.1.3 实时操作系统(Real Time OS) 191

12.2 RTX-51系统概述 192

12.2.1 单任务程序 192

12.2.2 时间片轮转程序 192

12.2.3 用RTX-51进行循环调度 193

12.2.4 RTX-51事件 193

12.2.5 os wait函数 194

12.2.6 RTX-51的技术数据 194

12.3 RTX-51系统函数 195

12.4 RTX-51系统调试 195

12.5 RTX-51系统应用实例 196

12.5.1 交通灯控制器命令 197

12.5.2 应用程序 197

12.5.3 TRAFFIC工程 206

12.5.4 运行TRAFFIC程序 207

12.5.5 RTX内核调试 208

第13章 C51程序设计综合实例 209

13.1 八位7段数码管动态显示 209

13.1.1 实例说明 209

13.1.2 八位7段数码管工作原理分析 209

13.1.3 硬件电路设计 210

13.1.4 软件设计 211

13.2 单片机实现12864的液晶显示 213

13.2.1 实例说明 213

13.2.2 设计思路分析 213

13.2.3 硬件电路设计 216

13.2.4 软件设计 220

13.3 单片机实现4×4矩阵键盘识别技术 224

13.3.1 实例说明 224

13.3.2 设计思路分析 224

13.3.3 硬件电路设计 225

13.3.4 软件设计 227

13.4 基于MAX232的RS-232串口通信 230

13.4.1 串行通信 230

13.4.2 芯片选取 231

13.4.3 芯片工作原理 232

13.4.4 硬件电路设计 233

13.4.5 软件设计 233

13.5 基于MAX527的串行D/A转换 235

13.5.1 设计思路分析 235

13.5.2 芯片选取 237

13.5.3 芯片的工作原理 238

13.5.4 硬件电路 239

13.5.5 软件设计 239

13.6 LED流水灯显示 240

13.6.1 实例说明 241

13.6.2 流水灯及LED工作原理分析 241

13.6.3 硬件电路设计 241

13.6.4 程序说明 242

13.7 基于MAX197的并行A/D转换实例 242

13.7.1 实例说明 242

13.7.2 设计思路分析 243

13.7.3 硬件电路设计 245

13.7.4 软件设计 249

13.8 基于RTL8019AS实现以太网通讯 252

13.8.1 芯片选取 253

13.8.2 芯片工作原理 256

13.8.3 硬件电路设计 258

13.8.4 软件设计 259

13.9 单片机实现智能信号发生器 263

13.9.1 实例说明 263

13.9.2 MAX038信号发生芯片 263

13.9.3 硬件电路设计 265

13.9.4 软件设计 266

13.10 单片机实现简单音乐发生器 268

13.10.1 实例说明 269

13.10.2 设计思路分析 269

13.10.3 硬件电路设计 271

13.10.4 软件设计 273

13.11 RS-485总线现场监控系统 276

13.11.1 实例说明 277

13.11.2 RS-485总线工作原理分析 277

13.11.3 硬件电路设计 277

13.11.4 软件设计 279

13.12 单片机实现语音录放 285

13.12.1 实例说明 285

13.12.2 语音芯片工作原理 286

13.12.3 硬件电路设计 286

13.12.4 软件设计 288

13.13 单片机时钟设计 291

13.13.1 实例说明 291

13.13.2 设计思路 291

13.13.3 软件设计 291

13.14 基于T6369C液晶显示控制器的单片机接口 299

13.14.1 实例说明 299

13.14.2 芯片介绍 299

13.14.3 硬件电路设计 305

13.14.4 软件设计 306

13.15 非接触式IC卡读写 319

13.15.1 实例说明 320

13.15.2 射频IC卡和卡片读写器原理 320

13.15.3 硬件电路设计 320

13.15.4 软件设计 322

13.16 基于MPX4105的数字气压计设计 331

13.16.1 实例说明 331

13.16.2 应用芯片介绍 332

13.16.3 硬件电路设计 335

13.16.4 软件设计 336

附录A 致命错误信息 339

附录B 语法和语义错误信息 342

附录C 警告信息 356

附录D L51连接定位器使用错误提示 359

附录E μVision3调试命令 367

附录F C51库函数 389