图书介绍

51菜鸟到ARM(STM32)高手进阶之旅【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

51菜鸟到ARM(STM32)高手进阶之旅
  • 彭震编著 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:9787512415416
  • 出版时间:2014
  • 标注页数:568页
  • 文件大小:81MB
  • 文件页数:588页
  • 主题词:单片微型计算机;微处理器

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

51菜鸟到ARM(STM32)高手进阶之旅PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 从零开始动手制作51单片机小项目1

1.1 我的单片机自学经历1

1.2 我眼中的单片机2

1.3 零基础搭建一个最小电路3

1.3.1 搭建电路的地盘3

1.3.2 单片机运行的最简单条件4

1.3.3 动手搭建最简单的电路——点亮1个LED灯5

1.3.4 点亮多个LED灯11

1.4 单片机怎样下载程序12

1.4.1 了解串口12

1.4.2 自己制作串口下载线13

1.5 制作USB下载线21

1.5.1 关于USB下载的概念21

1.5.2 用USB转TTL模块接口下载程序21

1.6 自己搭建流水灯24

1.6.1 实验说明24

1.6.2 实验原理图25

1.6.3 器件清单与连接方法25

1.6.4 程序下载27

1.6.5 代码分析28

1.6.6 实验现象29

1.7 按键控制LED灯29

1.7.1 实验说明29

1.7.2 实验原理图30

1.7.3 器件清单与操作步骤32

1.7.4 程序下载33

1.7.5 代码分析33

1.7.6 实验现象36

1.8 按键控制蜂鸣器36

1.8.1 实验说明36

1.8.2 实验原理图37

1.8.3 器件清单与连接方法37

1.8.4 程序下载38

1.8.5 代码分析39

1.8.6 实验现象39

1.9 动手搭建电路点亮1602液晶屏40

1.9.1 实验说明40

1.9.2 实验原理图40

1.9.3 器件清单与连接方法40

1.9.4 程序下载41

1.9.5 代码分析42

1.9.6 实验现象46

第2章 51单片机理论深入48

2.1 怎样学好单片机48

2.1.1 初学者的困难48

2.1.2 学习单片机的四个步骤48

2.1.3 学习单片机的准备工作49

2.2 单片机芯片入门理解50

2.2.1 处理器如何控制一个智能产品50

2.2.2 处理器芯片引脚的理解50

2.2.3 处理器是怎么认识下载进去的程序代码的51

2.2.4 为什么采用二进制,而不采用三进制、四进制52

2.2.5 处理器硬件上如何实现存储二进制数53

2.2.6 单片机芯片的选型53

2.3 51单片机资料阅读方法54

2.3.1 如何阅读51单片机的芯片手册54

2.3.2 51单片机的引脚是如何被控制的56

2.4 从零开始搭建51编程环境61

2.4.1 环境搭建61

2.4.2 实验现象66

2.4.3 main.c源代码(可以直接运行)66

2.4.4 硬件原理图说明66

2.4.5 软件架构和代码分析(只有一个main.c文件)67

2.4.6 while语句72

2.4.7 for语句73

2.5 KEIL仿真及延时语句的精确计算75

2.6 不带参数函数的写法及调用81

2.7 带参数函数的写法及调用83

2.8 利用C51库函数实现流水灯84

2.9 硬件基础87

2.9.1 电磁干扰88

2.9.2 去耦电容88

2.9.3 三极管91

2.9.4 晶振电路93

2.9.5 复位电路93

2.9.6 单片机I/O口的状态94

2.9.7 上下拉电阻96

第3章 51单片机全方位实战98

3.1 如何下载第一个程序到单片机里98

3.1.1 什么是冷启动98

3.1.2 环境搭建98

3.1.3 开始下载第一个程序100

3.2 如何驱动发光二极管103

3.2.1 发光二极管的介绍103

3.2.2 发光二极管的发光原理104

3.2.3 硬件原理图连接105

3.2.4 例程01 单片机I/O输出——点亮1个LED灯方法1107

3.2.5 例程02 单片机I/O输出——点亮1个LED灯方法2111

3.2.6 例程03 单片机I/O输出——点亮1个LED灯方法3112

3.2.7 更多LED的例程116

3.3 按键116

3.3.1 按键的介绍116

3.3.2 单片机检测小弹性按键的原理117

3.3.3 硬件连接原理图118

3.3.4 例程01 一个独立按键控制LED(无消抖)119

3.3.5 例程02 一个独立按键控制LED(消抖动)120

3.3.6 更多按键的例程122

3.4 共阳数码管123

3.4.1 共阳数码管的介绍123

3.4.2 共阳数码管的内部原理123

3.4.3 共阳数码管的硬件连接原理124

3.4.4 例程01 共阳数码管静态显示数字8125

3.4.5 例程02 共阳数码管静态显示数字0126

3.4.6 例程03 共阳数码管循环显示数字0~9127

3.4.7 更多共阳数码管的例程128

3.5 共阴数码管129

3.5.1 8位共阴数码管简介129

3.5.2 8位共阴数码管的工作方式130

3.5.3 硬件原理图连接131

3.5.4 例程01 8位数码管显示其中之一132

3.5.5 更多有关共阴数码管的例程133

3.6 定时器134

3.6.1 定时器的由来134

3.6.2 定时器实现原理与作用134

3.6.3 时钟周期、机器周期、指令周期、总线周期的区别134

3.6.4 单片机的定时器响应方式135

3.6.5 定时器的4种不同工作模式136

3.6.6 例程01 用定时器使得LED灯闪烁139

3.6.7 更多有关定时器的例程145

3.7 外部中断145

3.7.1 什么是中断145

3.7.2 什么是单片机的中断146

3.7.3 什么是中断的来源146

3.7.4 什么是中断的优先级147

3.7.5 单个中断的响应过程147

3.7.6 多个中断的嵌套响应过程148

3.7.7 单片机中的中断如何被管理149

3.7.8 硬件原理说明150

3.7.9 例程01 外部中断0电平触发150

3.7.10 更多有关外部中断的例程153

3.8 蜂鸣器(喇叭)154

3.8.1 蜂鸣器简介154

3.8.2 无源电磁式蜂鸣器的工作原理155

3.8.3 硬件原理与连接155

3.8.4 例程01 喇叭发声原理156

3.8.5 更多蜂鸣器的例程157

3.9 看门狗157

3.9.1 看门狗简介157

3.9.2 看门狗的原理和软件设计思想157

3.9.3 例程01 看门狗溢出复位实验158

3.9.4 更多看门狗的例程162

3.10 红绿双色点阵163

3.10.1 对LED点阵的初步了解163

3.10.2 红绿双色LED点阵的内部结构163

3.10.3 红绿双色LED点阵的显示原理164

3.10.4 硬件原理图描述165

3.10.5 例程01 双色点阵1种颜色显示1166

3.10.6 更多红绿双色点阵的例程167

3.11 串口通信的收与发168

3.11.1 什么是串口通信168

3.11.2 串口通信的属性168

3.11.3 什么是单片机的TTL电平173

3.11.4 NPN和PNP三极管的基础知识175

3.11.5 RS232电平与TTL电平的转换176

3.11.6 神舟51+ARM独特的USB转串口的TTL电平模块设计180

3.11.7 串口波特率的理解181

3.11.8 51单片机内部的UART串口简介181

3.11.9 单片机串口硬件连接原理185

3.11.10 例程01 DB9串口输出一个字符187

3.11.11 更多串口通信的例程189

3.12 555脉冲发生器190

3.12.1 555脉冲发生器简介190

3.12.2 555定时器的工作原理190

3.12.3 硬件原理及连接191

3.12.4 例程01 555多谐振荡器蜂鸣实验192

3.12.5 更多555脉冲发生器的例程193

3.13 矩阵键盘194

3.13.1 矩阵按键简介194

3.13.2 矩阵按键的原理与识别194

3.13.3 矩阵按键的几种扫描方法195

3.13.4 硬件原理图195

3.13.5 例程01 矩阵键盘实现195

3.13.6 更多矩阵键盘的例程198

3.14 串转并扩展(74HC595)199

3.14.1 74HC595简介199

3.14.2 串转并扩展(74HC595)的工作原理199

3.14.3 硬件原理与连接201

3.14.4 例程01 74HC595控制多个LED灯点亮202

3.15 并转串扩展(74HC165)205

3.15.1 并转串扩展74HC165简介205

3.15.2 并转串扩展(74HC165)的工作原理205

3.15.3 硬件原理与连接206

3.15.4 例程01 74HC165读按键功能1207

3.16 译码实验(74HC138)210

3.16.1 什么是译码器210

3.16.2 译码器的实现原理211

3.16.3 74HC138译码器芯片介绍211

3.16.4 硬件原理与连接212

3.16.5 例程01 3-8译码器点亮1个LED灯213

3.16.6 更多74HC138译码器的例程216

3.17 锁存器(74HC573)217

3.17.1 什么是锁存器217

3.17.2 锁存器的实现原理217

3.17.3 锁存器74HC573芯片介绍218

3.17.4 硬件原理与连接219

3.17.5 例程01 I/O口高低电平控制点亮1个LED灯220

3.17.6 更多74HC573锁存器的例程222

3.18 PS/2键盘输入223

3.18.1 PS/2接口简介223

3.18.2 PS/2键盘鼠标的硬件接口223

3.18.3 PS/2的协议224

3.18.4 键盘与PS/2协议实例分析225

3.18.5 单片机与PS/2设备连接的硬件原理图227

3.18.6 例程01 PS/2键盘输入在LED数码管上显示227

3.18.7 更多PS/2的例程235

3.19 A/D和D/A(PCF8591)235

3.19.1 名词解释235

3.19.2 A/D和D/A的产生背景235

3.19.3 A/D转换原理236

3.19.4 D/A转换原理238

3.19.5 A/D与D/A的主要指标238

3.19.6 A/D与D/A芯片PCF8591介绍240

3.19.7 硬件原理图说明241

3.19.8 例程01 PCF8591第1路A/D转换值数码管显示242

3.19.9 更多A/D和D/A的例程247

3.20 RTC实时时钟(DS1 302)247

3.20.1 RTC实时时钟简介247

3.20.2 DS1302时钟芯片简介247

3.20.3 DS1302时钟芯片工作原理248

3.20.4 DS1302硬件连接原理251

3.20.5 例程01 DS1302数码管显示实时时钟251

3.20.6 更多DS1302实时时钟的例程257

3.21 1602液晶屏258

3.21.1 1602字符型液晶屏简介258

3.21.2 1602液晶屏显示的基本原理260

3.21.3 如何控制1602液晶屏(寄存器的介绍)261

3.21.4 硬件连接原理270

3.21.5 例程01 1602液晶屏静态显示实验271

3.21.6 更多1602液晶屏的例程275

3.22 红外遥控器收发276

3.22.1 红外收发简介276

3.22.2 红外收发的特点与用途277

3.22.3 红外发送的工作原理277

3.22.4 红外接收头的物理结构279

3.22.5 红外接收头的工作原理281

3.22.6 红外接收的过程描述281

3.22.7 硬件原理图与连接282

3.22.8 例程01 红外控制LED灯闪烁283

3.22.9 更多红外遥控器的例程285

3.23 热敏、光敏电阻285

3.23.1 为什么会有热敏、光敏电阻出现285

3.23.2 热敏电阻的工作和制造原理286

3.23.3 光敏电阻的工作和制造原理286

3.23.4 硬件电路原理图287

3.23.5 例程01 热敏电阻数码管显示287

3.23.6 例程02 光敏电阻数码管显示289

3.24 RS485通信293

3.24.1 串行通信293

3.24.2 RS485串行通信介绍293

3.24.3 RS485串行通信结构294

3.24.4 RS485串行通信原理295

3.24.5 MAX485收发器芯片介绍296

3.24.6 硬件原理图说明297

3.24.7 例程01 RS485通信实验297

3.25 DS18B20温度传感器300

3.25.1 为什么会有温度传感器出现300

3.25.2 什么是温度传感器301

3.25.3 DS18B20温度传感器的特性302

3.25.4 DS18B20温度传感器的实现原理302

3.25.5 DS18B20硬件原理图分析305

3.25.6 例程01 DS18B20初始化程序306

3.25.7 更多DS18B20温度传感器的例程308

3.26 直流电机309

3.26.1 直流电机的介绍309

3.26.2 直流电机的内部结构309

3.26.3 直流电机和步进电机的区别310

3.26.4 直流电机的分类311

3.26.5 直流电机的工作原理312

3.26.6 直流电机的控制原理313

3.26.7 直流电机的控制电路313

3.26.8 硬件原理图与连接314

3.26.9 例程01 直流电机恒速转动315

3.27 步进电机317

3.27.1 什么是步进电机317

3.27.2 步进电机和普通直流电机的区别318

3.27.3 步进电机的分类318

3.27.4 步进电机的转动318

3.27.5 步进电机驱动器件的介绍319

3.27.6 硬件原理与连接321

3.27.7 例程01 步进电机转动原理1323

3.27.8 更多步进电机的例程325

3.28 继电器325

3.28.1 继电器简介325

3.28.2 电磁继电器的工作原理325

3.28.3 硬件原理326

3.28.4 例程01 继电器1s切换一次326

3.28.5 更多继电器的例程328

3.29 315M无线模块329

3.29.1 无线模块简介329

3.29.2 315M无线模块的特点329

3.29.3 315M无线模块内部架构实现330

3.29.4 例程01 315M无线模块任意按键控制LED实验331

3.29.5 更多315M无线模块的例程333

3.30 2.4G无线模块333

3.30.1 2.4G无线模块简介333

3.30.2 nRF24L01无线模块的工作原理334

3.30.3 单片机串口硬件连接原理341

3.30.4 例程01 两块2.4G无线模块测试实验344

3.30.5 例程02 两块2.4G无线模块通信实验344

3.31 5110液晶屏345

3.31.1 5110液晶屏简介345

3.31.2 5110液晶屏的原理和特点345

3.31.3 5110液晶屏连接方式347

3.31.4 5110液晶屏引脚分析347

3.31.5 5110液晶屏字模生成方法348

3.31.6 如何控制5110液晶屏352

3.31.7 硬件连接原理355

3.31.8 例程01 NOKIA5110液晶屏显示英文355

3.31.9 更多5110液晶屏显示等的例程360

3.32 TFT彩色液晶屏360

3.32.1 术语解释360

3.32.2 TFT彩屏硬件原理简介361

3.32.3 液晶显示原理剖析362

3.32.4 控制器命令分析363

3.32.5 TFT硬件设计368

3.32.6 例程01 TFT彩屏显示红色369

3.32.7 更多彩屏的例程381

3.33 μC/OS-Ⅱ操作系统的基础理解381

3.33.1 操作系统简介381

3.33.2 理解操作系统的小例子382

3.33.3 μC/OS-Ⅱ的任务及其状态382

3.33.4 μC/OS-Ⅱ任务的控制块OS_TCB383

3.33.5 μC/OS-Ⅱ的就绪表383

3.33.6 μC/OS-Ⅱ的任务调度384

3.33.7 μC/OS-Ⅱ的调度器上锁、开锁384

3.33.8 μμC/OS-Ⅱ的空闲任务384

3.33.9 μC/OS-Ⅱ中的中断384

3.33.10 μC/OS-Ⅱ的时钟节拍385

3.33.11 μC/OS-Ⅱ的初始化385

3.33.12 μC/OS-Ⅱ的启动385

3.33.13 例程01 μC/OS-Ⅱ单任务运行385

3.33.14 例程02 μC/OS-Ⅱ多任务运行387

第4章 ARM理论基础深入391

4.1 51单片机与ARM处理器的区别391

4.1.1 传统理念对51单片机和ARM的理解391

4.1.2 51单片机与ARM芯片内部的真正区别392

4.1.3 芯片的性价比与选型393

4.2 从51到ARM的学习方法395

4.2.1 精通51之后再来学习ARM395

4.2.2 市场上的ARM种类396

4.2.3 ARM是硬件还是软件396

4.2.4 嵌入式开发需要的辅助调试工具397

4.2.5 资深工程师眼中的嵌入式操作系统397

4.2.6 资深工程师眼中的嵌入式产品的开发流程398

4.2.7 ARM开发板的优点与缺点399

4.3 ARM编程入门400

4.3.1 如何阅读STM32的芯片手册400

4.3.2 STM32芯片的单个引脚是如何被控制的401

4.4 分析一个最简单的程序406

4.4.1 硬件原理图说明406

4.4.2 main.c源代码(可以直接运行)408

4.4.3 环境搭建410

4.4.4 实验现象417

4.4.5 例程软件架构和代码分析(只有一个main.c文件)417

4.4.6 代码剖析1——代码的定义如何与芯片内部资源挂钩423

4.4.7 代码剖析2——代码如何映射到芯片内部的寄存器425

4.4.8 代码剖析3——main函数寄存器级分析(重点)425

4.4.9 代码下载方式1——通过J-Flash下载431

4.4.10 代码下载方式2——通过KEIL软件直接下载435

4.5 从零开始搭建一个最简单的模板439

4.5.1 如何去官网下载最新的STM32资料439

4.5.2 获取ST库源码443

4.5.3 开始新建工程443

4.5.4 MDK环境设置450

4.5.5 使用JLINK V8仿真器硬件调试配置455

4.6 通过程序的分析总结51和ARM的区别459

第5章 ARM实战460

5.1 神舟51+ARM模块如何使用460

5.1.1 神舟51+ARM模块与最小系统的区别460

5.1.2 如何把ARM模块扣在神舟51单片机板上461

5.1.3 扣上ARM模块后51单片机板上的原理图怎么看465

5.2 神舟51+ARM模块的硬件电路分析467

5.2.1 神舟51+ARM的原理图467

5.2.2 神舟51+ARM的功能特点467

5.2.3 STM32F103C8T6处理器469

5.2.4 LED指示灯471

5.2.5 USART接口471

5.2.6 复位系统471

5.2.7 标准的JTAG/SWD仿真调试下载接口472

5.2.8 USB全速接口474

5.2.9 连接器的说明475

5.3 通用输入/输出(GPIO)477

5.3.1 引脚特性477

5.3.2 GPIO应用领域478

5.3.3 引脚分配478

5.3.4 GPIO引脚内部硬件电路原理剖析478

5.3.5 STM32的GPIO引脚深入分析482

5.3.6 在STM32中如何配置片内外设使用的I/O端口489

5.3.7 例程01 单个LED点灯闪烁程序489

5.3.8 例程02 LED双灯闪烁实验493

5.3.9 例程03 LED三个灯同时亮同时灭495

5.3.10 例程04 LED流水灯程序496

5.4 时钟498

5.4.1 什么是时钟498

5.4.2 STM32的时钟499

5.4.3 STM32时钟的深入分析500

5.4.4 例程01 STM32芯片32 MHz频率下的跑马灯程序504

5.4.5 例程02 STM32芯片40 MHz频率下的跑马灯程序510

5.4.6 例程03 STM32芯片72 MHz频率下的跑马灯程序512

5.5 独立按键512

5.5.1 按键的分类512

5.5.2 按键的属性513

5.5.3 STM32的位带操作514

5.5.4 例程01 STM32芯片按键点灯(无防抖)519

5.5.5 例程02 STM32芯片按键点灯增加了防抖的代码524

5.6 串口通信的收与发525

5.6.1 串口通信525

5.6.2 例程01 最简单的串口打印$字符525

5.6.3 例程02 单串口打印www.armjishu.com字符(初级)534

5.6.4 例程03 单串口打印www.armjishu.com字符(中级)536

5.6.5 例程04 单串口打印www.armjishu.com字符(高级)538

5.6.6 例程05 USART-COM1串口接收与发送实验(初级)540

5.6.7 例程06 USART-COM1串口接收与发送实验(中级)543

5.6.8 例程05 USART-COM1串口接收与发送实验(高级)543

5.7 更多ARM例程(包括详细代码分析)546

第6章 嵌入式高手进阶之路548

6.1 各种角色搭配组成548

6.1.1 产品经理548

6.1.2 技术总监548

6.1.3 研发部经理549

6.1.4 普通研发人员549

6.1.5 售前工程师549

6.1.6 售后工程师549

6.1.7 销售549

6.2 硬件专家之STM32神舟团队20年工作经验心得总结549

6.2.1 需求定义550

6.2.2 处理器的选择之I/O引脚数量篇552

6.2.3 处理器的选择之接口需求篇552

6.2.4 处理器的选择之内存容量需求篇553

6.2.5 处理器的选择之中断数量篇554

6.2.6 处理器的选择之实时处理篇554

6.2.7 处理器的选择之芯片厂商篇554

6.2.8 处理器的选择之芯片速度篇554

6.2.9 处理器的选择之只读存储器(ROM)选择篇555

6.2.10 处理器的选择之电源要求篇555

6.2.11 处理器的选择之设备工作环境要求篇556

6.2.12 处理器的选择之芯片寿命篇556

6.2.13 处理器的选择之资料获取篇556

6.2.14 开发成本的预测和估计557

6.2.15 产品开发设计文档之硬件文档撰写思路557

6.2.16 产品开发设计文档之软件文档撰写思路558

6.2.17 嵌入式高手对技术的理解(精华体验)559

6.3 PCB设计建议560

6.3.1 PCB设计干扰的相关基础知识560

6.3.2 电磁干扰三要素560

6.3.3 电磁干扰源分类561

6.3.4 电磁干扰传播途径561

6.3.5 印制电路板562

6.3.6 器件位置562

6.3.7 接地和供电(VSS、VDD)562

6.3.8 数字电路与模拟电路的共地处理562

6.3.9 信号线布在电源层或地层上563

6.3.10 焊盘与产品质量的关系563

6.3.11 应关注的其他信号563

6.3.12 未用到的I/O引脚564

6.4 软件领域专家564

6.4.1 STM32库函数到底是什么564

6.4.2 STM32库函数的好处564

6.4.3 千人大项目如何分配工作566

6.5 以人为本,从实际出发566

参考文献568

热门推荐