网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 51单片机开发入门与典型实例(附光盘)
分类
作者 王守中
出版社 人民邮电出版社
下载
简介
编辑推荐

本书按照单片机初学者的学习过程,由浅入深逐步讲解51单片机基础、典型实例、单片机C语言以及综合实例,全书分5篇,共25章。

本书语言通俗、实例丰富、代码分析详尽,有较强的实用性和参考价值,适合大专院校计算机、电子、电气、控制及相关专业学生学习参考,也可供单片机开发人员和系统设计人员参考使用。

内容推荐

本书以51单片机为主线,按照初学者学习的一般步骤,详细介绍了单片机开发的入门知识和经典实例。全书分5篇,共25章,首先介绍单片机开发环境的构建方法、单片机应用程序开发流程、单片机指令系统和单片机C语言基础等单片机入门知识, 然后详细讲解实际开发中常用的单片机汇编语言开发实例和单片机C语言开发实例,最后讲解时钟设计、液晶显示和制作单片机实验板等单片机应用开发综合实例。

本书语言通俗、实例丰富、代码分析详尽,有较强的实用性和参考价值,适合大专院校计算机、电子、电气、控制及相关专业学生学习参考,也可供单片机开发人员和系统设计人员参考使用。

目录

51单片机快速入门篇

第1章 单片机的历史和分类 3

1.1 单片机名称的由来 3

1.1.1 单片机名称的由来 3

1.1.2 单片机的特点 3

1.1.3 单片机的应用 4

1.2 单片机的分类 5

1.2.1 按用途分类 5

1.2.2 按位数分类 5

1.2.3 按系列分类 5

1.3 入门级单片机的选择 6

1.3.1 入门学习选择什么样的单片机 6

1.3.2 80C51与AT89C51的区别 6

1.3.3 AT89S51与AT89C51的区别 6

第2章 单片机开发环境的建立 8

2.1 学习单片机的必备工具 8

2.1.1 计算机 8

2.1.2 单片机集成开发系统软件 8

2.1.3 51编程器 9

2.1.4 实验板 9

2.2 集成开发软件的下载和安装 9

2.2.1 从网上免费下载集成开发软件 9

2.2.2 MedWin集成开发软件的安装 10

2.3 编程器的安装与使用 11

2.3.1 编程器的连接 11

2.3.2 安装编程器软件 12

2.3.3 编程器的使用 12

2.4 实验板的使用 13

第3章 单片机程序开发流程 15

3.1 编写一个简单的单片机程序 15

3.1.1 目的 15

3.1.2 工作原理 15

3.1.3 用汇编语言编写程序 16

3.2 用MedWin开发单片机程序 16

3.2.1 编写源程序 16

3.2.2 创建项目 17

3.2.3 编译/汇编 17

3.2.4 输出Intel HEX文件 17

3.3 把目标文件写入单片机 18

3.3.1 选择单片机型号 18

3.3.2 进行擦除 18

3.3.3 写入文件 19

3.4 在实验板上实验 19

第4章 单片机寄存器 20

4.1 80C51单片机引脚简介 20

4.2 单片机工作的基本条件 21

4.2.1 接电源 22

4.2.2 接石英晶体振荡器 22

4.2.3 单片机内装入程序 22

4.3 单片机的存储器 22

4.3.1 单元与位 23

4.3.2 字、字节和数制 23

4.3.3 程序存储器 24

4.3.4 数据存储器 24

4.4 单片机工作的基本原理 26

4.4.1 引脚与寄存器的关系 27

4.4.2 单片机中0和1的作用 27

4.4.3 工作基本原理 28

第5章 单片机指令 29

5.1 学习单片机指令与编程的经验与技巧 29

5.2 单片机编程语言概述 30

5.2.1 编程语言概述 30

5.2.2 单片机使用的编程语言 31

5.2.3 80C51汇编语言的语句结构 32

5.3 80C51单片机指令系统 33

5.3.1 数据传送类指令 33

5.3.2 控制转移类指令 33

5.3.3 逻辑运算及移位类指令 34

5.3.4 算数运算类指令 34

5.3.5 位操作类指令 34

5.4 常用的伪指令 35

5.4.1 伪指令与80C51指令的不同点 35

5.4.2 常用的伪指令 35

51单片机典型实例篇

第6章 跑马灯 41

6.1 点亮一只灯 41

6.1.1 硬件设计 41

6.1.2 程序设计 42

6.1.3 代码详解 42

6.1.4 实例测试 43

6.1.5 经验总结 44

6.2 模拟仿真 44

6.2.1 进入模拟仿真状态 44

6.2.2 展现观察窗口 44

6.2.3 选择调试方式 45

6.2.4 观察寄存器值的变化 45

6.3 点亮6只灯 46

6.3.1 程序设计 47

6.3.2 代码详解 47

6.3.3 模拟仿真 48

6.3.4 实例测试 48

6.3.5 经验总结 48

6.4 亮灯循环左移 48

6.4.1 程序设计 49

6.4.2 代码详解 49

6.4.3 模拟仿真 51

6.4.4 实例测试 51

6.4.5 经验总结 51

6.5 亮灯循环右移 51

6.5.1 程序设计 52

6.5.2 代码详解 53

6.5.3 模拟仿真 54

6.5.4 实例测试 54

6.5.5 经验总结 54

6.6 延时时间的计算 54

6.6.1 机器周期和指令周期 55

6.6.2 单重循环短暂延时 55

6.6.3 多重循环较长时间延时 55

6.6.4 对延时程序的改进 56

6.7 亮灯左移与右移循环 57

6.7.1 程序设计 57

6.7.2 代码详解 58

6.7.3 模拟仿真 58

6.7.4 实例测试 58

6.7.5 经验总结 59

6.8 双灯左移右移加闪烁 59

6.8.1 程序设计 59

6.8.2 代码详解 60

6.8.3 模拟仿真 61

6.8.4 实例测试 61

6.8.5 经验总结 61

6.9 用取表方式实现灯移动 63

6.9.1 程序设计 63

6.9.2 代码详解 64

6.9.3 模拟仿真 66

6.9.4 实例测试 67

6.9.5 经验总结 67

第7章 LED显示 68

7.1 数码管工作原理及显示码 68

7.1.1 LED数码管结构 68

7.1.2 工作原理 68

7.1.3 数码管显示码 69

7.2 让数码管静态显示6 69

7.2.1 硬件设计 70

7.2.2 程序设计 70

7.3.3 代码详解 71

7.2.4 模拟仿真 72

7.2.5 实例测试 72

7.2.6 经验总结 72

7.3 循环显示0~9 72

7.3.1 程序设计 72

7.3.2 代码详解 74

7.3.3 模拟仿真 74

7.3.4 实例测试 74

7.3.5 经验总结 75

7.4 两位数码管显示00~99 75

7.4.1 硬件设计 75

7.4.2 程序设计 75

7.4.3 代码详解 77

7.4.4 模拟仿真 79

7.4.5 实例测试 79

7.4.6 经验总结 79

第8章 键盘控制 80

8.1 用8位DIP开关控制LED 80

8.1.1 硬件设计 80

8.1.2 程序设计 81

8.1.3 代码详解 81

8.1.4 模拟仿真 82

8.1.5 实例测试 82

8.1.6 经验总结 82

8.2 用4位DIP开关控制数码管显示 82

8.2.1 硬件设计 82

8.2.2 程序设计 83

8.2.3 代码详解 84

8.2.4 模拟仿真 85

8.2.5 实例测试 86

8.2.6 经验总结 86

8.3 按键开关控制指示灯 86

8.3.1 硬件设计 86

8.3.2 程序设计 86

8.3.3 代码详解 88

8.3.4 模拟仿真 88

8.3.5 实例测试 89

8.3.6 经验总结 89

8.4 键盘控制概述 89

8.4.1 按键的特性 89

8.4.2 键盘输入中要解决的问题 90

8.4.3 独立按键式键盘 90

8.4.4 矩阵式按键键盘 90

8.5 用独立式键盘控制灯移动 91

8.5.1 硬件设计 91

8.5.2 程序设计 91

8.5.3 代码详解 93

8.5.4 模拟仿真 94

8.5.5 实例测试 95

8.5.6 经验总结 95

8.6 用矩阵式键盘控制显示器 95

8.6.1 硬件设计 96

8.6.2 程序设计 96

8.6.3 代码详解 97

8.6.4 模拟仿真 101

8.6.5 实例测试 102

8.6.6 经验总结 102

第9章 中断 103

9.1 中断控制功能的作用 103

9.1.1 什么是中断 103

9.1.2 实现中断的好处 103

9.1.3 中断处理过程 104

9.1.4 中断源及入口地址 104

9.2 中断的控制及设置 105

9.2.1 中断允许控制寄存器IE 105

9.2.2 中断优先级控制寄存器IP 106

9.2.3 定时器控制寄存器TCON 107

9.2.4 串行口控制寄存器SCON 108

9.3 用外部中断控制灯闪烁 108

9.3.1 硬件设计 108

9.3.2 程序设计 109

9.3.3 代码详解 110

9.3.4 模拟仿真 112

9.3.5 实例测试 112

9.3.6 经验总结 113

9.4 用多级外部中断控制灯移动 113

9.4.1 硬件设计 113

9.4.2 程序设计 114

9.4.3 代码详解 116

9.4.4 模拟仿真 117

9.4.5 实例测试 117

9.4.6 经验总结 117

第10章 定时器/计数器 118

10.1 定时器/计数器的用途及工作原理 118

10.1.1 定时器/计数器的用途 118

10.1.2 定时器/计数器的结构 118

10.1.3 定时器/计数器的工作原理 118

10.2 定时器/计数器的控制寄存器 120

10.2.1 工作模式控制寄存器TMOD 120

10.2.2 定时器控制寄存器TCON 121

10.2.3 4种工作模式的特点 121

10.3 定时器/计数器的初始化设置 122

10.3.1 模式0的初始化步骤 122

10.3.2 模式1的初始化步骤 123

10.3.3 模式2的初始化步骤 123

10.3.4 模式3的初始化步骤 123

10.4 使用定时器延时 124

10.4.1 硬件设计 124

10.4.2 程序设计 124

10.4.3 代码详解 125

10.4.4 模拟仿真 126

10.4.5 实例测试 127

10.4.6 经验总结 127

10.5 定时器加软件计数延时 127

10.5.1 程序设计 127

10.5.2 代码详解 129

10.5.3 模拟仿真 129

10.5.4 实例测试 130

10.5.5 经验总结 130

10.6 定时与计数演示灯 130

10.6.1 硬件设计 130

10.6.2 程序设计 131

10.6.3 代码详解 132

10.6.4 实例测试 132

10.6.5 经验总结 133

第11章 音乐发声 134

11.1 发声实验 134

11.1.1 硬件设计 134

11.1.2 程序设计 134

11.1.3 代码详解 135

11.1.4 模拟仿真 135

11.1.5 实例测试 136

11.1.6 经验总结 136

11.2 变频报警 136

11.2.1 程序设计 136

11.2.2 代码详解 137

11.2.3 模拟仿真 138

11.2.4 实例测试 138

11.2.5 经验总结 138

11.3 歌曲演奏 139

11.3.1 编程演奏器原理 139

11.3.2 程序设计 141

11.3.3 代码详解 143

11.3.4 模拟仿真 144

11.3.5 实例测试 145

11.3.6 经验总结 145

11.4 电子琴 145

14.4.1 硬件设计 145

11.4.2 程序设计 146

11.4.3 代码详解 148

11.4.4 模拟仿真 149

11.4.5 实例测试 149

11.4.6 经验总结 149

第12章 串行通信 150

12.1 单片机串行通信功能 150

12.1.1 单片机串行通信的作用 150

12.1.2 串行通信中双方基本约定 150

12.1.3 串行口的结构和通信过程 151

12.2 串行口的控制 152

12.2.1 电源和数据传输率控制寄存器PCON 152

12.2.2 串行口控制寄存器SCON 152

12.2.3 串行口的4种工作方式 153

12.3 扩展8个输出端口 153

12.3.1 硬件设计 153

12.3.2 程序设计 154

12.3.3 代码详解 156

12.3.4 模拟仿真 156

12.3.5 实例测试 157

12.3.6 经验总结 157

12.4 扩展8个输入端口 157

12.4.1 硬件设计 157

12.4.2 程序设计 158

12.4.3 代码详解 159

12.4.4 模拟仿真 160

12.4.5 实例测试 160

12.4.6 经验总结 160

12.5 向计算机发送一封信 160

12.5.1 硬件设计 161

12.5.2 程序设计 161

12.5.3 代码详解 162

12.5.4 模拟仿真 163

12.5.5 实例测试 163

12.5.6 经验总结 163

第13章 LCD模块及其应用 164

13.1 LCD模块 164

13.1.1 LCD的分类 164

13.1.2 LCD模块的引脚 164

13.1.3 寄存器选择及显示器地址 165

13.1.4 LCM控制指令 166

13.2 一个简单的液晶显示程序 167

13.2.1 硬件设计 167

13.2.2 程序设计 167

13.2.3 代码详解 170

13.2.4 实例测试 171

13.2.5 经验总结 171

13.3 使LCD显示两行字符 172

13.3.1 程序设计 172

13.3.2 代码详解 173

13.3.3 实例测试 174

13.3.4 经验总结 174

13.4 LCD显示字符串 175

13.4.1 程序设计 175

13.4.2 代码详解 177

13.4.3 实例测试 178

13.4.4 经验总结 178

13.5 LCD循环显示 178

13.5.1 程序设计 178

13.5.2 代码详解 181

13.5.3 实例测试 182

13.5.4 经验总结 182

13.6 自编图形显示 183

13.6.1 程序设计 183

13.6.2 代码详解 186

13.6.3 实例测试 187

13.6.4 经验总结 187

第14章 AD与DA及其应用 188

14.1 信号转换概述 188

14.1.1 模拟信号 188

14.1.2 数字信号 188

14.1.3 信号转换 188

14.2 简单DA转换程序 189

14.2.1 硬件设计 189

14.2.2 程序设计 190

14.2.3 代码详解 190

14.2.4 实例测试 190

14.2.5 经验总结 191

14.3 指拔开关控制输出电压 191

14.3.1 硬件设计 191

14.3.2 程序设计 191

14.3.3 代码详解 192

14.3.4 模拟仿真 192

14.3.5 实例测试 192

14.3.6 经验总结 193

14.4 DAC输出锯齿波 193

14.4.1 程序设计 193

14.4.2 代码详解 194

14.4.3 模拟仿真 194

14.4.4 实例测试 194

14.4.5 经验总结 194

14.5 单线数字温度传感器 195

14.5.1 引脚及其与单片机的连接方式 195

14.5.2 DS18B20的主要特性 195

14.5.3 内部结构 196

14.5.4 高速暂存存储器 196

14.5.5 DS18B20通信协议 197

14.5.6 使用注意事项 198

14.6 数字温度计 198

14.6.1 硬件设计 198

14.6.2 程序设计 199

14.6.3 代码详解 203

14.6.4 实例测试 204

14.6.5 经验总结 204

第15章 步进电机的控制 205

15.1 步进电机的工作原理 205

15.1.1 步进电机的种类 205

15.1.2 步进电机工作原理 205

15.1.3 小型步进电机驱动电路 207

15.2 步进电机正转 207

15.2.1 硬件设计 207

15.2.2 程序设计 207

15.2.3 代码详解 209

15.2.4 模拟仿真 209

15.2.5 实例测试 210

15.2.6 经验总结 210

15.3 步进电机反转 210

15.3.1 程序设计 211

15.3.2 代码详解 212

15.3.3 模拟仿真 213

15.3.4 实例测试 213

15.3.5 经验总结 213

15.4 步进电机转速控制 213

15.4.1 程序设计 213

15.4.2 代码详解 215

15.4.3 模拟仿真 216

15.4.4 实例测试 216

15.4.5 经验总结 216

15.5 开关控制步进电机正反转 217

15.5.1 硬件设计 217

15.5.2 程序设计 217

15.5.3 代码详解 220

15.5.4 模拟仿真 222

15.5.5 实例测试 222

15.5.6 经验总结 222

51单片机C语言基础篇

第16章 单片机C语言入门 225

16.1 C语言与C51 225

16.1.1 C语言与C51 225

16.1.2 C语言编程的优点 225

16.1.3 C语言和汇编语言混合编程 225

16.2 学习C51的准备工作 226

16.2.1 计算机 226

16.2.2 51单片机C语言编译器 226

16.2.3 51编程器和实验板 226

16.3 单片机C语言程序开发流程 226

16.4 单片机C语言入门实例 227

16.4.1 程序工作原理 227

16.4.2 源程序 228

16.4.3 程序说明 228

16.5 单片机C语言编程特点 228

16.5.1 程序工作原理 228

16.5.2 用两种语言编写 229

16.5.3 C语言程序编写特点 230

16.6 单片机C程序的基本结构 231

16.6.1 主函数 231

16.6.2 函数 231

16.6.3 头文件 231

16.7 C51数据类型、常量与变量 232

16.7.1 C51的数据类型 232

16.7.2 常量 233

16.7.3 变量 234

16.7.4 数组 235

16.8 C51常用的运算符 235

16.8.1 赋值运算符 235

16.8.2 增量和减量运算符 236

16.8.3 关系运算符 236

16.8.4 逻辑运算符 236

16.8.5 位运算符 237

16.8.6 运算符的运算优先次序 239

16.9 C51流程控制语句 239

16.9.1 流程结构及其流程图 239

16.9.2 流程控制语句按功能分类 240

16.9.3 循环语句 241

16.9.4 选择语句 243

16.10 C51函数 244

16.10.1 C51函数定义的一般形式 245

16.10.2 C51库函数 246

16.10.3 C51中断函数 246

第17章 Keil C51的使用 248

17.1 Keil C51的安装 248

17.2 用Keil C51开发单片机 250

17.2.1 编写源程序 250

17.2.2 建立工程项目文件 251

17.2.3 产生可执行的HEX文件 255

17.3 Keil中的软件仿真 256

17.3.1 操作的一般步骤 257

17.3.2 仿真举例说明 258

17.3.3 几个常用命令使用区别 262

51单片机C语言实例篇

第18章 节日彩灯设计 265

18.1 彩灯闪烁 265

18.1.1 硬件设计 265

18.1.2 程序设计 266

18.1.3 代码详解 267

18.2 延时模块 267

18.2.1 延时原理 267

18.2.2 软件延时 267

18.2.3 利用定时器延时 268

18.3 彩灯由右向左侧逐渐点亮 269

18.3.1 程序设计 269

18.3.2 代码详解 270

18.4 单组彩灯循环左右移动 270

18.4.1 程序设计 270

18.4.2 代码详解 272

18.4.3 经验总结 273

18.5 采用制表方法实现彩灯变化 274

18.5.1 程序设计 274

18.5.2 代码详解 275

第19章 开关输入设计 277

19.1 单开关输入状态指示灯 277

19.1.1 硬件设计 277

19.1.2 程序设计 278

19.1.3 代码详解 278

19.1.4 经验总结 279

19.2 多路开关输入状态指示灯 279

19.2.1 硬件设计 279

19.2.2 程序设计 280

19.2.3 代码详解 281

19.3 多路开关控制灯 281

19.3.1 硬件设计 281

19.3.2 程序设计 282

19.3.3 代码详解 283

19.4 按钮开关次数显示灯 283

19.4.1 硬件设计 283

19.4.2 程序设计 283

19.4.3 代码详解 285

19.5 一键多功能控制 285

19.5.1 程序设计 285

19.5.2 代码详解 286

第20章 报警声设计 288

20.1 发出1kHz声音 288

20.1.1 硬件设计 288

20.1.2 程序设计 288

20.1.3 代码详解 289

20.2 发出嘀、嘀声 289

20.2.1 程序设计 290

20.2.2 代码详解 290

20.2.3 经验总结 291

20.3 救护车声 291

20.3.1 程序设计 291

20.3.2 代码详解 292

20.4 闹钟铃声 292

20.4.1 程序设计 292

20.4.2 代码详解 293

20.4.3 经验总结 293

20.5 发出20次的报警声 294

20.5.1 程序设计 294

20.5.2 代码详解 294

20.5.3 经验总结 295

20.6 警报的同时LED闪烁 295

20.6.1 硬件设计 295

20.6.2 程序设计 295

20.6.3 代码详解 296

第21章 交通灯信号控制 298

21.1 采用定时器延时 298

21.1.1 硬件设计 298

21.1.2 程序设计 299

21.1.3 代码详解 300

21.1.4 经验总结 300

21.2 灯交互闪烁 301

21.2.1 硬件设计 301

21.2.2 程序设计 301

21.2.3 代码详解 303

21.2.4 经验总结 303

21.3 交通信号灯控制 303

21.3.1 硬件设计 304

21.3.2 程序设计 304

21.3.3 代码详解 306

21.3.4 经验总结 307

21.4 改进的交通信号灯控制 307

21.4.1 硬件设计 307

21.4.2 程序设计 307

21.4.3 代码详解 310

21.4.4 经验总结 310

第22章 通信测试 311

22.1 发送一个字符 311

22.1.1 硬件设计 311

22.1.2 程序设计 311

22.1.3 代码详解 313

22.1.4 经验总结 313

22.2 发送一个字符串 313

22.2.1 程序设计 313

22.2.2 代码详解 315

22.2.3 经验总结 316

22.3 接收指令 316

22.3.1 程序设计 316

22.3.2 代码详解 317

22.3.3 经验总结 317

22.4 发送接收测试程序 317

22.4.1 程序设计 318

22.4.2 代码详解 319

22.4.3 经验总结 320

51单片机综合实例篇

第23章 时钟设计综合实例 323

23.1 简单时钟设计 323

23.1.1 学习单片机时钟设计目的 323

23.1.2 时钟结构与原理 324

23.1.3 走时功能的设计 325

23.1.4 显示部分的设计 326

23.1.5 调整时间部分的设计 328

23.1.6 喇叭和指示灯等子程序 330

23.1.7 时钟主程序 331

23.1.8 简单时钟程序清单 333

23.2 带定时功能的闹铃时钟设计 339

23.2.1 闹钟结构与原理 340

23.2.2 闹铃功能主要子程序 340

23.2.3 闹钟主程序 344

23.2.4 闹钟程序清单 346

23.3 带定时和倒计时功能的时钟设计 356

23.3.1 结构与原理 356

23.3.2 倒计时功能主要子程序 357

23.3.3 带倒计时闹钟程序清单 360

23.4 简单时钟的C语言程序设计 373

23.4.1 时钟结构和使用方法 373

23.4.2 走时功能的设计 373

23.4.3 显示功能的设计 374

23.4.4 调整时间功能的设计 375

23.4.5 按键扫描等其他函数 376

23.4.6 时钟主函数 377

23.4.7 简单时钟C语言程序清单 378

第24章 液晶显示应用实例 383

24.1 液晶显示秒表 383

24.1.1 硬件设计 383

24.1.2 程序设计 383

24.1.3 代码详解 393

24.1.4 操作说明 394

24.2 液晶显示温度控制器 395

24.2.1 硬件设计 395

24.2.2 程序设计 395

24.2.3 代码详解 414

24.2.4 操作说明 416

第25章 动手制作单片机实验板 417

25.1 制作实验板准备工作 417

25.1.1 制作实验板的目的 417

25.1.2 制作前的准备工作 418

25.1.3 焊接技巧 419

25.2 单片机外围常用元器件及其检测方法 420

25.2.1 发光二极管和LED数码管 420

25.2.2 三极管 421

25.2.3 电阻和电容 423

25.3 实验板制作过程 425

25.3.1 实验板功能简介 425

25.3.2 简单稳压电源的制作 427

25.3.3 单片机最小系统的制作 428

25.3.4 LED数码管显示模块的制作 429

25.3.5 其他实验电路的制作 430

25.3.6 单片机端口插针座连接线 433

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

附录B 数的制式转换表 441

附录C 光盘使用说明 442

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/31 13:55:35