《学练一本通 51单片机应用技术》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陈宏希主编;贾达主审
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121207495
  • 页数:350 页
图书介绍:本书通过许多实例,介绍51单片机的基本知识、基本操作方法和应用开发技术,主要内容包括:发光二极管显示输出,数码管显示输出,键盘输入及中断,液晶显示输出,LED点阵显示输出,AD转换,DA转换,串口通信,步进电机控制,使用DS18B20测温,使用DS12C887设计高精度时钟,I2C总线和语音芯片应用等内容。本书特色鲜明,易学易练,使用C语言编程,由浅入深,循序渐进,紧密与工程实践结合。

第1章 基础知识 1

1.1 单片机的概念和应用领域 1

1.2 单片机应用系统的组成 2

1.3 单片机应用系统的硬件与软件开发特点 3

1.4 单片机应用系统的软件开发步骤 4

1.5 MCS-51单片机的主要引脚 15

1.6 晶振电路和复位电路 17

1.7 电平 18

1.8 数制及其转换 19

1.9 单片机C语言基础 20

1.9.1 数据类型 20

1.9.2 常量和变量 21

1.9.3 C语言的运算符 23

1.9.4 C语言程序基本结构 24

思考题1 27

第2章 发光二极管的显示输出 28

2.1 发光二极管 28

2.2 点亮一只发光二极管 29

2.2.1 硬件电路 29

2.2.2 源程序及其结构分析 30

C语言知识sfr和sbit 33

C语言知识 赋值语句 35

实例1使用P1口 38

实例2使用P0口 39

2.3 一只闪烁的发光二极管 39

C语言知识 循环语句 40

2.3.1 源程序及其结构分析 42

C语言知识 宏 43

C语言知识 注释 43

2.3.2 for循环延时时间的测量 44

2.3.3 延时子函数及其调用 46

2.4 流水灯 49

2.4.1 硬件电路 49

2.4.2 源程序 50

2.4.3 使用数组查表方法实现流水灯 51

C语言知识 数组 51

2.4.4 使用位运算中的左/右移位方法 53

2.5 蜂鸣器控制和继电器控制 55

思考题2 57

第3章 数码管显示输出 59

3.1 数码管的结构与分类 59

3.1.1 数字和字符的数码管显示图样 60

3.1.2 共阳和共阴数码管 60

3.2 数码管的显示输出原理 61

3.2.1 共阳数码管的显示输出原理 61

3.2.2 共阴数码管的显示输出原理 62

实例2 用数码管静态显示 64

实例3 用数码管动态显示字符(1) 66

实例4 用数码管动态显示字符(2) 67

实例5 用数码管动态显示时间 70

思考题3 72

第4章 键盘输入及中断 73

4.1 独立按键 74

实例5 按键计数 75

C语言知识if语句 76

实例6 多个按键的识别 80

C语言知识switch语句 82

实例7 用一键实现多功能按键 83

4.2 矩阵键盘 85

实例8 4×4矩阵键盘序号显示 86

4.3 中断 92

4.3.1 中断的概念 92

4.3.2 单片机中使用中断的意义 93

4.3.3 单片机的中断源 93

实例9 使用外部中断控制数字显示 93

4.3.4 单片机的外部中断 96

C语言知识 中断服务子函数 98

实例10 有优先级的外部中断控制数字显示 99

4.4 定时器/计数器 102

4.4.1 定时器/计数器的基本概念 102

实例11 定时器工作在方式1下的电子钟设计 103

4.4.2 机器周期与外接晶振频率的关系 106

4.4.3 定时器的工作原理 107

4.4.4 与定时器有关的寄存器 108

实例12 定时器工作在方式2下的电子钟设计 110

4.4.5 定时器/计数器初值的计算与装载 112

实例13 定时器工作在查询方式下的电子钟设计 113

思考题4 115

第5章 液晶显示输出 116

5.1 1602/0802字符液晶显示输出 116

5.1.1 1602/0802字符型液晶的引脚定义 117

5.1.2 1602/0802液晶的特点与使用 117

实例14 1602液晶的字符显示 119

5.2 不带字库12864液晶显示输出 121

5.2.1 12864点阵液晶的引脚功能 121

5.2.2 12864点阵液晶的特点与使用 122

实例15 无字库12864液晶的显示输出 124

5.2.3 51单片机存储器类型和数据的存储类型 136

5.2.4 存储器映像寻址 137

5.2.5 对片外存储器的访问 137

5.3 带字库12864液晶显示输出 138

5.3.1 带字库12864液晶的引脚功能 138

5.3.2 带字库12864液晶的特点与使用 139

实例16 并行工作方式下带字库12864液晶显示输出 142

实例17 串行工作方式下带字库12864液晶显示输出 147

思考题5 150

第6章 LED点阵显示输出 151

6.1 8×8LED点阵显示输出 151

6.1.1 初识8×8LED点阵 151

6.1.2 8×8LED点阵的显示原理 153

实例18 8×8LED点阵显示输出 154

实例19 8×8LED点阵显示运动的箭头 158

6.2 16×16LED点阵显示输出 160

6.2.1 用8×8LED点阵模块搭建16×16LED点阵 160

6.2.2 16×16LED点阵的驱动 160

实例20 16×16LED点阵屏显示汉字 162

6.3 32×64LED点阵显示输出 166

实例21 使用32×64LED点阵显示汉字 168

思考题6 171

第7章 A/D转换 172

7.1 A/D转换器的转换分辨率和时间 172

7.2 ADC0809的功能与使用 173

实例22 模拟口线方式下ADC0809模数转换 175

实例23 总线控制方式下ADC0809模数转换 178

C语言知识 指针 181

7.3 AD574的功能与使用 186

7.3.1 AD574的引脚功能 186

7.3.2 AD574控制逻辑及特点 188

实例24 总线控制方式下AD574单极性模数转换 190

实例25 模拟口线方式下AD574单极性模数转换 193

7.4 ADC0832的功能特点与使用 196

7.4.1 ADC0832的引脚功能 196

7.4.2 ADC0832的特点 197

实例26 用ADC0832实现A/D转换 198

7.5 TLC2543的功能特点与使用 201

7.5.1 TLC2543的引脚功能 201

7.5.2 TLC2543的特点 202

实例27 用TLC2543实现A/D转换 204

思考题7 207

第8章 D/A转换 208

8.1 D/A转换器的分辨率和建立时间 208

8.2 DAC0832的功能特点与使用 209

实例28 多种工作模式下的DAC0832数模转换 211

实例29 用两片DAC0832实现多模式数模转换 214

8.3 AD7237的结构功能及特点 217

实例30 AD7237数模转换 221

8.4 TLV5625的功能特点与使用 224

实例31 TLV5625数模转换 227

8.5 AD7543的引脚功能与使用 229

实例32 AD7543数模转换 231

思考题8 232

第9章 串口通信 233

9.1 串行通信的分类 233

9.2 串行通信的制式 234

9.3 单片机的串口缓冲器和工作寄存器 235

9.3.1 串口缓冲器SBUF 235

9.3.2 串行口的工作寄存器 235

9.3.3 串行口工作方式 237

9.3.4 波特率 238

实例33 单片机间的串行通信 239

9.4 单片机多机通信 242

实例34 三个单片机间的通信与显示控制 243

9.5 单片机与PC间通信 250

实例35 单片机向PC发送和显示数据 253

实例36 PC向单片机发送数据 255

思考题9 257

第10章 步进电机控制 258

10.1 步进电机的工作原理与控制 258

10.1.1 步进电机的分类 258

10.1.2 步进电机的工作原理 259

10.1.3 步进角和励磁线圈通电方式 259

10.1.4 步进电机的驱动电路 261

10.2 步进电机的线路连接 270

10.2.1 二相四线步进电机 270

10.2.2 4相6线步进电机 270

10.2.3 4相8线步进电机 270

实例37 用独立按键控制步进电机的转速 271

思考题10 275

第11章 使用DS18B20温度传感器测温 276

11.1 DS18B20温度传感器 276

11.2 DS 18B20温度传感器的测温工作原理 277

11.2.1 DS 18B20内部的存储器 277

11.2.2 DS 18B20的指令 279

11.2.3 DS18B20的通信规则 280

11.2.4 DS18B20的初始化、数据读写操作时序 280

实例38 用一片DS/8B20实现温度测量 283

实例39 用四片DS18B20实现温度测量 287

思考题11 292

第12章 使用DS12C887设计高精度时钟 293

12.1 时钟芯片DS 12C887的特性与引脚功能 293

12.2 DS12C887实时时钟芯片工作原理 295

12.2.1 DS12C887内部的存储器 296

12.2.2 DS12C887工作时序分析 299

实例40 可调高精度时钟设计 300

实例41 具有闹铃功能的高精度时钟设计 310

思考题12 317

第13章 I2C总线和语音芯片 318

13.1 单片机与I2C总线通信 318

13.1.1 I2C总线与单片机的连接和工作方式 318

13.1.2 I2C总线的通信协议 319

13.2 串行12C总线E2PROM芯片AT24C02 322

实例42 使用I2C总线通信对AT24C02进行数据读/写操作 325

13.3 XF-S4240A语音合成模块及应用 329

实例43 采用UART通信方式通过XF-S4240播放合成语音 332

实例44 采用SPI通信方式通过XF-S4240播放合成语音 334

实例45 采用I2C通信方式通过XF-S4240播放合成语音 336

实例46 采用I2C通信方式在AT24C02中存/取数据并使用XF-S4240播放合成语音 338

思考题13 342

附录A 常用字符与ASCII码对照表 343

附录B 单片机程序的下载烧片 344

参考文献 350