《单片机原理与应用及C51程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:谢维成,杨加国主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302133492
  • 页数:303 页
图书介绍:本书以丰富的实例讲解MCS-51单片机原理及软硬件开发技术。

第1章 基础知识 1

1.1 信息在计算机中的表示 1

1.1.1 数在计算机内的表示 1

1.1.2 字符在计算机内的表示 5

1.2 单片机的概念及其特点 6

1.2.1 单片机的基本概念 6

1.2.2 单片机的主要特点 6

1.3 单片机的发展及其主要品种 7

1.3.1 4位单片机 7

1.3.2 8位单片机 8

1.3.3 16位单片机 8

1.3.4 32位单片机 8

1.4 单片机的应用 8

1.4.1 单机应用 9

1.4.2 多机应用 9

1.4.3 单片机的等级 9

习题 9

第2章 单片机基本原理 11

2.1 MCS-51系列单片机简介 11

2.2 MCS-51系列单片机的结构原理 12

2.2.1 MCS-51系列单片机的基本组成 12

2.2.2 MCS-51系列单片机的内部结构 12

2.2.3 MCS-51系列单片机的中央处理器(CPU) 12

2.2.4 MCS-51系列单片机的存储器结构 15

2.2.5 MCS-51系列单片机的输入/输出接口 21

2.3 MCS-51系列单片机的外部引脚及片外总线 25

2.3.1 外部引脚 25

2.3.2 片外总线结构 27

2.4 MCS-51系列单片机的工作方式 28

2.4.1 复位方式 28

2.4.2 程序执行方式 29

2.4.3 单步执行方式 29

2.4.4 掉电和节电方式 30

2.4.5 编程和校验方式 31

2.5 MCS-51系列单片机的时序 32

2.5.1 机器周期和指令周期 32

2.5.2 单机器周期指令的时序 32

2.5.3 双机器周期指令的时序 33

习题 33

第3章 单片机汇编程序设计 34

3.1 MCS-51系列单片机汇编指令格式及标识 34

3.1.1 指令格式 34

3.1.2 指令中用到的标识符 35

3.2 MCS-51系列单片机的寻址方式 35

3.2.1 常数寻址(立即寻址) 35

3.2.2 寄存器数寻址(寄存器寻址) 36

3.2.3 存储器数寻址 36

3.2.4 位寻址 38

3.2.5 指令寻址 38

3.3 MCS-51系列单片机指令系统 39

3.3.1 数据传送指令 39

3.3.2 算术运算指令 42

3.3.3 逻辑操作指令 44

3.3.4 控制转移指令 45

3.3.5 位操作指令 50

3.4 MCS-51系列单片机汇编程序常用伪指令 52

3.5 MCS-51系列单片机汇编程序设计 55

3.5.1 运算程序 55

3.5.2 数据的拼拆和转换 58

3.5.3 多分支转移(散转)程序 60

习题 62

第4章 单片机C语言程序设计 65

4.1 C语言与MCS-51单片机 65

4.1.1 C语言的特点及程序结构 65

4.1.2 C语言与MCS-51单片机 67

4.1.3 C51程序结构 67

4.2 C51的数据类型 68

4.3 C51的运算量 70

4.3.1 常量 70

4.3.2 变量 72

4.3.3 存储模式 75

4.3.4 绝对地址的访问 75

4.4 C51的运算符及表达式 77

4.4.1 赋值运算符 77

4.4.2 算术运算符 78

4.4.3 关系运算符 78

4.4.4 逻辑运算符 78

4.4.5 位运算符 79

4.4.6 复合赋值运算符 79

4.4.7 逗号运算符 80

4.4.8 条件运算符 80

4.4.9 指针与地址运算符 80

4.5 表达式语句及复合语句 81

4.5.1 表达式语句 81

4.5.2 复合语句 81

4.6 C51的输入/输出 82

4.6.1 格式输出函数printf() 83

4.6.2 格式输入函数scanf() 83

4.7 C51程序基本结构与相关语句 84

4.7.1 C51的基本结构 84

4.7.2 if语句 87

4.7.3 switch/case语句 87

4.7.4 while语句 88

4.7.5 do...while语句 89

4.7.6 for语句 89

4.7.7 循环的嵌套 90

4.7.8 break和continue语句 90

4.7.9 return语句 91

4.8 函数 91

4.8.1 函数的定义 92

4.8.2 函数的调用与声明 94

4.8.3 函数的嵌套与递归 96

4.9 C51构造数据类型 98

4.9.1 数组 98

4.9.2 指针 100

4.9.3 结构 103

4.9.4 联合 105

4.9.5 枚举 107

习题 108

第5章 MCS-51单片机内部资源及编程 111

5.1 并行输入/输出接口 111

5.2 定时/计数器接口 111

5.2.1 定时/计数器的主要特性 111

5.2.2 定时/计数器T0、T1的结构及工作原理 112

5.2.3 定时/计数器的方式和控制寄存器 113

5.2.4 定时/计数器的工作方式 114

5.2.5 定时/计数器的初始化编程及应用 117

5.3 串行接口 121

5.3.1 通信的基本概念 121

5.3.2 MCS-51单片机串行口功能与结构 123

5.3.3 串行口的工作方式 125

5.3.4 串行口的编程及应用 127

5.4 中断系统 142

5.4.1 中断的基本概念 142

5.4.2 MCS-51单片机的中断系统 143

5.4.3 MCS-51中断系统的应用 147

习题 150

第6章 MCS-51单片机系统扩展 152

6.1 MCS-51单片机的最小系统 152

6.1.1 8051/8751的最小系统 152

6.1.2 8031最小系统 152

6.2 存储器扩展 153

6.2.1 存储器扩展概述 153

6.2.2 程序存储器扩展 156

6.2.3 数据存储器扩展 158

6.3 输入/输出口扩展 159

6.3.1 简单I/O接口扩展 159

6.3.2 可编程I/O扩展(8255A) 161

习题 167

第7章 MCS-51单片机与键盘、显示器的接口 169

7.1 MCS-51单片机与键盘的接口 169

7.1.1 键盘的工作原理 169

7.1.2 独立式键盘与单片机的接口 171

7.1.3 矩阵式键盘与单片机的接口 172

7.2 MCS-51单片机与LED显示器接口 177

7.2.1 LED显示器的结构与原理 177

7.2.2 LED数码管显示器的译码方式 179

7.2.3 LED数码管的显示方式 180

7.2.4 LED显示器与单片机的接口 181

7.3 MCS-51单片机与行程开关、晶闸管、继电器的接口 184

7.3.1 行程开关、继电器与MCS-51单片机的接口 185

7.3.2 晶闸管与MCS-51单片机的接口 185

7.3.3 继电器与MCS-51单片机的接口 186

7.3.4 蜂鸣器与MCS-51单片机的接口 187

习题 187

第8章 MCS-51与D/A、A/D的接口 188

8.1 MCS-51单片机与ADC的接口 188

8.1.1 A/D转换器概述 188

8.1.2 ADC0809与MCS-51的接口 189

8.2 MCS-51单片机与DAC的接口 194

8.2.1 D/A转换器概述 194

8.2.2 MCS-51单片机与8位DAC0832的接口 196

习题 201

第9章 MCS-51单片机的其他接口 202

9.1 LCD与MCS-51接口 202

9.1.1 字符型点阵式液晶显示器 202

9.1.2 LCD显示器与单片机的接口与应用 207

9.2 MCS-51单片机与I2C总线芯片接口 211

9.2.1 I2C总线简介 211

9.2.2 I2C总线EEPROM芯片与单片机接口 213

9.3 MCS-51单片机与时钟日历芯片接口 225

9.3.1 并行日历时钟芯片DS12887与单片机接口 225

9.3.2 串行日历时钟芯片与单片机接口 233

习题 243

第10章 单片机应用系统设计 244

10.1 单片机应用系统的基本结构 244

10.1.1 单片机应用系统的硬件系统 244

10.1.2 单片机应用系统开发的基本过程 245

10.2 单片机应用系统的硬件系统设计 247

10.2.1 硬件系统设计原则 247

10.2.2 硬件设计 248

10.3 单片机应用系统的软件设计 249

10.3.1 软件设计的特点 249

10.3.2 资源分配 250

10.3.3 单片机应用系统开发工具 250

习题 251

第11章 单片机应用系统设计实例 252

11.1 单片机电子时钟的设计 252

11.1.1 软时钟的基本原理 252

11.1.2 系统硬件电路的设计 252

11.1.3 系统软件程序的设计 253

11.2 多路数字电压表的设计 259

11.2.1 多路数字电压表的原理及功能 259

11.2.2 系统硬件电路的设计 260

11.2.3 系统软件程序的设计 261

习题 268

第12章 Keil C51集成环境的使用 269

12.1 Keil C51简介 269

12.1.1 Keil uVision2 IDE的安装 269

12.1.2 Keil uVision2 IDE界面 269

12.2 Keil uVision2 IDE的使用方法 274

12.2.1 项目文件的建立 274

12.2.2 给项目添加程序文件 275

12.2.3 编译、连接项目,形成目标文件 276

12.2.4 运行调试观察结果 277

12.2.5 多文件的处理 278

12.2.6 仿真环境的设置 279

12.3 Keil C51的调试技巧 282

12.3.1 如何设置和删除断点 282

12.3.2 如何查看和修改寄存器的内容 282

12.3.3 如何观察和修改变量 282

12.3.4 如何观察存储器区域 282

12.3.5 并行口的使用 283

12.3.6 定时/计数器的使用 284

12.3.7 串行口的使用 285

12.3.8 外中断的使用 285

习题 286

附录A MCS-51系列单片机指令表 287

A.1 数据传送类指令 287

A.2 算术操作类指令 288

A.3 逻辑操作类指令 289

A.4 控制转移类指令 289

A.5 位操作类指令 290

附录B C51的库函数 292

B.1 寄存器库函数REGXXX.H 292

B.2 字符函数CTYPE.H 292

B.3 一般输入/输出函数STDIO.H 294

B.4 内部函数INTRINS.H 295

B.5 标准函数STDLIB.H 296

B.6 字符串函数STRING.H 297

B.7 数学函数MATH.H 299

B.8 绝对地址访问函数ABSACC.H 301

附录C 单片机技术及嵌入式系统的网络资源 302

C.1 单片机技术及嵌入式系统的常见网站 302

C.2 单片机技术及嵌入式系统的官方网站 302

参考文献 303