《手把手教你学51单片机》是2009年1月1日电子工业出版社出版的图书,作者是惠仇。该书讲述了单片机的基本结构和工作原理、主要开发语言以及项目开发中常用的工具等内容。

中文名

手把手教你学51单片机

作 者

惠仇

出 版 社

出版时间

2009-1-1ISBN

9787121075810

定    价

¥46.00元(含光盘1张)

页 数

384页

开 本

16开

分    类

计算机/程序设计>>51单片机

手把手教你学51单片机编辑推荐

编辑

语音

本书还简述了单片机开发中的一些规范,如单片机原理图、PCB图和程序设计的设计规范。最后,本书通过一些设计实例,全面阐述了单片机项目设计中遇到的各种问题。[1]

手把手教你学51单片机宣传语

编辑

语音

圈内资深单片机工程师精心编写,包含丰富的实践经验和专业技术

精心设计大量的应用实例,与读者分享51单片机应用开发过程中的经验和心得

安排有“提示”、“注意”、“说明”小栏目,将实际工作中遇到的问题各个击破

手把手教你学51单片机内 容 简 介

编辑

语音

本书语言简洁,由浅入深、循序渐进,基础知识与设计实践紧密结合,边讲边练,利于读者举一反三,巩固所学的知识。随书配套光盘内容超值丰富,不但提供了书中范例的代码和电路图,而且提供了多媒体视频教学录像,手把手引导读者直观深入地学习。

本书适合广大51单片机使用者阅读,也是从事单片机设计的科技工作者必备的首选宝典;同时也可作为大中专院校、高职计算机专业学生,以及社会相关培训班学员的教材。

手把手教你学51单片机作者简介

编辑

语音

惠仇,1999年毕业于北方工业大学,长期从事单片机应用开发工作,曾经参与和独立设计过的项目有条码门禁机、可视对讲系统、税控加油机、税控收款机、压力测试系统等,其中可视对讲项目获得国家专利,这些项目均以单片机为核心来实现项目设计功能,并使用了许多最新流行的单片机种类和设计方法。

手把手教你学51单片机前 言

编辑

语音

目前,51系列单片机在我国已得到大力推广和广泛应用,从工业控制系统到小型电子产品都可以见到51单片机的身影,它经典的结构使其成为单片机学习的入门首选,得到了广大单片机使用者的一致推崇,关于51单片机学习和应用的书也五彩纷呈,本书也是其中的一本。

编写本书的目的

笔者从事单片机设计工作已有多年,在这期间设计和参与设计了较多的单片机项目,取得了很多单片机实际设计经验,对单片机设计有了一些较深的认识。所以希望能通过这本书对初步学习单片机的读者有所帮助,并且也是自己对学习和应用单片机的一个总结。

通常在学校学习的单片机知识偏重于理论而不是技能,可是在工作中需要面对的是实际问题,而不是在纸上谈兵;作为一名单片机工程师,笔者在工作中对此深有感触。所以本书的着重点是想让读者了解一个完整的单片机设计过程所需的知识,而不仅仅只是讲述单片机的原理。通过本书的学习,读者可以独立设计和完成一个简单的单片机控制系统,即体验从原理图设计、制作电路板到单片机系统调试的整个过程。

本书的主要内容

本书概括地论述了单片机的基础知识,包括单片机的基本结构和工作原理;并就实际单片机项目开发中会遇到的各种问题进行了阐述,列举了单片机开发的流程和必须遵守的一些规范,说明了仿真器和编程器在开发中的作用以及基本的使用方法。具体内容如下。

 首先论述了单片机的基础知识,包括单片机的基本结构和工作原理,阐述了目前单片机的发展情况,列举了最新流行的单片机种类,总结了单片机的选择方法。

 在了解单片机基本知识的基础上,详细讲解了单片机的主要开发语言——汇编语言和C51语言;编程语言的使用是单片机和其他集成电路的重要区别,用它来赋给单片机命令,使单片机按照设计者的意志运行命令。

 本书也花了一定的篇幅讲解了仿真器和编程器的原理和使用说明。编程器和仿真器是单片机项目开发中常用的工具,仿真器是单片机程序调试中很有用的辅助工具,可以逐步地观察单片机的运行过程,以便发现程序中的错误;而编程器是用来将编写好的程序写入单片机的工具。除了传统的仿真器和编程器外,还列举了一些最新的单片机开发手段,如在线仿真和ISP(在系统编程),这些新的方法大大降低了单片机的开发费用,在线仿真使得设计者不需要去购买昂贵的仿真器,而ISP则替代了编程器,这进一步降低了学习单片机开发的门槛。

 在讲解这些理论知识的过程中,本书还简单讲述了单片机开发中的一些规范,包括单片机原理图、PCB图以及程序设计的设计规范。这在实际工作中是必须了解和遵守的,也是一个单片机设计工程师必须具备的基本知识。

 完成了基本知识的学习后,本书由易至难列举了一些设计实例,这些实例基本上概括了单片机项目设计中遇到的各种问题。

通常,一个单片机系统设计可以分为如下五大方面。

(1)单片机能够运行的最小系统,包括振荡电路、复位电路以及电源电路。

(2)单片机I/O口的使用方法和定时器、中断系统的使用。

(3)单片机的通信接口,单片机的通信在单片机设计中是经常遇到的功能,所以必须注意目前单片机系统常用的各种通信接口和协议。

(4)单片机的系统扩展,系统扩展通常可以分为程序存储器的扩展、数据存储器的扩展以及单片机I/O口的扩展三部分。

(5)信号转换接口,主要是A/D、D/A转换以及PWM的实现。这是单片机信号处理中经常遇到的问题。

前面两部分是单片机最基本的功能,后面三部分则是单片机的扩展应用,掌握了这些基本知识,便可应对用单片机解决的各种项目。

本书的特点

 本书具有知识全面、实例丰富、操作性强的特点,力求以全面、系统的知识和丰富、简短的实例指导初学者学习单片机各方面的知识。因此,本书适合于开始学习单片机设计和具有一定单片机基础知识的读者,目的是使读者通过本书的学习可以初步掌握单片机的开发应用。

 本书安排有“提示”、“注意”、“说明”小栏目,通过这些小栏目可和读者分享一些经验和心得,同时也可为读者清除学习过程中的难点和疑点。

 本光盘内容超值丰富,不但提供了书中全部范例的源代码和电路图,而且提供了多媒体视频教学录像,用以讲解如何使用本书光盘中的源代码,手把手引导读者直观深入地学习。

本书阅读顺序

本书章节的安排是依据读者对单片机学习的过程、以循序渐进的方式建立的,建议初学者从前至后阅读。

 首先阅读第1章至第7章,这些章节是单片机设计的基础知识,必须掌握。只有熟读了这几章的内容,才能阅读后面的章节。其中,第3章可以放到完成基本知识的学习后阅读。

 阅读第8章至第12章,这几章是讲述单片机设计中的一些基本手段和方法,涉及单片机系统设计中的方方面面,掌握这些知识可以解决单片机设计中的大部分问题。

 阅读第13章——综合实例,它由浅入深、由简入繁,将前面讲解的一些知识应用到实际项目中,可以让读者对单片机设计项目有具体的认识。

致谢

经过紧张的策划、写作和编写,本书才得已完稿。在写作的过程中,得到了参与本书策划的各位编辑的大力协助;在此,对所有参与该书编辑、出版的老师表示衷心的感谢。

惠 仇

2008.6.28

手把手教你学51单片机目 录

编辑

语音

第1章 MCS-51系列单片机的起源和发展 1

1.1 MCS-51系列单片机的起源 2

1.1.1 单片机的诞生 2

1.1.2 单片机的历史 2

1.1.3 MCS-51单片机的历史 3

1.1.4 MCS-51系列单片机的特点 4

1.2 MCS-51系列单片机的发展现况 5

1.2.1 概述 5

1.2.2 最新51系列单片机介绍 6

1.3 小结 12

第2章 开发一个51系列单片机项目需要的资源 14

2.1 基础知识的学习 15

2.1.1 单片机基础知识 15

2.1.2 汇编语言 15

2.1.3 C语言 16

2.1.4 模拟电路和数字电路 16

2.2 硬件资源 17

2.2.1 单片机试验电路板 17

2.2.2 仿真器 17

2.2.3 仿真器的选择和安装 19

2.2.4 编程器(烧录器) 20

2.3.1 软件编辑环境 21

2.3.2 KEIL软件的安装 21

2.3.3 KEIL软件的使用方法 22

2.4 单片机型号的选择 22

2.5 51单片机下载线的制作 23

2.5.1 硬件调试 24

2.5.2 使用方法 24

2.6 MON51仿真器的制作 25

2.6.1 原理图 25

2.6.2 Mon51硬件调试 26

2.6.3 软件调试 27

2.7 小结 27

第3章 单片机项目的开发流程和需要遵守的规范 28

3.1 单片机项目开发流程介绍 29

3.2 原理图设计规范 30

3.3 PCB图设计规范 31

3.4 汇编语言设计规范 32

3.5 C51语言设计规范 34

3.6 小结 38

第4章 51单片机的基本结构 39

4.1 单片机的基本结构 40

4.1.1 中央处理器(CPU) 41

4.1.2 存储器 43

4.1.3 定时器/计数器 45

4.1.4 中断控制系统 45

4.1.5 串行口、并行口 46

4.1.6 总线(BUS) 46

4.1.7 时钟电路 47

4.2 二进制、十进制、十六进制 47

4.3 哈佛结构与冯·诺伊曼结构 48

4.3.1 哈佛结构 48

4.3.2 冯·诺伊曼结构 49

4.4 单片机的指令系统 50

4.4.1 指令系统 50

4.4.2 寻址方式 51

4.4.3 程序的执行过程 52

4.5.1 基本概念 52

4.5.2 复杂指令集与精简指令集的特点 52

4.6 小结 53

第5章 51系列单片机指令系统 54

5.1 指令和指令格式 55

5.2 寻址模式 56

5.2.1 直接寻址 56

5.2.2 寄存器寻址 57

5.2.3 寄存器间接寻址 57

5.2.4 立即寻址 57

5.2.5 变址寻址 58

5.2.6 位寻址 58

5.2.7 相对寻址 58

5.3 数据传送指令 58

5.4 算术运算指令 60

5.5 逻辑运算及移位指令 63

5.6 控制转移指令 64

5.7 布尔变量操作指令 66

5.8 小结 67

第6章 汇编语言编程 68

6.1 什么是宏汇编器(Macro Assembler) 69

6.2 汇编语言的开发环境 69

6.3 汇编语言的汇编过程 70

6.3.1 源文件(.ASM) 70

6.3.2 目标代码文件(.HEX) 70

6.3.3 列表输出文件(.LST) 70

6.3.4 汇编处理过程 71

6.3.5 常见的编译错误 72

6.4 51单片机汇编语言指令与伪指令 72

6.4.1 常用单位与术语 72

6.4.2 常量与数值运算 72

6.4.3 汇编语言指令 74

6.4.4 汇编语言伪指令 74

6.5 用汇编语言设计程序的步骤 79

6.5.1 汇编语言程序设计的步骤 79

6.5.2 编制程序流程图 79

6.6 程序设计结构 80

6.6.1 主程序和子程序 80

6.6.2 顺序程序设计 81

6.6.3 分支结构程序设计 82

6.6.4 循环结构程序设计 83

6.6.5 查表程序设计 86

6.6.6 子程序设计 88

6.7 程序设计举例 90

6.7.1 多字节算术运算程序 90

6.7.2 数制转换程序 91

6.7.3 多分支程序 93

6.8 小结 95

第7章 单片机C51语言编程 96

7.1 单片机C51语言概述 97

7.1.1 单片机C51语言的起源和发展 97

7.1.2 C51语言编程的优点 97

7.2 C51关键字和标识符 98

7.3 C51语言的数据类型 99

7.3.1 基本数据类型 99

7.3.2 构造型数据类型 101

7.4 常量、变量和指针 105

7.4.1 常量 105

7.4.2 变量 106

7.4.3 指针 108

7.4.4 存储类型和存储模式 109

7.5 C51的基本运算 112

7.5.1 C51的赋值运算 112

7.5.2 C51的算术运算 113

7.5.3 关系运算符 114

7.5.4 逻辑运算符 115

7.5.5 位运算符 116

7.6 函数 116

C51的库函数 121

7.7 程序结构 122

7.7.1 顺序控制结构 123

7.7.2 选择控制语句 123

7.7.3 循环语句 124

7.7.4 C51语言编程实例 127

7.8 C51语言与汇编语言混合编程 128

7.8.1 在C51语言函数中嵌入汇编语言 128

7.8.2 在C51项目中加入汇编语言文件 129

7.9 一个简单的C语言项目的实施 131

7.10 小结 135

第8章 一些简单的实例 136

8.1 建立一个单片机小系统 137

8.1.1 原理图设计 137

8.1.2 制作电路 139

8.1.3 调试 140

8.2 利用单片机的I/O口控制LED 140

8.2.1 原理图设计 140

8.2.2 制作电路 141

8.2.3 设计程序 141

8.2.4 仿真和调试 143

8.3 利用定时器控制LED闪烁 143

8.3.1 原理图设计 143

8.3.2 制作电路 143

8.3.3 设计程序 143

8.3.4 仿真和调试 145

8.4 控制蜂鸣器发声 145

8.4.1 工作原理 145

8.4.2 原理图设计 146

8.4.3 制作电路 146

8.4.4 程序设计 146

8.4.5 仿真调试 148

8.5 用一个按键控制LED闪烁 148

8.5.1 工作原理 148

8.5.2 原理图设计 148

8.5.3 制作电路 149

8.5.4 程序设计 149

8.5.5 仿真调试 152

8.6 制作LED数码管显示 152

8.6.1 LED数码管结构 152

8.6.2 工作原理 153

8.6.3 原理图设计 153

8.6.4 制作电路 154

8.6.5 程序设计 155

8.6.6 仿真调试 157

8.7 设计一个键盘 158

8.7.1 键盘工作原理 158

8.7.2 原理图设计 159

8.7.3 制作电路 161

8.7.4 程序设计 161

8.7.5 仿真调试 164

8.8 看门狗电路的设计 165

8.8.1 工作原理 165

8.8.2 原理图设计 166

8.8.3 制作电路 168

8.8.4 程序设计 168

8.8.5 仿真调试 171

8.9 小结 172

第9章 51单片机电源系统的设计 173

9.1 开关稳压电源和线性稳压电源的基本知识 174

9.2 线性稳压电源工作原理 174

9.2.1 串联反馈型稳压电源的工作过程 174

9.2.2 稳压电路的保护环节 175

9.3 开关稳压电源工作原理 176

9.3.1 开关电源的起源和发展趋势 176

9.3.2 开关电源的分类 177

9.3.3 开关电源的工作原理 178

9.3.4 开关电源的选用 185

9.4 常用电源转换芯片介绍 186

9.4.1 三端集成稳压器 186

9.4.2 低压差线性稳压器(LDO)的原理与应用 188

9.4.3 常用DC/DC开关稳压电源芯片的选择 191

9.5 设计一个简单的线性电源单片机供电系统 193

常用的三端集成稳压电源 193

9.6 DC/DC开关电源单片机供电系统的设计 194

9.6.1 工作原理 194

9.6.2 基本应用设计 195

9.7 用MC34063设计开关电源 198

9.7.1 MC34063性能简介 198

9.7.2 MC34063降压变换器电路 199

9.7.3 MC34063升压变换器电路 199

9.7.4 MC34063大电流降压变换器电路 200

9.7.5 MC34063大电流升压变换器电路 200

9.7.6 MC34063反向变换电路 201

9.8 小结 201

第10章 51单片机通信接口实例 202

10.1 单片机常用总线简述 203

10.1.1 芯片级总线 203

10.1.2 设备级总线 204

10.2 单片机系统数据的并行传送方式与串行传送方式 207

10.3 单片机系统和计算机之间实现串行通信 207

10.3.1 RS232串行通信工作原理 207

10.3.2 MCS-51系列单片机的串行口和控制寄存器 209

10.3.3 原理图设计 210

10.3.4 制作电路 212

10.3.5 程序设计 213

10.3.6 仿真调试 216

10.4 实现与其他器件间的I2C通信 216

10.4.1 I2C协议 216

10.4.2 原理图设计 220

10.4.3 制作电路 221

10.4.4 程序设计 221

10.4.5 仿真调试 228

10.5 添加一个实时时钟 229

10.5.1 工作原理 229

10.5.2 原理图设计 231

10.5.3 制作电路 232

10.5.4 程序设计 233

10.6 液晶显示模块接口实例 238

10.6.1 液晶显示模块简介 238

10.6.2 原理图设计 243

10.6.3 制作电路 243

10.6.4 程序设计 243

10.6.5 仿真调试 251

10.7 小结 251

第11章 51系列单片机的系统扩展 252

11.1 单片机系统扩展原理 253

11.1.1 为什么扩展系统 253

11.1.2 单片机系统扩展原理 253

11.1.3 程序存储器芯片的选择 257

11.1.4 数据存储器芯片的选择 259

11.1.5 扩展系统I/O接口 260

11.2 存储器系统扩展系统实例 260

11.2.1 扩展系统程序存储器 260

11.2.2 用SRAM扩展数据存储器举例 262

11.2.3 同时扩展数据存储器和程序存储器 264

11.2.4 并行接口Flash存储器扩展实例 265

11.2.5 串行接口Flash存储器扩展实例 274

11.3 系统扩展I/O口实例 278

11.3.1 利用译码器扩展I/O口 278

11.3.2 利用并口扩展芯片8255扩展I/O口 280

11.3.3 8155扩展并行I/O接口 282

11.3.4 利用串并位移寄存器芯片扩展I/O口 286

11.3.5 利用I2C接口扩展I/O口 289

11.4 小结 291

第12章 信号转换接口 292

12.1 单片机与A/D转换接口 293

12.1.1 A/D转换原理 293

12.1.2 A/D转换器的主要技术指标 294

12.1.3 A/D转换器的分类 295

12.1.4 A/D转换器的选择原则 298

12.2 A/D转换设计实例 299

12.2.1 ADC0809介绍 299

12.2.2 原理图设计 300

12.2.3 制作电路 301

12.2.4 程序设计 301

12.2.5 仿真调试 306

12.3 D/A转换原理 306

12.3.1 D/A转换原理 306

12.3.2 D/A转换器的主要技术指标 307

12.3.3 D/A转换器的分类 308

12.3.4 D/A转换器的选择 309

12.4 D/A转换设计实例 310

12.4.1 DAC0832芯片介绍 310

12.4.2 原理图设计 311

12.4.3 制作电路 312

12.4.4 程序设计 312

12.4.5 仿真调试 314

12.5 实现PWM控制 314

12.5.1 PWM原理 314

12.5.2 PWM的实现和应用 314

12.5.3 程序设计 315

12.6 小结 317

第13章 单片机综合实例 318

13.1 用DS18B20实现的温控加热模块 319

13.1.1 DS18B20性能简介 319

13.1.2 DSl8B20时序及工作过程 322

13.1.3 原理图设计 324

13.1.4 程序设计 326

13.1.5 仿真调试 332

13.2 直流电动机控制 333

13.2.1 C8051F300简介 333

13.2.2 原理图设计 334

13.2.3 程序设计 335

13.2.4 仿真调试 340

13.3 数据采集仪设计实例 340

13.3.1 C8051F020介绍 340

13.3.2 CP2102简介 342

13.3.3 原理图设计 343

13.3.4 程序设计 345

13.4 小结 365

附录A 80C51单片机 指令速查表 366

附录B ASIIC码表 370

词条图册

更多图册

参考资料

1.

图书

计算机技术需要学单片机吗,手把手教你学51单片机相关推荐

  1. 【手把手教你学习51单片机】74HC138 三八译码器的应用

    注:本文章转载自<手把手教你学习51单片机>!因转载需要原文链接,故无法选择转载! 如若侵权,请联系我进行删除!上传至网络博客目的为了记录自己学习的过程的同时,同时能够帮助其他一同学习的小 ...

  2. 【手把手教你学51单片机】中断的优先级

    注:本文章转载自<手把手教你学习51单片机>!因转载需要原文链接,故无法选择转载! 如若侵权,请联系我进行删除!上传至网络博客目的为了记录自己学习的过程的同时,同时能够帮助其他一同学习的小 ...

  3. 第11章 UART 串口通信(手把手教你学51单片机pdf部分)

    手把手教你学51单片机-C语言版.pdf  

  4. 手把手教你学51单片机——函数进阶与按键

    目录 写在前面 一.单片机最小系统解析 1.1电源 1.2晶振 1.3复位电路 二.C语言--函数 2.1函数的调用 2.2函数的形参和实参 三.按键 3.1独立按键 3.2独立按键控制led数码管显 ...

  5. c语言52单片机液晶屏显示,[手把手教你学51单片机C语言教程]22 LCD12864液晶屏显示.pdf...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 [手把手教你学51单片机C语言教程]22 LCD ...

  6. c语言怎么编程输出相框,手把手教你学PIC单片机C语言教程第1课.PDF

    手把手教你学PIC单片机C语言教程第1课 - PIC HL-K18 - PIC HL-K18 慧净电子--做人人都买得起的PPIICC单片机开发板真诚为你服务,基于HHLL--KK1188 开发板 手 ...

  7. c++从入门到精通_资料下载:从入门到精通,手把手教你学DSP

    学习一个东西首先是了解它,比如DSP到底是什么?用在什么地方?怎么用?和单片机特点有那些相同与不同?开发需要注意什么?想了解清楚这些问题自然就清楚比较清楚的认识DSP.DSP,因为它是用来做数据处理, ...

  8. python global用法_14_手把手教你学Python之函数(下)

    变量作用域:根据变量定义的位置,可将变量分为全局变量和局部变量. 全局变量:定义在函数外面的变量,可以在多个函数中进行访问,但不能执行赋值操作.如果有赋值语句,相当于创建了一个同名的局部变量: 局部变 ...

  9. 手把手教你学Dapr - 5. 状态管理

    介绍 使用状态管理,您的应用程序可以将数据作为键/值对存储在支持的状态存储中. 您的应用程序可以使用 Dapr 的状态管理 API 使用状态存储组件来保存和读取键/值对,如下图所示.例如,通过使用 H ...

  10. oracle数据库更新语句_20_手把手教你学Python之操作数据库

    数据库是数据的仓库,将大量数据按照一定的方式组织并存储起来,方便进行管理和维护,例如快速检索和统计等.数据库的主要特点: 以一定的方式组织.存储数据: 能为多个用户共享: 与程序彼此独立. -- 数据 ...

最新文章

  1. java equal hashcode_Java(二)equal 和 hashcode使用
  2. webserver获取http请求方的服务器ip_光大科技基础设施团队剖析HTTP协议
  3. 使用组策略部署exe软件
  4. C51编程在不同内存空间(data xdata bdata)定义变量的注意事项
  5. 在终端(Terminal)中用颜色显示不同类型文件
  6. Linux - which xxx - 查找执行的命令所在的路径
  7. 一图读懂|H3C SecPath ACG1050-X1应用控制网关
  8. JDK源码解析--Object类
  9. react —— diff算法与VDOM
  10. hdu4501——小明系列故事——买年货(多维背包)
  11. 单页面应用的路由问题
  12. Boyer-Moore算法
  13. Java 定时任务-最简单的3种实现方法
  14. wps中将文档输出为pdf_如何将WPS文件转换为PDF格式
  15. Realtek USB无线网卡能搜到WiFi 无法连接到网络
  16. 计算机专业背景的大学,不要求专业背景的计算机专业!
  17. 前端 重定向和转发
  18. 工业传感器新手,主要谈一下工业传感器领域吧!
  19. 企业内容管理:一个正在崛起的新兴市场
  20. 专利申请文件基本要求

热门文章

  1. euraka动态改变元数据无需重启服务
  2. DotNetSkin 完美破解
  3. 超图s3m服务加载时添加token
  4. java docx4j api,docx4j api中文
  5. linux 平台编程软件下载,慧编程-慧编程linux版下载 v1.2.0官方版--pc6下载站
  6. Hibernate OneToMany中的mappedBy
  7. Gcode命令【转】
  8. ucos操作系统(2)——OSTimeDly
  9. unity编译器安装路径_1.安装Unity
  10. 1.1 电 电流 电压 电路 基本电子元件