欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

51单片机入门、进阶与实战一本通 (中国)曹新 2019年版

收藏
  • 大小:54.9 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
51单片机入门、进阶与实战一本通
作者:(中国)曹新
出版时间:2019年版
内容简介
  本书以实际应用为主线,由浅入深、循序渐进地讲述了51单片机内、外部资源的使用方法。全书共分5篇,分别为知识准备篇、基础功能篇、进阶功能篇、总线协议篇和综合实战篇。本书都配有项目案例,即学即用,通过丰富的项目案例使读者掌握如何使用51进行编程控制,从而达到学以致用的目的。
目录
第1篇知识准备篇

第1章单片机概述2

1.1什么是单片机2

1.2单片机的发展3

1.3单片机的特点4

1.4单片机的用途5

1.5如何学习单片机5

1.6练习题6

第2章开发准备7

2.1开发环境7

2.1.1硬件连接7

2.1.2下载器驱动安装8

2.1.3程序下载软件安装与使用12

2.1.4集成开发环境安装与使用18

2.2开发流程23

2.2.1Keil C51工程创建及程序编译23

2.2.2程序运行31

2.3开发语言35

2.3.1C51与标准C语言36

2.3.2C51的数据类型36

2.3.3C51常用头文件39

2.4练习题39

第3章硬件基础知识41

3.1LY51S开发板简介41

3.2板载元器件42

3.2.1电子元器件42

3.2.2集成电路49

3.2.3接插件50

3.2.4导线51

3.3练习题51

第4章单片机基本原理52

4.1MCS51单片机基本特性52

4.2单片机内部结构53

4.3单片机外部引脚54

4.3.1单片机外部引脚图54

4.3.2单片机引脚分类55

4.4单片机时序57

4.5单片机最小系统58

4.6单片机存储器结构62

4.6.1程序存储器62

4.6.2数据存储器63

4.7练习题68

第5章I/O端口70

5.1单片机的I/O端口70

5.1.1I/O端口概述70

5.1.2I/O端口基本原理71

5.1.3I/O端口基本操作72

5.2端口输出控制——发光二极管74

5.2.1案例51:点亮一个发光二极管76

5.2.2案例52:发光二极管流水显示80

5.2.3拓展项目:花样流水灯83

5.3端口输出控制——数码管84

5.3.1数码管结构与显示原理84

5.3.2数码管静态显示驱动86

5.3.3案例53:独立共阳数码管循环显示0~989

5.3.4数码管动态显示驱动90

5.3.5案例54:8位数码管同时显示0~793

5.3.6拓展项目:数码管显示动态数据96

5.4端口输入控制——独立按键96

5.4.1独立按键的连接方式97

5.4.2独立按键的检测原理98

5.4.3按键去抖及按键处理流程99

5.4.4案例55:抢答器101

5.4.5拓展项目:独立按键长按、短按效果102

5.5端口输入控制——矩阵键盘103

5.5.1矩阵键盘的连接方式103

5.5.2矩阵键盘的检测原理104

5.5.3案例56:矩阵键盘键号LED显示105

5.5.4拓展项目:矩阵键盘密码锁110

5.6练习题111

第6章外部中断113

6.1中断系统概述113

6.1.1中断原理113

6.1.2中断的作用114

6.1.3中断应实现的功能114

6.1.4中断相关概念115

6.2单片机中断资源116

6.2.1中断源及入口地址116

6.2.2中断控制及设置117

6.3C51中断处理函数的编写119

6.4外部中断编程实战121

6.4.1案例61:独立按键控制LED状态转换121

6.4.2拓展项目:按键改变流水灯的流水方向124

6.5练习题125

第7章定时/计数器127

7.1定时/计数器简介127

7.2定时/计数器的结构及相关寄存器127

7.2.1定时/计数器的结构127

7.2.2定时/计数器的相关寄存器128

7.3定时/计数器的工作原理129

7.3.1定时功能129

7.3.2计数功能131

7.4定时/计数器的工作方式131

7.4.1方式0131

7.4.2方式1131

7.4.3方式2132

7.4.4方式3132

7.5定时/计数器编程实战133

7.5.1定时/计数器的程序设计流程133

7.5.2案例71:按键10次翻转LED状态 133

7.5.3案例72:发光二极管定时闪烁135

7.5.4案例73:定时器产生任意占空比PWM139

7.5.5拓展项目:发光二极管定时流水显示141

7.6练习题142

第8章串口通信144

8.1串口通信概述144

8.1.1通信的基本概念144

8.1.2串行通信的工作方式145

8.1.3串行通信的时钟及传输速率145

8.1.4串行通信协议146

8.2串口通信接口电路原理148

8.351单片机串口结构及相关寄存器151

8.3.1串口的结构151

8.3.2串口的相关寄存器152

8.4串口的工作方式及波特率设置154

8.4.1方式0154

8.4.2方式1155

8.4.3方式2和方式3156

8.4.4波特率设置158

8.5串口应用编程实战159

8.5.1串口应用的程序设计流程159

8.5.2案例81:串口扩展并行输出流水灯显示160

8.5.3案例82:双机通信单字符收发164

8.5.4拓展项目:字符串收发168

8.6练习题170

第3篇进阶功能篇

第9章继电器173

9.1什么是继电器173

9.2继电器的结构及工作原理174

9.3继电器的驱动电路175

9.4继电器编程实战176

9.4.1继电器的程序设计流程176

9.4.2案例91:继电器状态切换及LED显示176

9.5练习题178

第10章蜂鸣器179

10.1什么是蜂鸣器179

10.2蜂鸣器的结构原理179

10.3蜂鸣器的驱动电路180

10.4蜂鸣器编程实战181

10.4.1蜂鸣器的程序设计流程181

10.4.2案例101:蜂鸣器模拟救护车声音181

10.5练习题183

第11章步进电机184

11.1什么是步进电机184

11.1.1步进电机简介184

11.1.2步进电机分类185

11.2步进电机的硬件结构186

11.2.1步进电机硬件结构186

11.2.2步进电机术语解释186

11.2.3步进电机的转动原理187

11.3步进电机的驱动方式187

11.4步进电机控制编程实战189

11.4.1步进电机的程序设计189

11.4.2案例111:电机正转反转190

11.4.3案例112:按键控制步进电机正反转192

11.5练习题193

第12章直流电机195

12.1什么是直流电机195

12.2直流电机的原理及分类195

12.2.1直流电机的原理195

12.2.2直流电机的分类197

12.3直流电机的驱动方式198

12.4直流电机编程实战199

12.4.1案例121:直流电机按键控制199

12.4.2案例122:直流电机PWM调速201

12.5练习题204

第13章舵机205

13.1什么是舵机205

13.2舵机的工作原理206

13.3舵机的角度控制原理206

13.4舵机编程实战207

13.4.1舵机的程序设计流程207

13.4.2案例131:按键调节舵机转角207

13.5练习题210

第14章1602液晶211

14.1概述211

14.21602液晶的基本原理及控制方式212

14.2.11602液晶的引脚结构212

14.2.21602液晶的显示内容213

14.2.31602液晶的控制方式214

14.31602液晶编程实战216

14.3.11602液晶模块的程序设计流程216

14.3.2案例141:1602液晶滚动显示字符串217

14.4练习题221

第15章双色点阵屏222

15.1双色点阵的基本原理222

15.2双色点阵的驱动芯片224

15.3双色点阵的硬件连线225

15.4双色点阵编程实战225

15.4.1双色点阵的控制流程225

15.4.2案例151:双色点阵显示特定图形226

15.5练习题230

第16章模数/数模转换231

16.1模数/数模转换原理231

16.2ADC转换类型及应用232

16.3DAC转换类型及应用234

16.4练习题235

第17章红外收发236

17.1红外接收与编解码定义236

17.2红外接收原理237

17.3红外发射原理238

17.4红外收发编程实战238

17.4.1红外收发的程序设计思路238

17.4.2案例171:红外解码液晶屏显示238

17.5练习题243

第4篇总线协议篇

第18章I2C总线与E2PROM(24C02)245

18.1I2C总线概述245

18.2I2C通信协议247

18.2.1I2C通信协议247

18.2.2单片机模拟I2C总线247

18.3E2PROM 24C02应用概述248

18.3.124C02芯片简介248

18.3.224C02硬件原理与连接248

18.3.324C02存储结构与寻址249

18.3.424C02读/写操作时序250

18.4PCF8591模拟采集与输出251

18.4.1PCF8591芯片简介251

18.4.2PCF8591硬件原理及连接252

18.4.3PCF8591寻址及功能选择253

18.5I2C总线应用编程实战254

18.5.1I2C总线应用程序设计流程254

18.5.2案例181:24C02记忆开机次数255

18.5.3案例182:PCF8591的一路AD数码管显示261

18.5.4案例183:PCF8591 DA输出模拟263

18.6练习题265

第19章SPI协议267

19.1SPI总线协议267

19.1.1SPI简介267

19.1.2SPI通信模式268

19.2DS1302时钟芯片269

19.3DS1302的引脚结构及相关寄存器270

19.3.1DS1302的引脚结构270

19.3.2DS1302的寄存器设置271

19.4SPI协议应用编程实战273

19.4.1SPI协议应用的程序设计流程273

19.4.2案例191:DS1302时钟显示273

19.5练习题278

第20章1Wire总线279

20.1概述279

20.2DS18B20数字温度传感器280

20.2.1DS18B20传感器特性280

20.2.2DS18B20的引脚结构281

20.2.3DS18B20的硬件连接281

20.2.4DS18B20的内部结构282

20.2.5DS18B20的工作原理284

20.2.6DS18B20的工作时序288

20.2.7DS18B20使用中注意事项290

20.31Wire总线应用编程实战291

20.3.1DS18B20模块的程序设计流程291

20.3.2案例201:温度采集液晶显示291

20.4练习题294

第5篇综合实战篇

第21章计算器296

21.1硬件需求296

21.2设计思路296

21.3编程实战298

21.4运行效果301

第22章串口测温302

22.1硬件需求302

22.2设计思路302

22.3编程实战302

22.4运行效果304

第23章99分钟倒计时器306

23.1硬件需求306

23.2设计思路306

23.3编程实战308

23.4运行效果312

附录AASCII表314

附录B进制转换表315

附录CC51数据类型及运算符316

参考文献318


下载地址