《单片机C语言Windows环境编程宝典》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:马忠梅等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2003
  • ISBN:7810772961
  • 页数:651 页
图书介绍:本书通过Keil公司最新版本8051单片机开发套件讲述单片机C语言应用程序设计。内容有C语言基础、编译器、宏汇编器和链接器的控制命令、混合编程及单片机内部资源、扩展资源和实时操作系统的编程方法。

目录 3

第一部分 Cx51基础篇 3

第一章 单片机基础知识 3

1.1 8051单片机的特点 3

1.2 8051的内部结构 4

1.2.1 中央处理器 5

1.2.2 存储器组织 7

1.2.3 片内并行接口 9

1.2.4 8051的内部资源 11

1.2.5 8051的芯片引脚 12

1.2.6 单片机的工作方式 12

1.3 8051的系统扩展 14

1.3.1 外部总线的扩展 15

1.3.2 外部程序存储器的扩展 16

1.3.3 外部数据存储器的扩展 19

1.4 8051指令系统 21

1.4.1 寻址方式 21

1.4.2 指令说明 22

1.4.3 伪指令 28

1.4.4 指令系统表 30

1.5 实用程序设计 34

第二章 C与8051 37

2.1 8051的编程语言 37

2.2 Cx51编译器 38

2.3 KEIL8051开发工具 39

2.4 KEILCx51编程实例 43

2.5 Cx51程序结构 48

3.1 数据与数据类型 50

第三章 Cx51数据与运算 50

3.2 常量与变量 51

3.3 Cx51数据的存储类型与8051存储器结构 53

3.4 8051特殊功能寄存器(SFR)及其Cx51定义 58

3.5 8051并行接口及其Cx51定义 60

3.6 位变量(BIT)及其Cx51定义 61

3.7 Cx51运算符、表达式及其规则 63

3.7.1 Cx51算术运算符及其表达式 63

3.7.2 Cx51关系运算符、表达式及优先级 64

3.7.3 Cx51逻辑运算符、表达式及优先级 65

3.7.4 Cx51位操作及其表达式 66

3.7.5 自增减运算符、复合运算符及其表达式 71

4.1.2 选择结构及其流程图 73

4.1.1 顺序结构及其流程图 73

4.1 C语言程序的基本结构及流程图 73

第四章 Cx51流程控制语句 73

4.1.3 循环结构及其流程图 74

4.2 选择语句 76

4.2.1 选择语句if 76

4.2.2 switch/case语句 78

4.3 循环语句 79

4.3.1 while语句 80

4.3.2 do while语句 81

4.3.3 for循环语句 82

第五章 Cx51构造数据类型 85

5.1 数组 85

5.1.1 一维数组 85

5.1.2 二维数组 88

5.1.3 字符数组 89

5.1.4 查表 90

5.1.5 数组与存储空间 90

5.2 指针 91

5.2.1 指针的基本概念 91

5.2.2 数组指针和指向数组的指针变量 94

5.2.3 指向多维数组的指针和指针变量 98

5.2.4 关于KEILCx51的指针类型 98

5.3 结构 100

5.3.1 结构的定义和引用 100

5.3.2 结构数组 104

5.3.3 指向结构类型数据的指针 105

5.4 共用体 107

5.5 枚举 109

第六章 Cx51函数 111

6.1 函数的分类 112

6.2 函数的定义 112

6.3 函数的参数和函数值 114

6.4 函数的调用 116

6.4.1 函数调用的一般形式 116

6.4.2 函数调用的方式 116

6.4.3 对被调用函数的说明 117

6.4.4 函数的嵌套和递归调用 118

6.4.5 函数的递归调用 118

6.4.6 用函数指针变量调用函数 120

6.5 数组、指针作为函数的参数 122

6.5.1 用数组作为函数的参数 122

6.5.2 用指向函数的指针变量作为函数的参数 123

6.5.3 用指向结构的指针变量作为函数的参数 125

6.5.4 返回指针的函数 127

第二部分 Cx51工具篇 131

第七章 μVision2集成开发环境 131

7.1 菜单栏命令 131

7.2 创建应用 136

7.2.1 创建项目 136

7.2.2 项目目标和文件组 141

7.2.3 配置对话框 142

7.2.4 代码分体 143

7.2.5 μVision2工具 146

7.2.6 编写优化代码 154

7.2.7 技巧和诀窍 157

7.3 调试程序 164

7.3.1 μVision2调试器 164

7.3.2 Debug命令 173

7.3.3 表达式 175

7.3.4 技巧和诀窍 186

7.4 μVision2调试函数 190

7.4.1 创建和调用函数 190

7.4.2 函数分类 192

7.4.3 调试函数和C之间的区别 200

7.4.4 μVision2调试器和dScope之间的差别 200

7.5 样例程序 201

7.5.1 第一个8051C程序HELLO 201

7.5.2 远程测量系统MEASURE 205

7.6 使用Monitor-51 212

第八章 Cx51编译器 219

8.1 Cx51编译器控制命令 221

8.2.2 存储区 254

8.2.1 关键字 254

8.2 Cx51语言扩展 254

8.2.3 外部数据存储器 255

8.2.4 存储模式 256

8.2.5 存储类型 257

8.2.6 数据类型 258

8.2.7 位类型 258

8.2.8 可位寻址对象 259

8.2.9 特殊功能寄存器 260

8.2.10 绝对变量定位 262

8.2.11 指针 263

8.2.12 函数声明 273

8.3 预处理器 281

8.3.1 预处理命令 281

8.3.3 标记合并操作符 282

8.3.2 字符串化操作符 282

8.3.4 预定义宏常量 283

8.4 支持的8051派生产品 283

8.4.1 AD公司ADμC微转换器B2系列产品 284

8.4.2 Atmel公司89x8252及其派生产品 284

8.4.3 Dallas公司80C320,80C420,80C520和80C530 284

8.4.4 Dallas公司80C390,80C400,5240及其派生产品 285

8.4.5 Infineon公司C517,C517A,C509,80C537及其派生产品 285

8.4.6 Philips公司8xC750,8xC751和8xC752 286

8.4.7 Philips公司80C51MX体系结构 287

8.4.8 Philips和Atmel公司WM的双数据指针 287

8.5 高级编程技术 287

8.5.1 配置文件 287

8.5.3 段的命名规约 292

8.5.2 优化器 292

8.5.4 C与汇编程序的接口 295

8.5.5 C与PL/M-51程序的接口 303

8.5.6 数据存储格式 304

8.5.7 访问绝对存储器地址 308

8.5.8 调试 309

8.6 Cx51运行库 310

8.6.1 内部函数 310

8.6.2 库文件 310

8.6.3 标准类型 311

8.6.4 绝对存储器访问宏 311

8.6.5 函数分类 313

8.6.6 头文件 319

第九章 Ax51宏汇编器 322

9.1 汇编伪指令 324

9.1.1 段控制伪指令 326

9.1.2 符号定义 332

9.1.3 存储区初始化 336

9.1.4 保留存储区 337

9.1.5 过程声明 339

9.1.6 程序链接 341

9.1.7 地址控制 343

9.1.8 其他伪指令 344

9.2 宏定义和宏调用 345

9.2.1 标准宏伪指令 346

9.2.2 宏定义 346

9.2.3 运算符 351

9.2.4 宏调用 351

9.2.5 C宏 352

9.3 调用和控制 355

9.3.1 汇编控制命令 357

9.3.2 条件汇编的控制 369

第十章 链接器/定位器和实用工具 374

10.1 链接器/定位器Lx51 374

10.2 链接器/定位器的控制命令 379

10.2.1 列表文件控制 384

10.2.2 输出文件控制 392

10.2.3 段和位置控制 396

10.2.4 高级语言控制 406

10.3 库管理器LIBx51 410

10.4 Object-Hex转换器 415

10.4.1 使用OHx51 415

10.4.2 使用OC51 417

11.1 基本概念 421

第三部分 Cx51应用篇 421

第十一章 模块化程序设计 421

11.2 模块化程序开发过程 423

11.3 汇编和编译 425

11.4 覆盖和共享 429

11.5 库和链接器/定位器 430

11.5.1 库 430

11.5.2 链接器/定位器 431

11.6 混合编程 436

11.7 程序优化 446

第十二章 8051内部资源的C编程 448

12.1 中断 448

12.2 定时器/计数器 456

12.3 串行口 466

12.4 8051派生产品的内部资源 475

12.5 多机通信 478

第十三章 8051扩展资源的C编程 486

13.1 可编程外围定时器8253 486

13.2 可编程外围并行接口8255 491

13.3 实时时钟/日历芯片146818 495

13.4 8位D/A芯片DAC0832 499

13.5 12位D/A芯片AD7521 503

13.6 8位A/D芯片ADC0809 505

13.7 12位A/D芯片AD574 508

13.8 可编程键盘/显示接口芯片8279 511

13.9 字符型LCD显示模块 518

13.10 点阵型LCD显示模块 523

14.1 RTX51概述 534

第十四章 RTX51实时多任务操作系统 534

14.2 要求和定义 541

14.3 创建RTX51 Tiny应用程序 544

14.4 RTX51 Tiny的系统函数 546

14.5 堆栈处理 553

14.6 样例程序和系统调试 553

14.6.1 交通灯控制器 553

14.6.2 系统调试 565

附录A KEIL Cx51与ANSI C的不同 570

附录B KEIL Cx51的版本差异 573

附录C 代码优化 578

附录D 编译器限制 581

附录E 提示和技巧 582

附录F 库函数参考 585

参考文献 651