《单片机KEIL CX51应用开发技术》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:王为青,程国钢编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:711515578X
  • 页数:342 页
图书介绍:本书介绍了MCS-51系列单片机的体系结构,指令系统,编程语言和开发工具等。

1.1 单片机的发展及其应用 1

第1章 MCS-51系列单片机 1

1.2 MCS-51系列单片机体系结构 2

1.2.1 中央处理器 2

1.2.2 存储器 4

1.2.3 外部引脚 8

1.2.4 时钟模块 9

1.2.5 其他内部资源 10

1.2.6 MCS-51系列单片机工作方式 10

1.3 常见的MCS-51系列单片机 12

第2章 MCS-51单片机指令系统 15

2.1 MCS-51单片机寻址方式 15

2.1.1 概述 15

2.1.4 寄存器寻址 16

2.1.5 寄存器间接寻址 16

2.1.2 立即寻址 16

2.1.3 直接寻址 16

2.1.6 变址间接寻址 17

2.1.7 相对寻址 17

2.2 MCS-51单片机指令系统 17

2.2.1 数据传送类指令 17

2.2.2 算术运算类指令 19

2.2.3 逻辑操作类指令 20

2.2.4 位操作类指令 22

2.2.5 控制转移类指令 23

2.2.6 汇编程序和伪指令 26

2.3 MCS-51单片机汇编程序设计 27

3.2 C51语言编译器介绍 31

3.1 概述 31

第3章 Keil C51语言 31

3.3 Keil uVision2集成开发环境 32

3.3.1 uVision2界面以及菜单介绍 32

3.3.2 uVision2开发流程 38

第4章 数据类型、运算符和表达式 44

4.1 C51支持的数据类型 44

4.2 常量和变量 45

4.2.1 常量 45

4.2.2 变量 45

4.3 C51存储器、寄存器定义 45

4.3.1 C51的数据存储类型 46

4.3.2 寄存器 47

4.3.3 位变量 47

4.4 C51的算术和赋值运算 47

4.4.2 赋值运算符和赋值表达式 48

4.4.1 算术运算符和算术表达式 48

4.5 逻辑运算 49

4.6 关系运算 49

4.7 位操作 50

4.7.1 位逻辑运算 50

4.7.2 移位运算 50

4.8 自增减运算、复合运算、逗号运算 51

4.8.1 自增减运算 51

4.8.2 复合运算 51

4.8.3 逗号运算 51

4.9 运算符的优先级 52

第5章 C51控制流 54

5.1 C51的3种基本结构 54

5.1.1 顺序结构 54

5.1.3 循环结构 55

5.1.2 选择结构 55

5.2 选择语句 56

5.2.1 if语句 56

5.2.2 switch语句 58

5.2.3 选择语句的嵌套 59

5.3 循环语句 59

5.3.1 while语句 59

5.3.2 do while语句 60

5.3.3 for语句 60

5.3.4 循环语句总结 61

5.4 break语句、continue语句和goto语句 62

5.4.1 break语句 62

5.4.2 continue语句 63

5.4.3 goto语句 64

6.1 函数的分类 65

第6章 函数 65

6.2 函数的定义 66

6.2.1 函数定义的一般形式 66

6.2.2 函数的参数 67

6.2.3 函数的值 67

6.3 函数的调用 68

6.3.1 函数调用的方法 68

6.3.2 函数的声明 68

6.3.3 函数的递归调用 69

6.3.4 函数的嵌套调用 71

6.4 内部函数和外部函数 72

6.4.1 内部函数 72

6.4.2 外部函数 72

6.5 变量类型以及存储方式 72

6.5.1 局部变量 73

6.5.2 全局变量 74

第7章 数组和指针 76

7.1 数组 76

7.1.1 一维数组 76

7.1.2 二维数组 77

7.1.3 字符数组 77

7.1.4 数组的存储方式 78

7.2 指针 79

7.2.1 指针和指针变量 79

7.2.2 指针变量的定义 80

7.2.3 指针变量的引用 80

7.2.4 C51的指针类型 80

7.3 数组和指针 81

7.3.1 指针与一维数组 81

7.4.1 字符串的表达形式 83

7.4 字符串和指针 83

7.3.2 指针与二维数组 83

7.4.2 字符串指针变量和字符数组的区别 84

7.5 数组、指针和函数的联系 84

7.5.1 数组作为函数的参数 84

7.5.2 指针作为函数参数 85

7.5.3 返回指针的函数 86

7.6 指针数组和指向指针的指针 87

第8章 结构、联合和枚举 89

8.1 结构体 89

8.1.1 结构体和结构体变量的定义 89

8.1.2 结构体变量的引用 90

8.1.3 结构体变量的初始化和赋值 91

8.1.4 结构体变量数组 91

8.1.5 指向结构体变量的指针 92

8.1.6 用指向结构的指针变量作为函数的参数 92

8.2.1 联合体变量的定义 94

8.2 联合体 94

8.2.2 联合体变量的使用 95

8.3 枚举 96

8.3.1 枚举变量的定义 96

8.3.2 枚举变量的应用 96

第9章 程序设计技巧 98

9.1 养成好的编程习惯 98

9.1.1 程序的总体设计 98

9.1.2 命名规则 99

9.1.3 编程规范 99

9.2 宏定义 100

9.2.1 简单的宏定义 100

9.2.2 带参数的宏定义 101

9.3 条件编译 102

9.4 具体指针的应用 104

9.5 中断响应快速性的一种实现 106

9.6 一些关键字的使用 108

9.7 使用移位运算代替乘除和求模等运算 110

第10章 单片机基本内部资源 112

10.1 并行口 112

10.1.1 P0口 112

10.1.2 P1口 113

10.1.3 P2口 114

10.1.4 P3口 114

10.1.5 并行口的应用 114

10.2 中断系统 115

10.2.1 中断向量地址和中断标志位 116

10.2.2 中断控制 117

10.2.3 中断响应 119

10.2.4 中断服务程序设计 120

10.3 定时计数器 122

10.3.1 定时计数器的控制 122

10.3.2 定时计数器的工作方式 123

10.3.3 定时计数器的使用 125

10.3.4 定时计数器T2 131

10.4 串行口 135

10.4.1 串行口的相关寄存器 136

10.4.2 串行口工作方式0 137

10.4.3 串行口工作方式1 140

10.4.4 串行口工作方式2、3 142

10.4.5 串行口应用技巧 146

10.5 外部中断 149

10.6 单片机内部资源应用技巧 152

10.6.1 外部中断扩展 152

10.6.2 中断服务子程序时间误差 154

10.6.3 热启动和冷启动 159

10.6.4 软件模拟硬件 160

10.6.5 单片机中断资源分配和使用软件扩展多级中断 165

10.6.6 单片机串行口通信波特率自适应 169

第11章 单片机资源扩展 174

11.1 扩展并行口 174

11.1.1 不可编程并行口扩展 174

11.1.2 可编程并行口扩展 180

11.2 扩展定时计数器8253/8254 184

11.2.1 8253的内部结构 184

11.2.2 8253的引脚 185

11.2.3 8253的控制寄存器和工作方式 186

11.2.4 8253和51系列单片机接口 191

11.3 扩展外部内存 193

11.3.1 扩展程序内存 193

11.3.2 扩展外部数据存储器 194

11.3.3 同时扩展外部程序内存和数据存储器 196

11.4 I2C总线扩展 197

11.5 扩展其他资源 210

11.5.1 模拟比较器 210

11.5.2 时钟芯片 215

11.5.3 温度传感器 223

11.5.4 看门狗(Watch Dog) 228

11.5.5 SPI(同步串行外部设备接口) 230

11.5.6 ICP、ISP和IAP 231

第12章 单片机输入输出通道 233

12.1 人体输入设备 233

12.1.1 按键 233

12.1.2 行列扫描键盘 235

12.2.1 基本显示设备 239

12.2 输出显示设备 239

12.2.2 数码管的软件译码和硬件译码 241

12.2.3 数码管的软件译码 242

12.2.4 数码管的硬件译码 244

12.2.5 液晶显示器 248

12.2.6 液晶显示器的应用 249

12.3 输入通道 257

12.3.1 输入通道简介 257

12.3.2 数字信号和开关信号 258

12.3.3 频率信号 260

12.3.4 模拟开关和采样保持器 262

12.3.5 模拟/数字变换 264

12.3.6 扩展A/D 266

12.3.7 ADC0804的应用 269

12.4 输出通道 272

12.4.1 开关量输出 272

12.4.2 数字/模拟变换 274

12.4.3 扩展D/A 275

12.4.4 DAC0832的应用 277

12.4.5 直流电动机控制 279

第13章 单片机应用系统 283

13.1 最小单片机系统设计 283

13.1.1 单片机振荡电路设计 284

13.1.2 单片机复位电路 284

13.2 MON-51仿真器开发 287

13.2.1 MON-51仿真器简介 287

13.2.2 MON-51仿真器硬件设计 288

13.2.3 MON-51仿真器软件环境及其配置 288

13.2.4 MON-51仿真器的使用 292

13.2.5 MON-51设计总结 297

13.3.1 IC卡简介 298

13.3 IC卡读卡器开发 298

13.3.2 IC卡读卡器硬件 299

13.3.3 存储卡软件系统设计 300

13.3.4 加密卡软件系统设计 304

第14章 单片机系统开发技巧 323

14.1 单片机系统可靠性设计 323

14.1.1 系统设计原则 323

14.1.2 硬件系统可靠性设计 324

14.1.3 电路板图可靠性设计 325

14.1.4 软件系统可靠性设计 327

14.2 单片机系统调试 333

14.2.1 单片机开发系统 333

14.2.2 单片机系统硬件调试 336

14.2.3 单片机系统软件调试 338

14.2.4 单片机系统综合调试 338

14.2.5 单片机系统调试技巧 339