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

  • 购买积分:12 如何计算积分?
  • 作  者:王佐勋
  • 出 版 社:西安电子科技大学出版社
  • 出版年份:2017
  • ISBN:9787560645933
  • 页数:320 页
图书介绍:本书主要内容包括单片机概述,C51语言编程基础,Proteus软件简介,AT89S51单片机的硬件结构,AT89S51单片机中断系统,AT89S51单片机的定时器/计数器,单片机与显示器件、键盘的接口,AT89S51单片机与ADC、DAC接口,AT89S51单片机的串行口,AT89S51单片机系统的串行扩展,AT89S51单片机的并行扩展,单片机应用举例。

第1章 单片机概述 1

1.1 单片机的基本概念 1

1.2 单片机的发展历史 1

1.3 单片机的分类 2

1.4 单片机的特点 3

1.5 单片机的应用 4

1.6 单片机的发展趋势 4

1.7 常用单片机 5

习题 5

第2章 C51语言编程基础 6

2.1 C51编程语言简介 6

2.1.1 C51语言与汇编语言比较 6

2.1.2 C51语言与标准C语言比较 7

2.2 C51语言程序设计基础 7

2.2.1 C51语言中的数据类型与存储类型 8

2.2.2 C51语言的特殊功能寄存器及位变量定义 12

2.2.3 C51语言的绝对地址访问 13

2.2.4 C51的基本运算符和表达式 14

2.2.5 C51的分支与循环程序结构 17

2.2.6 C51的数组 29

2.2.7 C51的指针 31

2.3 C51语言的函数 32

2.3.1 函数的分类 32

2.3.2 函数的参数与返回值 34

2.3.3 函数的调用 34

2.3.4 中断服务函数 35

2.3.5 变量及存储方式 36

2.3.6 宏定义与文件包含 36

2.4 KeilμVision3环境下的C51程序开发 37

2.4.1 KeilμVision3的基本操作 37

2.4.2 添加用户源程序文件 39

2.4.3 程序的编译与调试 42

2.4.4 工程的设置 45

习题 48

第3章 Proteus软件简介 49

3.1 Proteus功能概述 49

3.2 Proteus ISIS的虚拟仿真 50

3.3 Proteus ISIS环境简介 51

3.3.1 ISIS各窗口简介 51

3.3.2 主菜单栏 52

3.3.3 主工具栏 54

3.3.4 工具箱 54

3.3.5 元器件列表 55

3.3.6 预览窗口 55

3.3.7 原理图编辑窗口 56

3.4 Proteus ISIS编辑环境设置 58

3.5 单片机应用系统的Proteus虚拟设计与仿真 58

3.5.1 虚拟设计与仿真步骤 58

3.5.2 新建或打开一个设计文件 59

3.5.3 选择需要的元件到元件列表 61

3.5.4 元件的放置、调整与编辑 62

3.5.5 加载目标代码文件、设置时钟频率及仿真运行 66

3.6 Proteus与μVision3的联调 67

第4章 AT89S51单片机的硬件结构 70

4.1 AT89S51单片机的硬件组成 70

4.2 AT89S51单片机与AT89C51单片机的区别 71

4.3 AT89S51单片机的引脚功能 71

4.4 AT89S51单片机的CPU 73

4.5 AT89S51单片机的存储器 75

4.5.1 程序存储器空间 75

4.5.2 数据存储器空间 76

4.5.3 特殊功能寄存器(SFR) 77

4.5.4 位地址空间 79

4.6 AT89S51单片机的并行I/O端口 79

4.7 时钟和时序 82

4.7.1 AT89S51时钟电路设计 82

4.7.2 AT89S51的周期和时序 83

4.8 复位操作和复位电路 84

4.9 AT89S51单片机低功耗节电模式 86

4.9.1 空闲模式 87

4.9.2 掉电保持模式 87

4.10 AT89S51单片机最小系统 87

习题 88

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

5.1 中断概述 89

5.2 AT89S51中断系统结构 90

5.2.1 AT89S51的中断源 90

5.2.2 中断控制寄存器 91

5.2.3 中断优先级控制和中断嵌套 93

5.3 中断响应及中断请求的撤销 94

5.3.1 中断响应 94

5.3.2 中断请求的撤销 96

5.4 中断系统的应用 96

5.4.1 中断初始化 96

5.4.2 中断服务函数 97

5.4.3 中断系统应用举例 98

习题 101

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

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

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

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

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

6.2.1 方式0 104

6.2.2 方式1 105

6.2.3 方式2 105

6.2.4 方式3 106

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

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

6.4.1 P1口控制8只LED每0.5 秒闪亮一次 108

6.4.2 计数器的应用 110

6.4.3 控制P1.0产生周期为2ms的方波 112

6.4.4 利用T1控制发出1kHz的音频信号 114

6.4.5 LED数码管秒表的制作 115

6.4.6 测量脉冲宽度——门控位GATEx的应用 118

6.4.7 LCD时钟的设计 120

习题 123

第7章 单片机与显示器件及键盘的接口 124

7.1 单片机控制发光二极管显示 124

7.1.1 单片机与发光二极管的连接 124

7.1.2 单片机输入/输出端口的编程设计 125

7.2 单片机控制LED数码管显示接口电路 130

7.2.1 LED数码管及其编码方式 130

7.2.2 LED数码管的静态显示与动态显示 132

7.3 单片机控制LED点阵显示器显示 137

7.3.1 LED点阵显示器的结构与显示原理 137

7.3.2 案例:控制16×16LED点阵显示屏 139

7.4 单片机控制液晶显示器显示 141

7.4.1 LCD的基本原理 141

7.4.2 LCD1602显示模块 143

7.4.3 单片机控制液晶显示 149

7.5 键盘接口设计 153

7.5.1 键盘接口电路中应解决的问题 154

7.5.2 独立式按键及其接口电路 155

7.5.3 矩阵式按键及其接口电路 162

习题 164

第8章 AT89S51单片机与ADC、DAC的接口 165

8.1 AT89S51单片机与ADC0809的接口设计 165

8.1.1 A/D转换器简介 165

8.1.2 AT89S51与逐次比较型8位A/D转换器ADC0809的接口 166

8.1.3 案例:单片机控制ADC0809进行A/D转换 168

8.1.4 案例:简易数字电压表的设计 170

8.2 AT89S51扩展12位串行ADCTLC2543的设计 175

8.2.1 TLC2543的特性及工作原理 175

8.2.2 案例:单片机扩展TLC2543的接口设计 178

8.3 AT89S51单片机扩展DAC0832 181

8.3.1 D/A转换器概述 181

8.3.2 8位并行DAC0832简介 182

8.3.3 DAC0832应用举例 184

8.4 AT89S51单片机扩展串行DAC TLC5615 186

8.4.1 串行DAC TLC5615简介 186

8.4.2 案例:单片机与串行DAC TLC5615的接口设计 188

习题 190

第9章 AT89S51单片机的串行口 191

9.1 串行通信基础知识 191

9.1.1 数据通信 191

9.1.2 异步通信和同步通信 192

9.1.3 波特率 192

9.1.4 通信方向 192

9.1.5 串行通信接口种类 193

9.1.6 串行通信的校验 194

9.2 AT89S51串行口 195

9.2.1 AT89S51串行口的结构 195

9.2.2 与串行口有关的特殊功能寄存器 196

9.2.3 串行口工作方式 197

9.3 多机通信 202

9.4 串行口应用设计案例 203

9.4.1 方式0的应用设计 203

9.4.2 方式1的应用设计 205

9.4.3 方式2和方式3的应用设计 210

9.4.4 单片机与PC串行通信的设计 212

习题 214

第10章 AT89S51单片机系统的串行扩展 215

10.1 单总线串行扩展 215

10.1.1 单总线器件温度传感器DS18B20简介 216

10.1.2 案例:单总线DS18B20温度测量系统 218

10.2 SPI总线串行扩展 222

10.2.1 SPI总线的扩展结构 222

10.2.2 扩展带有SPI接口的8位串行A/D转换器TLC549 223

10.3 I2C总线的串行扩展 227

10.3.1 I2C串行总线系统的基本结构 227

10.3.2 I2C总线的数据传输规定 228

10.3.3 AT89S51的I2C总线扩展系统 231

10.3.4 I2C总线数据传送的模拟 232

10.3.5 案例:采用AT24C02存储器的IC卡设计 236

习题 243

第11章 AT89S51单片机系统的并行扩展 244

11.1 系统并行扩展概述 244

11.1.1 系统并行扩展结构 244

11.1.2 地址空间分配 246

11.1.3 外部地址锁存器 249

11.2 外部程序存储器EPROM的并行扩展 250

11.2.1 常用的EPROM芯片 251

11.2.2 AT89S51扩展EPROM的接口设计 253

11.2.3 AT89S51的Flash存储器编程 255

11.3 外部数据存储器RAM的并行扩展 258

11.3.1 常用的静态RAM(SRAM)芯片 259

11.3.2 并行扩展RAM的接口设计 260

11.4 AT89S51扩展并行I/O芯片82C55的设计 261

11.4.1 I/O接口扩展概述 262

11.4.2 并行I/O芯片82C55简介 263

11.4.3 82C55的3种工作方式 267

11.4.4 AT89S51单片机与82C55的接口设计 272

11.5 利用74LSTTL电路扩展并行I/O 273

11.6 用AT89S51单片机的串行口扩展并行输入/输出口 275

11.6.1 用74LS165扩展并行输入口 275

11.6.2 用74LS164扩展并行输出口 276

11.7 用I/O口控制的扬声器报警接口 277

习题 279

第12章 单片机应用举例 280

12.1 单片机控制步进电机的设计 280

12.1.1 控制步进电机的工作原理 280

12.1.2 电路设计与编程 281

12.2 单片机控制直流电机 282

12.2.1 控制直流电机的工作原理 282

12.2.2 电路设计与编程 283

12.3 电机转速测量 285

12.3.1 电机转速测量的工作原理 285

12.3.2 电路设计与编程 285

12.4 频率计的制作 287

12.4.1 频率计的工作原理 287

12.4.2 电路设计与编程 287

12.5 基于时钟/日历芯片DS1302的电子钟设计 290

12.5.1 DS1302的工作原理 290

12.5.2 电路设计与编程 293

12.6 电话拨号的模拟 297

12.6.1 模拟电话拨号的设计要求 297

12.6.2 电路设计与编程 297

12.7 简易音符发生器的制作 302

12.7.1 设计要求与工作原理 302

12.7.2 电路设计与编程 303

12.8 8位竞赛抢答器设计 305

12.8.1 设计要求 305

12.8.2 电路设计与仿真 306

12.9 电梯运行控制的楼层显示 311

12.9.1 工作原理与设计要求 311

12.9.2 电梯运行控制的楼层显示 311

12.10 基于热敏电阻的数字温度计设计 316

12.10.1 工作原理与技术要求 316

12.10.2 电路设计与编程 316

参考文献 320