《单片机原理及应用技术》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:牛月兰等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111435228
  • 页数:326 页
图书介绍:本书详细介绍了AT89S51单片机的硬件结构及各功能部件的工作原理、指令系统及常用程序设计,并从应用设计的角度讲述了AT89S51单片机的各种硬件接口设计、接口驱动程序设计以及AT89S51单片机应用系统设计。同时对AT89S51单片机应用系统设计中用到的各种新器件也进行了简单介绍。

第1章 单片机概述 1

1.1 单片机的定义 1

1.2 单片机的发展历史 2

1.3 单片机的特点 3

1.4 单片机的应用 4

1.5 单片机的发展趋势 5

1.6 MCS-51系列与AT89C5x系列单片机 7

1.6.1 MCS-51系列单片机 7

1.6.2 AT89C5x(AT89S5x)系列单片机 8

1.6.3 单片机型号的含义解析 10

1.6.4 51单片机的封装及引脚 10

1.7 其他的51单片机 13

1.7.1 ADμC812单片机 13

1.7.2 C8051Fxxx单片机 13

1.7.3 台湾华邦公司W78系列和W77系列单片机 13

1.8 AVR系列单片机与PIC系列单片机 14

1.8.1 AVR系列单片机 14

1.8.2 PIC系列单片机 15

1.9 各类嵌入式处理器简介 16

1.9.1 嵌入式微控制器 16

1.9.2 嵌入式数字信号处理器 16

1.9.3 嵌入式微处理器 17

1.9.4 嵌入式片上系统SOC 18

思考题与习题1 18

第2章 AT89S51单片机硬件结构 19

2.1 AT89S51单片机的硬件组成 19

2.2 AT89S51的引脚功能 20

2.2.1 电源及时钟引脚 21

2.2.2 控制引脚 21

2.2.3 并行I/O口引脚 22

2.3 AT89S51的CPU 23

2.3.1 运算器 23

2.3.2 控制器 25

2.4 AT89S51存储器的结构 25

2.4.1 程序存储器空间 26

2.4.2 数据存储器空间 26

2.4.3 特殊功能寄存器 27

2.4.4 位地址空间 30

2.5 AT89S51的并行I/O口 32

2.5.1 P0口 32

2.5.2 P1口 33

2.5.3 P2口 34

2.5.4 P3口 35

2.5.5 P1~P3口驱动LED发光二极管 36

2.6 时钟电路与时序 37

2.6.1 时钟电路设计 37

2.6.2 机器周期、指令周期与指令时序 39

2.7 复位操作和复位电路 39

2.7.1 复位操作 40

2.7.2 复位电路设计 40

2.8 低功耗节电模式 42

2.8.1 空闲模式 42

2.8.2 掉电运行模式 43

2.8.3 掉电和空闲模式下的WDT 43

思考题与习题2 44

第3章 AT89S51单片机的指令系统 46

3.1 指令系统概述 46

3.2 指令格式 46

3.3 指令系统的寻址方式 46

3.3.1 寄存器寻址方式 47

3.3.2 直接寻址方式 47

3.3.3 寄存器间接寻址方式 47

3.3.4 立即数寻址方式 48

3.3.5 基址寄存器加变址寄存器间接寻址方式 48

3.3.6 相对寻址方式 48

3.3.7 位寻址方式 49

3.4 AT89S51指令系统分类介绍 49

3.4.1 数据传送类指令 50

3.4.2 算术运算类指令 53

3.4.3 逻辑操作类指令 57

3.4.4 控制转移类指令 60

3.4.5 位操作类指令 62

3.5 AT89S51指令汇总 63

3.6 某些指令的说明 67

3.6.1 关于并行I/O口的“读引脚”和“读锁存器”指令的区别 67

3.6.2 关于操作数的字节地址和位地址的区分问题 67

3.6.3 关于累加器A与Acc的书写问题 67

3.6.4 书写2位十六进制数据前要加“0” 68

思考题与习题3 68

第4章 AT89S51汇编语言程序设计 70

4.1 汇编语言程序设计概述 70

4.1.1 单片机编程语言 70

4.1.2 汇编语言语句和格式 71

4.1.3 伪指令 73

4.2 汇编语言源程序的汇编 75

4.2.1 手工汇编 76

4.2.2 机器汇编 76

4.3 编程的步骤、方法和技巧 77

4.3.1 编程步骤 77

4.3.2 编程的方法和技巧 78

4.4 AT89S51汇编语言程序设计举例 79

4.4.1 顺序结构程序设计 79

4.4.2 子程序的设计 81

4.4.3 查表程序设计 85

4.4.4 关键字查找程序设计 89

4.4.5 数据极值查找程序设计 90

4.4.6 数据排序程序设计 90

4.4.7 分支转移程序设计 92

4.4.8 循环程序设计 95

思考题与习题4 98

第5章 AT89S51单片机的中断系统 101

5.1 AT89S51中断技术概述 101

5.2 AT89S51中断系统结构 101

5.2.1 中断请求源 101

5.2.2 中断请求标志寄存器 102

5.3 中断允许与中断优先级的控制 103

5.3.1 中断允许寄存器IE 103

5.3.2 中断优先级寄存器IP 104

5.4 响应中断请求的条件 106

5.5 外部中断的响应时间 107

5.6 外部中断的触发方式选择 107

5.6.1 电平触发方式 107

5.6.2 跳沿触发方式 108

5.7 中断请求的撤销 108

5.8 中断服务子程序的设计 109

5.9 多外部中断源系统设计 111

5.10 中断应用举例 113

思考题与习题5 115

第6章 AT89S51单片机的定时器/计数器 117

6.1 定时器/计数器的结构 117

6.1.1 工作方式控制寄存器TMOD 118

6.1.2 定时器/计数器控制寄存器TCON 119

6.2 定时器/计数器的4种工作方式 120

6.2.1 工作方式0 120

6.2.2 工作方式1 121

6.2.3 工作方式2 122

6.2.4 工作方式3 123

6.3 对外部输入的计数信号的要求 124

6.4 定时器/计数器的编程和应用 125

6.4.1 工作方式1的应用 125

6.4.2 工作方式2的应用 128

6.4.3 工作方式3的应用 131

6.4.4 门控位GATE的应用——测量脉冲宽度 133

6.4.5 实时时钟的设计 136

思考题与习题6 140

第7章 AT89S51单片机的串行口 141

7.1 串行口的结构 141

7.1.1 串行口控制寄存器SCON 142

7.1.2 特殊功能寄存器PCON 143

7.2 串行口的4种工作方式 144

7.2.1 方式0 144

7.2.2 方式1 146

7.2.3 方式2 147

7.2.4 方式3 149

7.3 多机通信 150

7.4 波特率的制定方法 151

7.4.1 波特率的定义 151

7.4.2 定时器T1产生波特率的计算 151

7.5 串行口的应用 152

7.5.1 双机串行通信的硬件连接 153

7.5.2 串行通信设计需要考虑的问题 155

7.5.3 双机串行通信软件编程 155

7.5.4 PC与单片机的点对点串行通信接口设计 160

7.5.5 PC与多个单片机的串行通信接口设计 161

思考题与习题7 162

第8章 AT89S51单片机外部存储器的扩展 164

8.1 系统扩展结构 164

8.2 地址空间分配和外部地址锁存器 165

8.2.1 存储器地址空间分配 165

8.2.2 外部地址锁存器 169

8.3 程序存储器EPROM的扩展 170

8.3.1 常用的EPROM芯片介绍 171

8.3.2 程序存储器的操作时序 173

8.3.3 AT89S51单片机与EPROM芯片的接口电路设计 175

8.4 静态数据存储器SRAM的扩展 176

8.4.1 常用的静态RAM芯片介绍 176

8.4.2 外部数据存储器的读写操作时序 177

8.4.3 AT89S51单片机与RAM的接口电路设计 179

8.5 EPROM和RAM的综合扩展 180

8.5.1 综合扩展的硬件接口电路 180

8.5.2 外部存储器芯片的工作原理与软件设计 182

8.6 E2PROM存储器的扩展 183

8.6.1 并行E2PROM芯片简介 183

8.6.2 E2PROM的工作方式 184

8.6.3 AT89S51单片机扩展E2PROM CAT28C64B的设计 186

8.7 片内Flash存储器的编程 187

8.7.1 通用编程器编程 187

8.7.2 ISP编程 188

思考题与习题8 189

第9章 AT89S51单片机的I/O扩展 190

9.1 I/O接口扩展概述 190

9.1.1 扩展的I/O接口功能 190

9.1.2 I/O接口的编址 191

9.1.3 I/O接口数据的传送方式 191

9.1.4 I/O接口电路 191

9.2 AT89S51扩展I/O接口芯片82C55的设计 192

9.2.1 82C55芯片简介 192

9.2.2 工作方式选择控制字及PC口按位置位/复位控制字 194

9.2.3 82C55的3种工作方式 195

9.2.4 AT89S51单片机与82C55的接口设计 199

9.3 AT89S51扩展I/O接口芯片81C55的设计 201

9.3.1 81C55芯片介绍 201

9.3.2 81C55的工作方式 204

9.3.3 AT89S51单片机与81C55的接口设计及软件编程 206

9.4 利用74LSTTL电路扩展并行I/O口 207

9.5 用AT89S51单片机的串行口扩展并行口 209

9.5.1 用74LS165扩展并行输入口 209

9.5.2 用74LS164扩展并行输出口 210

9.6 用I/O口控制的声音报警器接口 211

9.6.1 蜂鸣音报警接口 211

9.6.2 音乐报警接口 211

思考题与习题9 212

第10章 AT89S51单片机与输入/输出外设的接口 213

10.1 LED数码管的显示原理 213

10.1.1 LED数码管的结构 213

10.1.2 LED数码管的工作原理 214

10.2 键盘接口原理 216

10.2.1 键盘输入应解决的问题 216

10.2.2 键盘的工作原理 217

10.2.3 键盘的工作方式 220

10.3 键盘/显示器接口设计实例 221

10.3.1 利用AT89S51单片机串行口实现的键盘/显示器接口 221

10.3.2 各种专用的键盘/显示器接口芯片简介 224

10.3.3 专用接口芯片CH451实现的键盘/显示器控制 225

10.4 AT89S51单片机与液晶显示器的接口 231

10.4.1 LCD的分类 231

10.4.2 点阵字符型液晶显示模块介绍 231

10.4.3 AT89S51单片机与LCD的接口及软件编程 235

10.5 AT89S51单片机与BCD码拨盘的接口设计 238

思考题与习题10 239

第11章 AT89S51单片机与A-D、D-A转换器的接口 240

11.1 AT89S51单片机与A-D转换器的接口 240

11.1.1 A-D转换器简介 240

11.1.2 AT89S51与逐次比较型8位A-D转换器ADC0809的接口 241

11.1.3 AT89S51与双积分型A-D转换器MC14433的接口 244

11.2 AT89S51单片机与DAC的接口 247

11.2.1 D-A转换器简介 247

11.2.2 AT89S51单片机与8位D-A转换器DAC0832的接口设计 248

11.2.3 AT89S51单片机与12位D-A转换器AD667的接口设计 254

11.3 AT89S51单片机与V-F转换器的接口 259

11.3.1 用V-F转换器实现A-D转换的原理 259

11.3.2 常用V-F转换器LMX31简介 259

11.3.3 V-F转换器与MCS-51单片机接口 260

11.3.4 LM331应用举例 261

思考题与习题11 262

第12章 单片机的串行扩展技术 263

12.1 单总线串行扩展 263

12.2 SPI总线串行扩展 264

12.3 Microwire总线简介 267

12.4 I2C总线的串行扩展介绍 268

12.4.1 I2C串行总线概述 268

12.4.2 I2C总线的数据传送 269

12.5 AT89S51单片机的I2C串行扩展设计 272

12.5.1 AT89S51的I2C总线扩展系统 273

12.5.2 I2C总线数据传送的模拟 273

12.5.3 I2C总线模拟通用子程序 275

思考题与习题12 277

第13章 AT89S51单片机的应用设计与调试 278

13.1 单片机应用系统的设计步骤 278

13.2 单片机应用系统设计 280

13.2.1 硬件设计应考虑的问题 280

13.2.2 典型的单片机应用系统 281

13.2.3 系统设计中的地址空间分配与总线驱动 282

13.2.4 AT89S51单片机的最小应用系统 286

13.2.5 应用设计举例 287

13.2.6 软件设计考虑的问题 294

13.2.7 软件的总体框架设计 294

13.3 单片机应用系统的仿真开发与调试 296

13.3.1 仿真开发系统简介 296

13.3.2 用户样机的仿真调试 298

13.4 单片机应用系统的抗干扰与可靠性设计 300

13.4.1 AT89S51片内看门狗定时器的使用 301

13.4.2 指令冗余和软件陷阱 302

13.4.3 软件滤波 305

13.4.4 开关量输入/输出软件抗干扰设计 309

13.4.5 过程通道干扰的抑制措施 309

13.4.6 印制电路板抗干扰布线的基本原则 312

13.5 单片机应用系统的I/O功率驱动 316

思考题与习题13 324

参考文献 326