《化繁为简 51单片机应该这样学》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:孔超,张玮著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2013
  • ISBN:9787113158385
  • 页数:413 页
图书介绍:本书22章,分为2篇,第1篇注重基础知识,主要讲述了单片机的基本原理、结构和汇编语言编程,这样让读者能够有一定的理论基础,并且该内容从实际出发,将学习过程中可能会遇到的知识基本涵盖,既能当做知识学习,又能当做工具书查询 。第二篇注重从实用出发,用生动活泼的语言,由浅入深的讲解了单片机的应用及相应的C51程序的编制,并有作者本人亲测程序的可执行性。更多时候采用启发式教学的思路,引导读者自己思考。所选例子也具有代表性,具有一定的实际意义 。通过阅读本书,读者可以在较短的时间内理解单片机的基本原理与结构,掌握C51程序编制的要点和规则,并能够自己编制相应的程序,为进一步学习打好基础。

第1篇 娓娓道来的基础篇 2

第1章 你好,我是单片机——单片机概述 2

1.1我是单片机,你见过我吗? 2

1.1.1单片机的结构 3

1.1.2单片机与计算机 3

1.1.3单片机与嵌入式系统 4

1.1.4单片机的特点 4

1.2我的显赫身世 5

1.2.1单片机的发展 5

1.2.2单片机的发展趋势 7

1.3我不孤单,因为我有兄弟姐妹 8

1.3.1 MCS-51系列单片机 8

1.3.2 AT89系列单片机 9

1.3.3 STC单片机 10

1.3.4 Motorola单片机 11

1.3.5其他单片机 11

1.4你和我怎么交流呢? 11

1.4.1单片机中的数制 12

1.4.2常用的信息编码 13

1.4.3语言交流——单片机语言 15

1.5最后,我总结一下 16

第2章 让你好好地了解我——MCS-51硬件结构 18

2.1我的器官们——单片机的结构 18

2.1.1 MCS-51单片机硬件结构图 18

2.1.2 MCS-51单片机的引脚信号 22

2.2秀秀我的大脑——单片机微处理器 24

2.2.1运算器 24

2.2.2控制器 25

2.2.3 CPU的时序 26

2.3好的记忆力来自于哪里——存储器 27

2.3.1程序存储器地址空间 27

2.3.2数据存储器地址空间 27

2.3.3片外RAM的扩展 32

2.3.4程序存储器 32

2.4节拍器和RST——时钟电路和复位电路 33

2.4.1时钟电路 34

2.4.2复位电路 34

2.5最后,我总结一下 35

第3章 想让我干活?先看看须知吧——MCS-51指令系统及程序设计 36

3.1稍息,立正——指令概述 36

3.1.1机器码指令——天书 37

3.1.2汇编语言指令——竹简 37

3.2坏了,我把钱藏哪里去了?——寻址方式 38

3.2.1立即寻址 39

3.2.2寄存器寻址 39

3.2.3 RAM寻址 39

3.2.4程序存储器中数据的寻址 41

3.2.5 I/O端中数据的寻址 41

3.2.6程序的寻址 42

3.2.7位寻址 43

3.3咱们用密令交流吧——指令系统 43

3.3.1数据传送类指令 43

3.3.2算术运算类指令 48

3.3.3逻辑操作类指令 54

3.3.4位操作类指令 57

3.4让你看看我的小把戏——汇编语言程序设计实例 58

3.4.1顺序程序设计 59

3.4.2循环程序设计 60

3.4.3分支程序设计 67

3.4.4子程序及其调用 74

3.5最后,我总结一下 76

第4章 你我沟通的桥梁——Keil 77

4.1 Keil C51简介 77

4.2 Keil C51的安装 78

4.3 Keil C51的使用 79

4.3.1设置编译器 79

4.3.2 Keil的使用 80

4.3.3 Keil的编译 82

4.4最后,我总结一下 82

第5章 手脚并用,干活麻利——并行I/O口的输入输出 83

5.1手脚并用与打电话——并行通信与串行通信 83

5.2看看我是怎么让小灯闪啊闪的 84

5.2.1一个小灯闪啊闪 84

5.2.2几个小灯闪啊闪 87

5.3给我一个支点,我能撬动地球——继电器的控制 91

5.3.1认识一下继电器 92

5.3.2通过继电器让小灯闪啊闪 92

5.3.3实际中的继电器控制 94

5.4来点理论知识——并行端口的输入输出 95

5.4.1 MOV指令可直接输入输出的P1口 97

5.4.2在MOVX指令下由系统总线进行输入输出的P0和P2口 98

5.4.3具有特殊功能的P3口 99

5.5数据输入/输出的控制方式 100

5.5.1查询传送方式 101

5.5.2中断传送方式 103

5.6 C51语言中的I/O口的操作 104

5.7最后,我总结一下 105

第6章 暂停,我要接电话一中断系统 107

6.1哎呀,有突发事件,我该怎么办?——中断系统的原理与结构 107

6.2来了请按门铃——中断源及中断请求标志 109

6.2.1中断源 109

6.2.2中断请求标志 109

6.3两个电话同时响了,怎么办呢?——中断管理 110

6.3.1中断的开放和屏蔽 111

6.3.2中断优先级的设置 112

6.4中断的响应过程 115

6.5中断程序的编程方法 116

6.6你来控制小灯闪烁吧——C51中断实例 117

6.6.1 C51中断的定义 117

6.6.2 C51中断实例 120

6.7最后,我来总结一下 124

第7章 齐步走,一二——定时器/计数器 125

7.1我的手表——定时器/计时器作用 125

7.2怎么知道是几点了呢?——定时器/计数器内部结构及原理 126

7.2.1定时器/计数器方式控制寄存器TMOD 127

7.2.2定时器/计数器的控制寄存器TCON 128

7.3是定时呢,还是计数呢,这是个问题——工作方式 129

7.3.1工作方式0 129

7.3.2工作方式1 129

7.3.3工作方式2 130

7.3.4工作方式3 130

7.4定时器/计数器的应用设计 132

7.4.1定时器/计数器的初始化编程 132

7.4.2计数器初值计算方法 132

7.4.3定时器初值计算方法 133

7.4.4应用举例 134

7.5 C51语言中的定时器/计数器使用 139

7.5.1 C51中T0即T1的编程 139

7.5.2 AT89S52单片机T2的编程 142

7.6最后,我总结一下 143

第8章 咱们电话联系——串行通信 144

8.1为什么听筒会出声音呢?——串行口的内部结构 144

8.1.1串行口数据缓冲器SBUF 145

8.1.2串行口控制寄存SCON 145

8.1.3电源及波特率选择寄存器PCON 146

8.2我怎么和你联系——串行口的工作方式 146

8.2.1工作方式0 146

8.2.2工作方式1 147

8.2.3工作方式2 147

8.2.4工作方式3 149

8.3同步才能传递——串行口的波特率 149

8.3.1方式0和方式2 149

8.3.2方式1和方式3 149

8.3.3 SMOD位对波特率的影响 150

8.4 MCS-51单片机串口通信应用 150

8.4.1单片机串行通讯口测试 150

8.4.2 MCS-51单片机双机通信技术 151

8.4.3单片机的多机通信 157

8.4.4 PC机和单片机之间的通信 160

8.5 C51语言中的串行通信 163

8.6最后,我总结一下 165

第9章 这个语言必须掌握——单片机C语言编程 166

9.1 C及C51语言概述 166

9.1.1 C及C51语言的特点 166

9.1.2 C51的数据类型 167

9.1.3 C51对内部资源的定义 170

9.1.4常量与变量 172

9.1.5 C51绝对地址访问 174

9.2运算符和表达式 175

9.2.1关系运算符与关系表达式 175

9.2.2逻辑运算符与逻辑表达式 175

9.2.3算术运算符与算术表达式 176

9.2.4位运算符和复合赋值运算符 176

9.2.5条件运算符和指针运算符 178

9.2.6强制类型转换运算符 178

9.2.7表达式语句 179

9.3分支程序设计 179

9.3.1 if语句 179

9.3.2 switch语句 180

9.4循环程序设计 181

9.4.1 while语句 181

9.4.2 do-while语句 182

9.4.3 for语句 183

9.4.4 break与continue语句 184

9.5函数 184

9.5.1函数的定义 184

9.5.2函数的调用 185

9.5.3中断函数 186

9.6数组及指针的使用 187

9.6.1数组的使用 187

9.6.2指针的使用 189

9.7 C51的编程规范与技巧 191

9.7.1编程规范 191

9.7.2 C51的开发技巧 191

9.8最后,我总结一下 192

第2篇 源自实践的单片机应用篇 194

第10章 我是沉睡的狮子——单片机最小系统 194

10.1什么是最小系统 194

10.2最小系统电路分析 195

10.3亲自做个最小系统吧 198

10.4觉醒吧,凶猛的狮子! 200

10.5最后,我总结一下 205

第11章 看看我的霓虹灯——跑马灯 206

11.1排好队,报数——跑马灯的硬件设计 206

11.2程序设计及改进 207

11.3最后,我总结一下 216

第12章1、2、3,出发——数码管 217

12.1数码管是什么东东? 217

12.2开始计数,1~2~3 219

12.3最后我总结一下 229

第13章 叮咚,门铃响了——蜂鸣器 230

13.1什么东西发出来的声音呢 230

13.2先叮还是先咚?还是先让它发声 231

13.3最后,我总结一下 239

第14章 告诉我你想干什么——矩阵键盘 240

14.1键盘?很复杂吧 240

14.2独立键盘设计及编程 241

14.3矩阵键盘的设计 247

14.4最后,我总结一下 255

第15章 早起的鸟儿有虫吃——闹钟 256

15.1叮咚,米已经煮了10分钟了 256

15.2外部中断的有趣的事 266

15.3最后,我总结一下 269

第16章 预备,跑——秒表 270

16.1先来做一个简单的——10秒的秒表 270

16.2进步一点点——99秒的秒表 272

16.3再来进步一点点——100000秒计时 274

16.4八位数码管显示数码时钟 277

16.5强劲闹铃横空出世 281

16.6红绿灯 293

16.7最后,我总结一下 298

第17章来段音乐轻松一下吧 299

17.1音乐,是如何产生的? 299

17.2专业的音乐是如何产生的 306

17.3电子琴 315

17.4亮灯倒计时10秒,开始播放音乐 318

17.5按键选择音乐 322

17.6一个按键六首歌,神奇吧 327

17.7最后,我总结一下 332

第18章 神奇的液晶显示——1602 333

18.1 1602是什么 333

18.2 1602怎么使 334

18.3滚动演示 339

18.4 1602的时钟显示 341

18.5数码管与液晶的竞技 346

18.6 最后,我总结一下 349

第19章 让你走几步你就得走几步——步进电机 350

19.1一步一叩首——步进电机 350

19.2给多少钱,干多少活——步进电机驱动控制 351

19.3前进!停止!后退!——步进电机正反转 354

19.4步进电机控制与1602显示 357

19.5最后,我总结一下 366

第20章 向后转!——直流电机 367

20.1直流电机?什么东东! 367

20.2不是所有的桥都在水上——H桥 368

20.3加速前进——目标就在前方! 371

20.4 PWM不仅仅可以调速哦 374

20.5我来总结一下 379

第21章 单线传递,简单易用——串口通信 380

21.1首先自检——串口自测程序 380

21.2串行通信查询法 381

21.3串行通信中断法 382

21.4向PC发送字符 383

21.5串行数据转为并行数据 384

21.6并行数据转为串行数据 386

21.7双机通信 387

21.8双机双向通信 389

21.9最后,我总结一下 393

第22章 电子温度计的设计——DS18B20 394

22.1温度计的触角——DS18B20 394

22.2 DS18B20与数码管的约会 395

22.3串口测温 399

22.4 DS18B20与1602的爱情故事 405

22.5最后,我总结一下 413