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

  • 购买积分:14 如何计算积分?
  • 作  者:陆彬等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121106231
  • 页数:412 页
图书介绍:本书分为四篇,共25章,全面详细地讲述了单片机的原理、程序设计方法、编程指南及应用案例。

第1章 51系列单片机概述(教学视频:33分钟) 21

1.1 51系列单片机概述 21

1.1.1 单片机的发展历史 21

1.1.2 51系列单片机简介 22

1.1.3 51系列单片机的应用领域 22

1.1.4 51系列单片机的发展方向 23

1.2 典型引脚结构 23

1.2.1 电源引脚 24

1.2.2 时钟引脚 24

1.2.3 并行I/O引脚 25

1.2.4 复位引脚 28

1.2.5 ALE/?引脚 29

1.2.6 ?引脚 29

1.2.7 ?/VPP引脚 29

1.3 51系列单片机内部结构 30

1.4 中央处理器结构 32

1.4.1 算术逻辑部件(ALU) 32

1.4.2 控制器 32

1.4.3 通用寄存器 32

1.4.4 专用寄存器 33

1.4.5 特殊功能寄存器 35

1.5 存储器结构 36

1.5.1 程序存储器 36

1.5.2 扩展外部程序存储器 37

1.5.3 数据存储器 37

1.5.4 扩展外部数据存储器 39

1.6 单片机指令时序 40

1.6.1 几个基本概念 40

1.6.2 指令执行的时序 41

1.6.3 访问外部ROM的操作时序 43

1.6.4 访问外部RAM的操作时序 44

1.7 掉电保护 44

1.8 低功耗模式 45

1.8.1 省电保持模式 45

1.8.2 休眠运行模式 45

1.9 小结 46

1.10 习题 46

第2章 搭建51单片机开发环境(教学视频:29分钟) 48

2.1 搭建51单片机硬件开发系统 48

2.1.1 单片机选型 48

2.1.2 一个单片机最小开发系统 49

2.2 搭建Keil C51软件开发环境 50

2.2.1 Keil μVision3简介 50

2.2.2 Keil μVision3系统安装需求 51

2.2.3 Keil μVision3的安装 51

2.2.4 Keil μVision3集成开发环境总揽 52

2.2.5 Keil μVision3的菜单栏 53

2.2.6 Keil μVision3的工具栏 56

2.2.7 Keil μVision3的快捷键 59

2.3 小结 59

2.4 习题 60

第3章 单片机汇编语言(教学视频:46分钟) 61

3.1 单片机汇编语言概述 61

3.1.1 单片机汇编语言简介 61

3.1.2 简单的单片机汇编语言程序 62

3.2 伪指令 62

3.2.1 起始伪指令ORG 62

3.2.2 结束伪指令END 63

3.2.3 等值伪指令EQU 63

3.2.4 地址赋值伪指令DATA 63

3.2.5 字节保存伪指令DB 63

3.2.6 字保存伪指令DW 64

3.2.7 空间预留伪指令DS 64

3.2.8 位变量伪指令BIT 64

3.3 单片机的指令 65

3.3.1 单片机指令系统简介 65

3.3.2 单片机指令格式 65

3.3.3 单片机指令的寻址方式 66

3.3.4 51系列单片机指令集 69

3.5 单片机汇编语言的程序结构 75

3.5.1 顺序结构 75

3.5.2 分支结构 76

3.5.3 循环结构 77

3.5.4 子程序结构 78

3.5.5 查表程序结构 79

3.6 Keil μVision3使用单片机汇编程序 80

3.6.1 创建项目 80

3.6.2 编辑源文件 82

3.6.3 编译项目 82

3.6.4 仿真调试 83

3.7 综合练习 83

3.8 小结 84

3.9 习题 85

第4章 单片机C51语言基础(教学视频:69分钟) 87

4.1 单片机C51语言概述 87

4.1.1 单片机C51语言的主要特点 87

4.1.2 “Hello world”程序 87

4.1.3 良好的编程规范 88

4.2 标识符和关键字 89

4.2.1 标识符 89

4.2.2 关键字 89

4.3 数据类型 91

4.3.1 变量和常量 91

4.3.2 整型数据 92

4.3.3 字符型数据 93

4.3.4 浮点型数据 95

4.4 分隔符 96

4.5 const修饰符 96

4.6 变量作用域 97

4.6.1 一般规则 97

4.6.2 不同存储类型变量的作用域 98

4.7 运算符 100

4.7.1 算术运算符 100

4.7.2 逻辑运算符 102

4.7.3 关系运算符 103

4.7.4 位运算符 104

4.7.5 特殊运算符 107

4.7.6 运算符的优先级 111

4.7.7 运算符的结合性 111

4.8 表达式 111

4.8.1 算术表达式 112

4.8.2 赋值表达式 112

4.8.3 逗号表达式 113

4.8.4 关系和逻辑表达式 113

4.9 综合练习 114

4.10 小结 115

4.11 习题 115

第5章 C51的语句(教学视频:32分钟) 117

5.1 声明语句 117

5.2 表达式语句 117

5.3 复合语句 118

5.4 循环语句 119

5.4.1 for语句 119

5.4.2 while语句 120

5.4.3 do-while语句 121

5.5 条件语句 122

5.5.1 单分支if语句 122

5.5.2 双分支if语句 123

5.5.3 多分支if语句 124

5.6 开关语句 125

5.7 跳转语句 126

5.7.1 goto语句 126

5.7.2 break语句 127

5.7.3 continue语句 128

5.8 函数调用语句 128

5.9 空语句 129

5.10 返回语句 129

5.11 综合练习 130

5.12 小结 131

5.13 习题 131

第6章 C51的数组(教学视频:48分钟) 133

6.1 数组的声明和表示 133

6.2 初始化数组元素 135

6.2.1 在声明数组时初始化 135

6.2.2 动态初始化 136

6.3 一维数组 136

6.3.1 一维数组的内存分配 136

6.3.2 一维数组的引用 137

6.3.3 一维字符串数组 138

6.4 二维数组 139

6.4.1 二维数组的声明 139

6.4.2 二维数组的初始化 140

6.4.3 二维数组的内存分配 141

6.4.4 二维字符串数组 142

6.5 多维数组 143

6.6 综合练习 144

6.7 小结 145

6.8 习题 145

第7章 C51的指针(教学视频:71分钟) 147

7.1 地址和指针概述 147

7.2 指针变量的声明 147

7.3 指针变量的赋值 148

7.3.1 在声明时赋值 148

7.3.2 动态赋值 148

7.3.3 指针变量之间传递 149

7.3.4 特殊的指针变量赋值——数组 149

7.3.5 特殊的指针变量赋值——字符串 149

7.3.6 特殊的指针变量赋值——函数入口 150

7.4 指针变量的运算符 150

7.4.1 取地址运算符& 150

7.4.2 取值运算符* 150

7.4.3 指针变量的运算 151

7.5 特殊的指针类型——数组指针 152

7.5.1 指向一维数组的指针 153

7.5.2 指向二维数组的指针 154

7.5.3 指向一个由n个元素所组成的数组指针 155

7.5.4 指针和数组的关系总结 156

7.5.5 数组指针和指针数组 157

7.6 特殊的指针类型——字符指针 158

7.7 综合练习 159

7.8 小结 160

7.9 习题 160

第8章 C51的结构(教学视频:35分钟) 162

8.1 结构的声明 162

8.1.1 定义结构 162

8.1.2 声明结构变量 163

8.2 结构变量的初始化 164

8.3 结构变量的使用 166

8.4 结构数组 167

8.4.1 定义结构数组 167

8.4.2 初始化结构数组 168

8.5 结构指针 169

8.5.1 定义结构指针 169

8.5.2 使用结构指针 170

8.5.3 指向结构数组的结构指针 171

8.6 嵌套结构 172

8.7 位结构 173

8.8 综合练习 174

8.9 小结 175

8.10 习题 176

第9章 C51的聚合类型(教学视频:46分钟) 178

9.1 联合类型 178

9.1.1 联合的定义 178

9.1.2 联合变量的声明 178

9.1.3 联合变量成员的引用 180

9.1.4 联合变量数组 180

9.1.5 联合变量指针 181

9.1.6 联合和结构的嵌套与区别 182

9.2 枚举类型 183

9.2.1 定义枚举类型 184

9.2.2 声明枚举变量 184

9.2.3 枚举变量的赋值和引用 185

9.3 类型声明 186

9.4 位域 187

9.4.1 定义位域 188

9.4.2 声明位域变量 189

9.4.3 位域变量的引用 189

9.4.4 位域指针 190

9.5 综合练习 191

9.6 小结 192

9.7 习题 192

第10章 C51的函数(教学视频:56分钟) 193

10.1 函数 193

10.1.1 函数概述 193

10.1.2 函数的分类 193

10.1.3 main函数 195

10.2 函数的声明 195

10.2.1 函数声明一 195

10.2.2 函数声明二 196

10.2.3 函数声明三 197

10.3 函数的参数和返回值 198

10.3.1 形参和实参 198

10.3.2 数组元素作为函数参数 199

10.3.3 数组名作为函数参数 200

10.3.4 二维数组作为函数参数 200

10.3.5 指针变量作为函数参数 201

10.3.6 函数的返回值 202

10.4 函数的调用 202

10.4.1 函数调用的方式 202

10.4.2 赋值调用 203

10.4.3 引用调用 203

10.4.4 递归调用 204

10.4.5 嵌套调用 205

10.5 作用域 206

10.5.1 函数的作用域 206

10.5.2 函数代码的作用域 207

10.5.3 函数内部变量的作用域 207

10.6 C51常用库函数 207

10.6.1 字符函数库 208

10.6.2 字符串函数库 220

10.6.3 输入/输出函数库 235

10.6.4 数学函数库 245

10.6.5 标准函数库 250

10.6.6 内部函数库 257

10.7 综合练习 260

10.8 小结 261

10.9 习题 261

第11章 C51的预处理(教学视频:36分钟) 263

11.1 预处理命令概述 263

11.2 宏定义指令 264

11.2.1 #define指令 264

11.2.2 带参数的#define指令 265

11.2.3 #undef指令 266

11.3 文件包含指令 267

11.3.1 #include指令 267

11.3.2 常用的头文件 268

11.4 条件编译指令 269

11.4.1 双分支条件编译指令 269

11.4.2 多分支条件编译指令 270

11.4.3 宏名判断指令 270

11.5 其他预处理指令 271

11.5.1 #line指令 271

11.5.2 #error指令 272

11.5.3 #pragma指令 273

11.6 综合练习 273

11.7 小结 274

11.8 习题 274

第12章 C51的存储结构(教学视频:40分钟) 276

12.1 单片机存储结构 276

12.1.1 51系列单片机的存储区域 276

12.1.2 片内低128字节RAM区 276

12.1.3 特殊功能寄存器区(SFR) 277

12.2 存储类型 277

12.2.1 data存储类型 277

12.2.2 bdata存储类型 278

12.2.3 idata存储类型 278

12.2.4 pdata存储类型 279

12.2.5 xdata存储类型 279

12.2.6 code存储类型 279

12.2.7 sfr存储类型 280

12.2.8 sfr16存储类型 280

12.2.9 sbit存储类型 280

12.2.10 bit型变量 281

12.3 存储模式 281

12.3.1 Small模式 282

12.3.2 Compact模式 282

12.3.3 Large模式 282

12.3.4 存储模式的选择 282

12.4 存储器指针 283

12.4.1 指针存储类型 283

12.4.2 存储器指针 284

12.5 综合练习 285

12.6 小结 286

12.7 习题 286

第13章 51系列单片机的定时器/计数器(教学视频:53分钟) 288

13.1 单片机的定时器/计数器 288

13.1.1 定时器/计数器的概述 288

13.1.2 定时器/计数器的控制寄存器 289

13.1.3 定时器/计数器的初始化 292

13.2 定时器/计数器工作模式0及其程序设计 292

13.3 定时器/计数器工作模式1及其程序设计 294

13.4 定时器/计数器工作模式2及其程序设计 296

13.5 定时器/计数器工作模式3及其程序设计 297

13.6 综合练习 299

13.7 小结 301

13.8 习题 301

第14章 51系列单片机的中断系统(教学视频:62分钟) 302

14.1 中断系统概述 302

14.1.1 中断概述 302

14.1.2 中断的典型概念 303

14.2 单片机中断的类型 304

14.2.1 外部中断源 304

14.2.2 定时中断源 304

142.3 串行中断源 304

14.3 中断系统的程序访问 305

14.3.1 中断标志控制寄存器TCON 305

14.3.2 中断标志控制寄存器SCON 306

14.3.3 中断允许标志寄存器IE 306

14.3.4 中断优先级标志寄存器IP 307

14.4 中断的响应过程 308

14.4.1 中断识别 308

14.4.2 中断响应 309

14.4.3 中断处理 310

14.4.4 中断撤离 310

14.5 外部中断源及其程序设计 310

14.6 定时中断源及其程序设计 311

14.7 串行中断源及其程序设计 312

14.8 综合练习 313

14.9 小结 314

14.10 习题 315

第15章 51系列单片机的串行接口(教学视频:66分钟) 316

15.1 串行通信概述 316

15.1.1 串行通信与并行通信 316

15.1.2 异步串行通信与同步串行通信 317

15.1.3 异步串行通信的波特率 318

15.1.4 串行通信的数据传送方式 318

15.2 51系列单片机的串行接口 319

15.2.1 单片机串行接口的内部结构 319

15.2.2 串行接口控制寄存器SCON 320

15.2.3 波特率选择寄存器PCON 322

15.2.4 波特率的程序设计 323

15.3 串行接口工作模式0及其程序设计 325

15.4 串行接口工作模式1及其程序设计 326

15.5 串行接口工作模式2及其程序设计 328

15.6 串行接口工作模式3及其程序设计 329

15.7 综合练习 330