当前位置:首页 > 工业技术
51单片机应用从零开始
51单片机应用从零开始

51单片机应用从零开始PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:杨欣等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:7302162476
  • 页数:442 页
图书介绍:本书介绍8051单片机应用基础知识。
《51单片机应用从零开始》目录

第1章 身边的单片机 1

1.1 单片机在哪里 1

1.2 单片机是什么样子的 5

1.3 单片机如何控制其他器件 9

1.4 如何使用单片机 12

1.4.1 利用编程器烧写单片机 12

1.4.2 利用下载线烧写单片机 13

1.5 有哪些单片机 15

1.6 实例点拨——电子万年历 16

第2章 第一个单片机系统 20

2.1 什么是单片机系统 20

2.1.1 单片机本身 20

2.1.2 构成单片机系统——单片机+外围器件 21

2.2 如何控制一个发光二极管 23

2.2.1 硬件设计 23

2.2.2 软件设计 26

2.3 单片机系统开发过程 29

2.3.1 明确系统功能 29

2.3.2 硬件设计 30

2.3.3 搭建硬件平台 31

2.3.4 软件设计 32

2.3.5 下载程序到单片机并调试 33

2.4 实例点拨——闪烁5次的发光二极管 33

2.4.1 明确系统功能 33

2.4.2 硬件设计 34

2.4.3 搭建硬件平台 35

2.4.4 软件设计 35

2.4.5 下载程序到单片机并调试 37

第3章 一开始遇到的问题 40

3.1 μVision软件的使用 40

3.1.1 我们准备好了吗 40

3.1.2 新建和保存工程 41

3.1.3 往“蛋壳”中添加文件 44

3.1.4 “翻译”汇编程序 47

3.1.5 生成下载到单片机中的文件 48

3.1.6 下载代码到单片机中 49

3.2 开发的线索小结与软件仿真方法 52

3.3 单片机最简(小)系统分析 56

3.3.1 电源端(Vcc,GND) 57

3.3.2 时钟信号(XTAL1、XTAL2) 57

3.3.3 复位(RST) 57

3.3.4 外部程序存储器访问控制端(?/VPP) 58

3.4 实例点拨——流水灯 60

3.4.1 明确系统功能 60

3.4.2 硬件设计 60

3.4.3 搭建硬件平台 61

3.4.4 软件设计 62

3.4.5 下载程序到单片机并调试 69

第4章 单片机的“触角”——I/O口 70

4.1 解读AT89S51的I/O口 71

4.1.1 I/O口的整体印象 71

4.1.2 深入观察I/O口的结构 73

4.2 I/O口作输入端口使用——流水控制灯 75

4.2.1 明确系统功能 75

4.2.2 硬件设计 76

4.2.3 搭建硬件平台 80

4.2.4 软件设计 80

4.3 七段数码管的控制——秒表 83

4.3.1 七段数码管介绍 83

4.3.2 明确系统功能 85

4.3.3 硬件设计 85

4.3.4 软件设计前奏 86

4.3.5 软件设计 89

4.4 小键盘的控制 93

4.5 实例点拨——计时提醒器 96

4.5.1 明确系统功能 96

4.5.2 硬件设计 96

4.5.3 软件设计 101

第5章 解剖单片机——观察存储器 117

5.1 从I/O口到单片机的“解剖结构” 117

5.1.1 I/O口的“解剖图” 117

5.1.2 单片机的“解剖结构” 119

5.1.3 深入“解剖”——算术逻辑单元ALU 122

5.2 存储器家族 123

5.3 随机访问存储器——RAM 124

5.3.1 DRAM 126

5.3.2 SRAM 132

5.3.3 NVRAM 139

5.4 只读存储器——ROM 141

5.4.1 Mask ROM 142

5.4.2 PROM 144

5.4.3 EPROM 146

5.4.4 EEPROM(E2PROM) 148

5.4.5 FLASH存储器 149

5.5 实例点拨——数据是如何保存在存储器中的 153

5.5.1 文字数据与存储器 154

5.5.2 图像数据与存储器 155

第6章 探寻单片机内部——存储器组织 159

6.1 单片机的程序存储器 160

6.1.1 单片机的程序下载到哪里 160

6.1.2 AT89S51单片机的程序存储器 162

6.1.3 是片内还是片外程序存储器 164

6.2 单片机的数据存储器 166

6.2.1 数据存储器用来作什么 166

6.2.2 片内和片外数据存储器 166

6.2.3 00H~1FH——工作寄存器区 167

6.2.4 20H~2FH——位寻址区 169

6.2.5 30H~7FH——开放区 169

6.3 单片机的特殊功能寄存器SFR 171

6.3.1 特殊功能寄存器SFR分布图 171

6.3.2 特殊功能寄存器的操作方法——字节操作与位操作 172

6.3.3 特殊功能寄存器简介 174

6.4 实例点拨——用取表方式控制流水灯 176

6.4.1 流水灯的显示数据转换 176

6.4.2 取表法 178

6.4.3 方法总结 180

第7章 单片机“起舞”——指令的执行 182

7.1 汇编语言详谈 182

7.1.1 汇编器 183

7.1.2 汇编程序书写格式 184

7.1.3 伪指令 185

7.2 时钟与指令的执行 187

7.2.1 时钟究竟是什么 187

7.2.2 程序计数器PC的角色 189

7.2.3 指令的执行 190

7.3 寻址方式 191

7.3.1 直接寻址 191

7.3.2 间接寻址 192

7.3.3 寄存器寻址 192

7.3.4 寄存器特征寻址 193

7.3.5 立即寻址 193

7.3.6 变址寻址 193

7.4 实例点拨——程序存储器和数据存储器的寻址 194

7.4.1 把程序存储器中的数据载入工作寄存器中 194

7.4.2 把程序存储器中的数据载入数据存储器中 195

第8章 给单片机下命令——指令畅谈 197

8.1 指令概述 197

8.1.1 指令的长度 198

8.1.2 影响程序状态字PSW的指令 198

8.2 算术指令 200

8.2.1 加法指令——ADD A,<src-byte> 200

8.2.2 带进位的加法指令——ADDC A,<src-byte> 201

8.2.3 带借位的减法指令——SUBB A,<src-byte> 202

8.2.4 自增/自减指令——INC <byte>/DEC <byte> 202

8.2.5 乘法指令——MUL AB 203

8.2.6 除法指令——DIV AB 204

8.2.7 十进制调整指令——DA A 204

8.3 逻辑指令 205

8.3.1 AND操作——ANL <dest-byte>,<src-byte> 205

8.3.2 OR操作——ORL <dest-byte>,<src-byte> 206

8.3.3 XOR操作——XRL <dest-byte>,<src-byte> 207

8.3.4 清0操作——CLR A 208

8.3.5 取反操作——CPL A 208

8.3.6 位移动操作——RL、RLC、RR、RRC 208

8.3.7 累加器高低位交换操作——SWAP A 209

8.4 片内数据装载指令 210

8.4.1 数据装载指令——MOV <dest>,<src> 211

8.4.2 数据指针寄存器装载指令——MOV DPTR,#data16 212

8.4.3 堆栈指令——PUSH和POP 213

8.4.4 数据交换指令——XCH和XCHD 216

8.5 片外数据装载指令 216

8.6 查表指令 218

8.7 布尔指令 219

8.7.1 清0、置1与取反操作——CLR、SETB、CPL 220

8.7.2 布尔逻辑指令——ANL、ORL 221

8.7.3 位数据装载指令——MOV <dest-bit>,<src-bit> 221

8.7.4 布尔跳转指令——JC、JNC、JB、JNB、JBC 222

8.8 调用子程序指令 223

8.8.1 长调用指令——LCALL 223

8.8.2 绝对调用指令——ACALL 224

8.8.3 返回指令——RET和RETI 225

8.9 跳转与循环指令 225

8.9.1 无条件跳转指令——LJMP、AJMP、SJMP、JMP 225

8.9.2 条件跳转指令——JZ和JNZ 226

8.9.3 比较跳转指令——CJNE <dest-byte>,<src-byte>,rel 227

8.9.4 循环指令——DJNZ <byte>,<rel-addr> 228

8.9.5 无操作指令——NOP 229

8.10 单片机对于带符号数的处理和溢出问题 230

8.10.1 无符号数与带符号数 230

8.10.2 二进制的二补数 231

8.10.3 带符号数操作中的溢出问题 232

8.10.4 什么时候会溢出 232

8.10.5 如何防止进位或溢出产生的错误 233

8.11 实例点拨——指令应用(程序)实例 234

8.11.1 数据求和 234

8.11.2 减法与二进制的二补数 235

8.11.3 XRL指令应用于比较寄存器数值 236

8.11.4 位数据的串行输出 236

8.11.5 利用布尔指令产生矩形波信号 237

8.11.6 布尔指令应用于控制 238

第9章 对第四维的测量——定时/计数器 240

9.1 定时与计数 241

9.2 单片机的定时/计数器 242

9.2.1 定时/计数器的实质 242

9.2.2 时间单位脉冲 243

9.2.3 Timer应用一例——延时子程序 244

9.3 定时/计数器的控制者 245

9.3.1 Timer寄存器 246

9.3.2 定时/计数器模式控制寄存器TMOD 246

9.3.3 定时/计数器控制寄存器TCON 248

9.3.4 Timer的时钟源 249

9.3.5 如何使用Windows计算器 249

9.4 模式1 251

9.4.1 模式1下的Timer特点 251

9.4.2 模式1的设置步骤 252

9.4.3 Timer的计数时间与计数初始值 253

9.4.4 如何选取Timer的计数初始值 254

9.4.5 如何利用Timer进行长时间定时 255

9.5 模式0 257

9.6 模式2 258

9.6.1 模式2下的Timer特点 258

9.6.2 模式2的设置步骤 259

9.6.3 如何设置计数初始值 260

9.7 模式3 261

9.8 计数器 264

9.8.1 Timer作计数器 264

9.8.2 计数器的使用 265

9.8.3 计数器的计数初始值设定 268

9.8.4 计数器的4种工作模式 268

9.8.5 外部事件的信号要求 272

9.8.6 TMOD中的门控位GATE=1时 272

9.9 看门狗 273

9.9.1 什么是看门狗 273

9.9.2 外置看门狗 274

9.9.3 内置看门狗 275

9.10 实例点拨——超声测距仪 278

9.10.1 什么是超声测距仪 278

9.10.2 明确单片机系统功能 279

9.10.3 硬件设计 280

9.10.4 软件设计 285

第10章 与外界的沟通——串行口通信 293

10.1 串行与并行通信 294

10.1.1 串行与并行通信的比喻 294

10.1.2 串行与并行存储器 295

10.1.3 单工、半双工和全双工 296

10.2 单片机串行口如何发送与接收数据 297

10.2.1 串行发送数据 298

10.2.2 串行接收数据 300

10.3 单片机串行口的控制者 302

10.3.1 UART与波特率 302

10.3.2 串行口缓冲区SBUF 303

10.3.3 串行口控制寄存器SCON 303

10.4 串行口工作模式及波特率 305

10.4.1 模式0 305

10.4.2 模式1 305

10.4.3 模式2 307

10.4.4 模式3 308

10.5 单片机之间的通信 308

10.5.1 排队呼叫器——两个单片机之间的通信 308

10.5.2 远距离通信的解决方案 312

10.6 计算机的串行口与控制 314

10.6.1 从RS-232标准到计算机串行口 314

10.6.2 计算机串口通信实验——硬件连接 317

10.6.3 计算机串口通信实验——软件操作 318

10.6.4 用Visual Basic编写一个串口通信程序 319

10.7 单片机与计算机之间的通信 325

10.7.1 单片机与计算机通信中的接口芯片 325

10.7.2 单片机与计算机的串行通信 328

10.8 实例点拨——智能交通灯 330

第11章 程序设计的魅力——中断控制 335

11.1 中断实例及中断的控制者 336

11.1.1 什么是中断 336

11.1.2 中断服务的指挥官——中断向量表 338

11.1.3 中断响应与处理过程 339

11.1.4 中断的控制者——中断使能寄存器IE 341

11.2 邮递员和朋友——外部中断 342

11.2.1 外部中断?和? 342

11.2.2 外部中断的电平触发 343

11.2.3 外部中断的边沿触发 343

11.3 小狗和烧水壶——Timer 0和Timer 1中断 346

11.4 电话铃响——串行通信中断 347

11.5 中断的魅力和优先级控制 350

11.5.1 中断的魅力——轮询与中断的比较 350

11.5.2 中断的优先级控制 351

11.6 实例点拨——旋转的时钟 354

11.6.1 原理分析 355

11.6.2 明确系统功能 357

11.6.3 硬件设计 357

11.6.4 软件设计 360

附录1 51单片机指令集 366

附录2 指令的执行代码表 370

附录3 使用实验板、仿真机和编程器开发单片机系统 377

附录4 AT89S51单片机的DC特性 383

附录5 AT89S51单片机的AC特性 384

附录6 ASCII码表 385

附录7 常见封装形式 389

附录8 如何使用器件手册 392

附录9 数制转换 402

附录10 自制下载线(ATMEL官方并口型) 406

附录11 下载线软件(ATMEL MCU ISP)的使用 409

附录12 单片机系统开发的电源解决方案 413

附录13 基础逻辑门及常用数字电路芯片 417

附录14 AT89S51单片机特殊功能寄存器一览表 421

附录15 硬件消除开关抖动的方法 429

附录16 51单片机比较表 431

附录17 常用低容量存储器器件表(RAM、ROM) 433

附录18 51单片机汇编程序保留字 435

附录19 快速掌握单片机的助手——STK 0707型单片机学习板 438

参考文献 441

相关图书
作者其它书籍
返回顶部