图书目录

目    录

第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

  

  

VI

单片机原理与应用及C51程序设计

  

VII

目录