《单片机原理与应用设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:张毅刚,彭喜元编著
  • 出 版 社:哈尔滨:哈尔滨工业大学出版社
  • 出版年份:2008
  • ISBN:9787560327020
  • 页数:258 页
图书介绍:本书详细地介绍了89C51单片机片内硬件结构、指令系统,并从应用设计的角度介绍了89C51单片机的各种硬件接口设计、汇编语言接口驱动程序设计,最后介绍了89C51单片机应用系统的设计。

第1章 单片机基础 1

1.1 什么是单片机 1

1.2 单片机的发展历史及发展趋势 2

1.2.1 单片机的发展历史 2

1.2.2 单片机的发展趋势 2

1.3 单片机的应用 3

1.4 MCS-51系列与AT89C5x系列单片机 5

1.4.1 MCS-51系列单片机 5

1.4.2 AT89C5x系列单片机 5

思考题及习题 8

第2章 89C51单片机的硬件结构 9

2.1 89C51单片机的片内结构 9

2.2 89C51单片机的引脚 10

2.2.1 电源及时钟引脚 11

2.2.2 控制引脚 11

2.2.3 1/0口引脚 12

2.3 89C51单片机的CPU 13

2.3.1 运算器 13

2.3.2 控制器 14

2.4 89C51单片机存储器的结构 15

2.4.1 程序存储器 15

2.4.2 内部数据存储器 16

2.4.3 特殊功能寄存器(SFR) 17

2.4.4 位地址空间 18

2.4.5 外部数据存储器 20

2.5 时钟电路与时序 20

2.5.1 时钟电路 20

2.5.2 机器周期、指令周期与指令时序 21

2.6 复位操作和复位电路 22

2.6.1 复位操作 22

2.6.2 复位电路 23

思考题及习题 23

第3章 89C51的指令系统 26

3.1 89C51指令系统概述 26

3.2 指令格式 26

3.3 指令系统的寻址方式 27

3.4 89C51指令系统分类介绍 29

3.4.1 数据传送类指令 29

3.4.2 算术操作类指令 33

3.4.3 逻辑运算指令 37

3.4.4 控制转移类指令 39

3.4.5 位操作指令 42

思考题及习题 47

第4章 89C51汇编语言程序的设计与调试 49

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

4.1.1 机器语言、汇编语言和高级语言 49

4.1.2 汇编语言语句的种类和格式 50

4.1.3 伪指令 51

4.1.4 汇编语言程序设计步骤 53

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

4.2.1 手工汇编 54

4.2.2 机器汇编 54

4.3 汇编语言实用程序设计 55

4.3.1 汇编语言程序的基本结构形式 55

4.3.2 子程序的设计 55

4.3.3 查表程序设计 56

4.3.4 关健字查找程序设计 59

4.3.5 数据极值查找程序设计 60

4.3.6 数据排序程序设计 61

4.3.7 分支转移程序设计 62

4.3.8 循环程序设计 66

4.4 汇编语言应用程序的开发与调试 68

4.4.1 仿真开发系统简介 69

4.4.2 程序的开发调试过程 70

思考题及习题 71

第5章 89C51的中断系统 73

5.1 中断的概念 73

5.2 89C51 中断系统的结构 74

5.3 中断请求源 74

5.3.1 89C51中断系统的中断请求源 74

5.3.2 特殊功能寄存器TCON和SCON 75

5.4 中断控制 76

5.4.1 中断允许寄存器IE 76

5.4.2 中断优先级寄存器IP 77

5.5 响应中断请求的条件 79

5.6 外部中断的响应时间 81

5.7 外部中断的触发方式选择 81

5.7.1 电平触发方式 81

5.7.2 跳沿触发方式 81

5.8 中断请求的撤消 81

5.9 中断服务子程序的设计 82

5.9.1 中断服务子程序设计的任务 82

5.9.2 采用中断时的主程序结构 83

5.9.3 中断服务子程序的流程 83

思考题及习题 85

第6章 89C51的定时器/计数器 87

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

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

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

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

6.2.1 方式0 89

6.2.2 方式1 90

6.2.3 方式2 90

6.2.4 方式3 91

6.3 计数器模式对输人信号的要求 93

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

6.4.1 方式1的应用 93

6.4.2 方式2的应用 95

6.4.3 方式3的应用 97

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

6.4.5 实时时钟的设计 99

6.4.6 定时器/计数器作为外部中断源的使用方法 102

思考题及习题 102

第7章 89C51的串行口 104

7.1 串行口的结构 104

7.1.1 串行口控制寄存器SCON 104

7.1.2 特殊功能寄存器PCON 106

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

7.2.1 方式0 106

7.2.2 方式1 107

7.2.3 方式2 109

7.2.4 方式3 110

7.3 89C51的多机通信 111

7.4 波特率的制定方法 112

7.4.1 波特率的定义 112

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

7.5 串行口的编程和应用 114

7.5.1 双机串行通信硬件接口 114

7.5.2 双机串行通信软件编程 116

思考题及习题 121

第8章 89C51单片机扩展存储器的设计 123

8.1 89C51系统扩展结构 123

8.1.1 系统总线 124

8.1.2 构造系统总线 124

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

8.2.1 存储器地址空间分配 125

8.2.2 外部地址锁存器 128

8.3 程序存储器EPROM的扩展 129

8.3.1 常用EPROM芯片介绍 130

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

8.3.3 89C51与EPROM的接口电路设计 133

8.4 静态数据存储器RAM的扩展 135

8.4.1 常用的静态RAM(SRAM)芯片 135

8.4.2 外扩数据存储器的读写操作时序 136

8.4.3 89C51与RAM的接口电路设计 137

8.5 EPROM和RAM的综合扩展 139

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

8.5.2 外扩存储器电路的工作原理及软件设计 141

8.6 Atme189C51/89C55单片机的片内闪烁存储器 143

思考题及习题 144

第9章 89C51扩展并行I/O接口的设计 145

9.1 并行I/0接口扩展概述 145

9.1.1 I/0接口的功能 145

9.1.2 I/0端口的编址 145

9.1.3 I/O数据的几种传送方式 146

9.1.4 I/O接口电路 146

9.2 89C51与可编程并行I/O芯片82C55的接口设计 147

9.2.1 82C55芯片介绍 147

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

9.2.3 82C55的三种工作方式 150

9.2.4 89C51单片机和82C55的接口 154

9.3 89C51与可编程RAM/IO芯片81C55的接口 155

9.3.1 81C55芯片介绍 156

9.3.2 81C55的工作方式 158

9.3.3 89C51与81C55的接口及软件编程 161

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

9.5 用89C51的串行口扩展并行口 163

9.5.1 用74IS165扩展并行输入口 164

9.5.2 用741S164扩展并行输出口 165

思考题及习题 165

第10章 89C51与键盘/显示器、微型打印机的接口设计 167

10.1 LED显示器接口原理 167

10.1.1 LED显示器的结构 167

10.1.2 LED显示器工作原理 168

10.2 键盘接口原理 170

10.2.1 健盘输入应解决的问题 170

10.2.2 健盘接口的工作原理 171

10.3 键盘/显示器接口的设计 172

10.3.1 健盘/显示器专用芯片HD7279A简介 173

10.3.2 专用芯片HD7279A实现的健盘/显示器接口 180

10.4 89C51与液晶显示器(LCD)的接口 183

10.4.1 LCD显示器的分类 183

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

10.4.3 89C51与LCD的接口及软件编程 187

10.5 89C51单片机与微型打印机TPμP-40A/16A的接口 190

10.5.1 TPμP-40A/16A微型打印机 190

10.5.2 主要性能、接口要求及时序 190

10.5.3 字符代码及打印命令 191

10.5.4 TPμP - 40A/16A与89C51单片机的接口设计 192

思考题及习题 193

第11章 89C51与D/A、A/D转换器的接口 195

11.1 89C51与DAC的接口 195

11.1.1 D/A转换器概述 195

11.1.2 89C51与8位 DAC0832的接口 196

11.1.3 89C51与12位电压输出型D/A转换器AD667的接口 202

11.2 89C51与ADC的接口 207

11.2.1 A/D转换器概述 207

11.2.2 89C51与ADC0809(逐次比较型)的接口 208

11.2.3 89C51与AD574A(逐次比较型)的接口 211

11.2.4 89C51与A/D转换器MC14433(双积分型)的接口 215

思考题及习题 218

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

12.1 单总线接口简介 220

12.2 SPI总线接口简介 221

12.3 I2C串行总线的组成及工作原理 222

12.3.1 I2C串行总线概述 222

12.3.2 I2C总线的数据传送 223

12.4 89C51单片机扩展I2C总线器件的接口设计 228

12.4.1 I2C总线器件的扩展接口电路 228

12.4.2 I2C总线数据传送的模拟 228

12.4.3 I2C总线模拟通用子程序 231

第13章 单片机应用系统的设计与调试 234

13.1 89C51单片机应用系统设计的步骤 234

13.2 应用系统的硬件设计 234

13.3 应用系统的软件总体框架设计 235

13.4 89C51单片机系统设计举例 237

13.4.1 应用系统设计中的地址空间分配与总线驱动 237

13.4.2 89C51的最小系统 240

13.4.3 应用设计举例—水温控制系统的设计 240

13.5 软件抗干扰设计 244

13.5.1 软件滤波 244

13.5.2 指令冗余及软件陷阱 247

13.5.3 开关量输入/输出软件抗干扰设计 250

13.6 用户样机的硬件调试 250

13.7 AT89系列单片机各种型号产品介绍 253

13.7.1 低档型AT89系列单片机 253

13.7.2 标准型AT89系列单片机 255

13.7.3 高档型AT89系列单片机 256

参考文献 258