《简简单单学通51单片机开发》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王晋凯等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302364795
  • 页数:489 页
图书介绍:本书共12章,以实践教学为特色,将单片机的学习大致分为4个阶段:(1)大致掌握51单片机的内部资源,而不必过多深究。(2)实例的学习是重要的阶段,在实例中同时讲解汇编语言和C语言。(3)学习使用Proteus仿真及Keil软件仿真,这个过程非常关键。(4)实例学习的基础上,深入探讨单片机的内部资源及汇编语言和C语言的相互关系。

第1章 简单了解51单片机(教学视频:77分钟) 1

1.1 51单片机硬件简述 1

1.1.1 51单片机的逻辑结构及信号引脚 2

1.1.2 51单片机的存储器 4

1.1.3 51单片机的时钟电路和时序 10

1.1.4 51单片机的复位电路 11

1.1.5 增强型51单片机AT89C52的特点介绍 12

1.2 51单片机的程序设计语言和软件编译环境 13

1.2.1 来看一段汇编语言吧 13

1.2.2 看看更容易理解的C语言吧 13

1.2.3 两种程序编程语言的关系及相互的优缺点 14

1.2.4 51单片机的编译开发环境介绍 15

1.3 51单片机开发环境Keil的介绍 15

1.3.1 Keil开发环境的介绍 15

1.3.2 项目建立的方法 16

1.4 51单片机学习的利器——仿真软件Proteus 19

1.4.1 Proteus简介 20

1.4.2 用Proteus建立一个51单片机最小系统的电路图 25

1.5 通过一个小实例了解51单片机开发 27

1.5.1 在Keil中编译一段程序 27

1.5.2 在Proteus中演示程序 30

1.6 习题及操作练习 32

第2章 从I/O端口开始学51单片机(教学视频:53分钟) 35

2.1 从一个漂亮的流水灯看I/O端口 35

2.1.1 演示流水灯实例 35

2.1.2 流水灯电路图的绘制 37

2.1.3 P1端口介绍 43

2.1.4 流水灯程序设计流程图 45

2.2 用汇编语言实现流水灯 47

2.2.1 用汇编语言小试牛刀 47

2.2.2 测试流水灯汇编程序 48

2.2.3 51单片机汇编语言指令介绍——数据传送指令 52

2.3 用C语言实现流水灯 53

2.3.1 根据流程图来编写程序 53

2.3.2 当代最优秀的程序设计语言——C语言介绍 55

2.4 I/O端口的输入控制 62

2.4.1 用开关控制流水灯 63

2.4.2 程序设计流程 64

2.4.3 汇编语言实现开关控制流水 64

2.4.4 汇编语言知识扩充——专用寄存器介绍 66

2.4.5 用C语言实现开关控制流水灯 69

2.4.6 C语言知识扩展 71

2.5 习题和扩展练习 73

第3章 51单片机对中断的控制(教学视频:89分钟) 76

3.1 流水灯汇编程序的改进 76

3.1.1 流水灯程序改进的思路 76

3.1.2 改进后的汇编语言流水灯 78

3.1.3 软件仿真介绍 82

3.2 流水灯C语言的改进 89

3.2.1 新流水灯C语言设计思路 90

3.2.2 软件仿真C语言项目 93

3.3 外中断控制概述 98

3.3.1 51单片机的中断源 98

3.3.2 外部中断的执行方式 99

3.3.3 外中断控制电路 100

3.4 汇编语言控制外中断 101

3.4.1 汇编知识介绍 101

3.4.2 编写中断控制汇编语言 104

3.4.3 在Proteus中仿真效果 106

3.5 用C语言完成中断控制 107

3.5.1 C语言相关知识介绍 107

3.5.2 编写C语言外中断程序 110

3.5.3 软件仿真C语言外中断程序 112

3.6 习题和实例演练 117

第4章 51单片机对时间的控制(教学视频:177分钟) 119

4.1 51单片机的软件定时 119

4.1.1 汇编语言实现精确定时 119

4.1.2 用C语言实现延时的方法 125

4.2 51单片机定时器概述 131

4.2.1 51单片机定时器的功能 131

4.2.2 定时器/计数器相关寄存器 131

4.3 定时工作方式0 134

4.3.1 定时工作方式0概述 134

4.3.2 用定时器方式0做方波信号发生器 135

4.3.3 在工作方式0下,利用查询方法实现方波信号发生器 137

4.3.4 汇编语言实现定时器在工作方式0的中断控制方法 142

4.3.5 C语言实现定时器在工作方式0的中断控制 147

4.3.6 在Proteus中仿真中断实例 148

4.4 定时工作方式1 149

4.4.1 定时器工作方式1概述 149

4.4.2 实例设计方案 150

4.4.3 汇编语言实现可编程定时 152

4.4.4 C语言实现可编程定时 155

4.4.5 Proteus仿真可编程定时 156

4.4.6 软件仿真可编程定时 157

4.5 定时工作方式2 160

4.5.1 定时工作方式2概述 160

4.5.2 实例规划 161

4.5.3 用汇编语言实现目标 163

4.5.4 用C语言实现编程 164

4.5.5 在Proteus中进行仿真 166

4.6 定时工作式3 168

4.6.1 定时工作方式3概述 168

4.6.2 实例规划 169

4.6.3 用汇编语言实现编程 171

4.6.4 用C语言实现编程 173

4.6.5 在Proteus中进行仿真 174

4.7 习题和实例扩展 175

第5章 数码管显示技术(教学视频:92分钟) 177

5.1 数码管静态显示 177

5.1.1 数码管介绍 177

5.1.2 汇编语言对数据存储器(RAM)的空间的攫取 180

5.1.3 利用C语言实现对数据存储器(RAM)的存取 189

5.1.4 汇编语言对程序存储器(ROM)的开拓 193

5.1.5 C语言对程序存储器的读取 198

5.2 数码管动态显示 199

5.2.1 动态显示思路 200

5.2.2 用Proteus绘制数码管动态显示电路图 200

5.2.3 汇编语言实现动态显示 203

5.2.4 C语言实现动态显示 206

5.3 汇编语言实现数码显示计数器 209

5.3.1 总体规划 210

5.3.2 汇编基础知识扩展——算数运算指令 212

5.3.3 分模块编写程序 213

5.3.4 在Proteus中仿真实例 219

5.3.5 在Keil中仿真 220

5.4 习题和实例扩展 223

第6章 通信利器——串口(教学视频:127分钟) 225

6.1 一个实例来说明串口通讯 225

6.1.1 新式流水灯 225

6.1.2 串行通信基本概述 227

6.1.3 RS-232总线标准 228

6.1.4 51单片机串行口以及控制寄存器 229

6.1.5 51单片机串行通信工作方式 230

6.1.6 串行工作方式0实例详述 232

6.2 双机通信 237

6.2.1 准备电路图 237

6.2.2 程序设计方案 239

6.2.3 汇编语言实现双机通信 241

6.2.4 C语言实现双机通信 244

6.2.5 仿真观察双机通信 248

6.3 单片机和电脑通信 248

6.3.1 硬件电路的实现 248

6.3.2 程序设计方案 251

6.3.3 汇编语言编写实例程序 252

6.3.4 C语言实现编程 255

6.3.5 实例在Proteus中的仿真 256

6.4 习题和实例扩展 260

第7章 数字电子时钟的设计(教学视频:157分钟) 262

7.1 电子时钟总体规划 262

7.1.1 电子时钟整机电路图 262

7.1.2 数码管显示 263

7.1.3 串口修改数值 265

7.1.4 时钟工作单元 266

7.1.5 键盘控制 266

7.2 键盘分析 268

7.2.1 键值获取 269

7.2.2 根据键值执行相应程序 273

7.2.3 各按键子程序 274

7.3 电子时钟其他模块设计 277

7.3.1 程序预定义变量 277

7.3.2 主程序程序设计 279

7.3.3 显示子程序 281

7.3.4 定时器控制单元 283

7.3.5 串行修改单元 285

7.4 C语言知识扩展 286

7.4.1 函数定义的形式 286

7.4.2 指针变量 288

7.4.3 加1子程序的分析 292

7.5 习题和实例扩展 293

第8章 更先进的电子时钟(教学视频:191分钟) 295

8.1 字符和ASCII码 295

8.1.1 ASCII码的概念 295

8.1.2 汇编语言中运用字符 296

8.1.3 C语言中表达字符 296

8.1.4 串行口输出字符 298

8.2 字符型液晶1602 302

8.2.1 字符液晶1602简介 302

8.2.2 在编程中学习液晶驱动 305

8.2.3 液晶显示其他接口函数 309

8.3 时钟模块研究 312

8.3.1 DS1302介绍 312

8.3.2 DS1302控制方式 313

8.3.3 时钟程序编写 315

8.4 文件的分割管理 325

8.4.1 C项目的分割方法 325

8.4.2 汇编语言分割方式 328

8.5 习题和实例扩展 335

第9章 51单片机外设扩展(教学视频:72分钟) 337

9.1 外部数据存储器的扩展 337

9.1.1 数据存储芯片介绍 337

9.1.2 外扩RAM分析 340

9.1.3 外部设备数据传送指令 342

9.1.4 用实例验证对外部RAM的存取过程 345

9.2 LCD的扩展 347

9.2.1 实现总线控制LCD的电路分析 347

9.2.2 汇编语言实现编程方式 349

9.2.3 C语言实现编程方法 351

9.3 更多外设的扩展方法 352

9.3.1 实现多个外设扩展的电路实现方法 352

9.3.2 综合运用外设实例 356

9.3.3 汇编语言实现实例要求 358

9.3.4 C语言实现实例目标 361

9.4 习题和实例扩展 364

第10章 点阵液晶LCD和矩阵键盘(教学视频:84分钟) 366

10.1 点阵液晶12864 366

10.1.1 12864液晶概述 366

10.1.2 12864直接控制方式底层驱动程序 370

10.1.3 12864点阵液晶接口函数 373

10.1.4 实例显示成果 386

10.2 矩阵键盘 392

10.2.1 矩阵键盘的电路图及实现原理 392

10.2.2 矩阵键盘判键程序 394

10.2.3 矩阵键盘在12864液晶上的演示 397

10.3 习题和实例扩展 401

第11章 计算器程序分析与设计(教学视频:82分钟) 403

11.1 汇编语言知识补充 403

11.1.1 汇编语言执行跳转指令 403

11.1.2 汇编语言伪指令扩充 404

11.2 C语言库函数介绍 407

11.2.1 C51库函数简介 407

11.2.2 典型库函数介绍 409

11.3 Proteus自带计算器分析(汇编语言编写) 413

11.3.1 实例电路分析 414

11.3.2 外设模块程序分析 416

11.3.3 程序分配布局 419

11.3.4 编译信息观察及程序总结 425

11.4 C语言计算器分析和改进 425

11.4.1 Proteus提供的计算器分析 426

11.4.2 改造C51计算器 431

11.4.3 项目设置和仿真效果 437

11.5 习题和实例扩展 438

第12章 ZLG/GUI在51单片机中的移植及运用(教学视频:44分钟) 440

12.1 C语言基础知识补充 440

12.1.1 C51结构体 440

12.1.2 C51枚举类型 445

12.1.3 C51共用体 446

12.1.4 类型定义符typedef 448

12.2 ZLG/GUI介绍 449

12.2.1 ZLG/GUI的文件浏览 449

12.2.2 CONFIG.H文件 454

12.2.3 ZLG/GUI的配置 455

12.3 移植ZLG/GUI 457

12.3.1 LCD底层驱动 457

12.3.2 ZLG/GUI的移植文件 459

12.3.3 底层程序编写 462

12.3.4 Keil配置 465

12.4 ZLG/GUI的应用举例 466

12.4.1 实现基本画图函数 466

12.4.2 字符绘制 468

12.4.3 汉字显示和图形显示 469

12.4.4 窗口显示 475

12.4.5 菜单功能和按钮 477

12.5 习题和实例扩展 480

附录A 51单片机汇编指令集 482

附录B ASCII码表 486

附录C C语言运算符及其优先级 488