《从零开始学51单片机》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:贺亮编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121174995
  • 页数:270 页
图书介绍:本书共分5篇。第1篇介绍单片机的发展史、应用领域、编程器的制作和STC烧录工具的使用;第2篇介绍51单片机C语言编程中常用的数据类型、运算符与表达式、流程控制语句、函数、数组和指针、结构体与共用体等;第3篇包括单片机的I/O编程、中断系统、定时器/计数器、USART通用串行接口、片内EEPROM和看门狗;第4篇包括第2通用串行接口USART2、同步外围串行接口SPI、PWM脉宽调制、A/D转换;第5篇详细介绍了整个系统的开发过程,以提高读者实战水平。

第1篇 入门与提高 1

第1章 认识51系列单片机 (教学视频:11分钟) 1

1.1单片机的发展史 1

1.2单片机的应用 1

1.3 51单片机的开发环境—— Keil μVision 2

1.4快速掌握单片机的开发要点 2

1.5 STC89C51RC/RD+系列单片机 3

1.5.1 STC89C51系列单片机选型 3

1.5.2常见的封装类型 4

1.6 STC89C51RC/RD+系列单片机的 外部引脚 5

1.7小结 6

1.8习题 6

第2章 开发环境的搭建 (教学视频:43分钟) 7

2.1软件开发环境 7

2.1.1安装Keil C μVision 3 开发环境 7

2.1.2增加对STC型号的支持 8

2.1.3建立第一个工程 9

2.1.4开发中经常用到的功能 13

2.2必要的硬件环境 22

2.2.1 10元DIY单片机最小 系统 22

2.2.2动手制作一个编程器 24

2.3 STC烧录工具 25

2.4小结 26

2.5习题 27

第2篇 51单片机C语言编程 28

第3章 单片机C语言的基本数据类 (教学视频:17分钟) 28

3.1常量与变量 28

3.2基本数据类型 29

3.2.1整型 29

3.2.2长整型 30

3.2.3字符型 30

3.2.4位类型 30

3.2.5浮点数 31

3.2.6双精度浮点数 32

3.3小结 32

3.4习题 32

第4章 运算符与表达式 (教学视频:31分钟) 33

4.1算术运算符与表达式 33

4.2关系运算符与表达式 34

4.3逻辑运算符与表达式 35

4.4位运算符与表达式 36

4.5赋值运算符与表达式 37

4.6小结 38

4.7习题 38

第5章 流程控制 (教学视频:61分钟) 39

5.1条件语句if 39

5.1.1条件语句if的3种表达方式 39

5.1.2条件语句if嵌套 43

5.2开关语句switch…case 45

5.2.1开关语句的语法格式 45

5.2.2开关语句的执行过程 45

5.2.3注意事项 47

5.3循环语句for 47

5.3.1循环语句for的语法格式 48

5.3.2循环语句for的执行过程 48

5.3.3循环语句for嵌套 49

5.4另一种循环语句while和 do…while 51

5.4.1循环语句while和 do…while的语法格式 51

5.4.2循环语句while和 do…while的执行过程 51

5.5无条件跳转语句goto 53

5.6中断语句break/continue 55

5.6.1中断语句break 55

5.6.2中断语句continue 56

5.7小结 58

5.8习题 58

第6章 函数 (教学视频:57分钟) 59

6.1定义函数的一般形式 59

6.2函数的参数和返回值 60

6.2.1函数的参数 60

6.2.2函数的返回值 61

6.3函数的调用 62

6.3.1被调函数的声明 62

6.3.2函数语句调用 63

6.3.3函数表达式调用 63

6.3.4作为函数的参数调用 64

6.3.5函数的嵌套调用 64

6.3.6函数的递归调用 66

6.4单片机的特殊函数——中断函数 67

6.5小结 68

6.6习题 68

第7章 数组与指针 (教学视频:52分钟) 69

7.1数组 69

7.1.1一维数组 69

7.1.2二维数组与多维数组 71

7.2指针 73

7.2.1指针的概念 73

7.2.2定义和引用指针变量 73

7.2.3指针和数组 74

7.3小结 76

7.4习题 76

第8章 结构体与共用体 (教学视频:29分钟) 77

8.1结构体 77

8.1.1什么是结构体 77

8.1.2定义结构体变量 77

8.1.3结构体变量的初始化 79

8.1.4使用结构体 80

8.1.5指向结构体类型数据的 指针 80

8.1.6将结构指针变量作为函数 的参数 81

8.2共用体 82

8.2.1什么是共用体 82

8.2.2定义共用体变量 83

8.2.3使用共用体 84

8.3小结 85

8.4习题 85

第3篇51单片机开发实战 86

第9章I/O端口编程 (教学视频:42分钟) 86

9.1 STC89C51RC-RD+系列单片机的 I/O端口 86

9.2 I/O端口的工作模式 87

9.2.1准双向口/弱上拉模式 87

9.2.2输入/高阻模式 87

9.2.3输出/开漏模式 88

9.2.4配置I/O的工作模式 88

9.3 I/O输出实验 89

9.3.1从点亮一个LED开始 89

9.3.2闪动的LED 90

9.3.3点亮更多的LED 91

9.3.4点亮数码管 94

9.3.5动态点亮数码管 96

9.3.6控制3-8译码器 99

9.4 I/O输入实验 102

9.4.1分离式按键 102

9.4.2模拟实现计数器 104

9.4.3矩阵键盘 107

9.5小结 111

9.6习题 111

第10章 中断系统和外部中断 (教学视频:55分钟) 112

10.1中断的基本知识 112

10.1.1什么是中断 112

10.1.2使用中断的好处 112

10.2中断源 112

10.3中断寄存器 113

10.3.1中断使能寄存器 113

10.3.2中断优先级寄存器 114

10.3.3定时器控制寄存器、外部 中断标志 116

10.3.4串行口控制寄存器 117

10.4中断优先级 118

10.5使用外部中断检测按键 118

10.5.1低电平触发方式 119

10.5.2下降沿触发方式 121

10.6使用外部中断设计运动限位 装置 122

10.6.1硬件电路原理图 122

10.6.2代码实现 123

10.7小结 125

10.8习题 125

第11章 定时器/计数器 (教学视频:65分钟) 126

11.1定时器/计数器介绍 126

11.2与定时器/计数器的有关的 寄存器 126

11.2.1工作方式寄存器TMOD 126

11.2.2控制寄存器TCON 127

11.2.3初值寄存器THx、TLx 127

11.3定时器的工作模式 128

11.3.1模式0 128

11.3.2模式1 128

11.3.3模式2 (8位自动重装 模式) 129

11.3.4模式3 130

11.4定时器中断实验 130

11.4.1定时器秒表实验电路 原理图 130

11.4.2秒表实验控制流程 131

11.4.3代码实现 133

11.5简易电子琴演奏实验 135

11.5.1电子琴实验的电路 原理图 136

11.5.2代码实现 136

11.6小结 139

11.7习题 139

第12章USART通用串行口通信 (教学视频:67分钟) 140

12.1通用串行口介绍 140

12.2与通用串行口有关的寄存器 140

12.2.1电源控制寄存器PCON 140

12.2.2串行口控制寄存器 SCON 141

12.2.3数据缓存寄存器SBUF 141

12.2.4中断控制位ES 142

12.3通用串行口的工作模式 142

12.3.1模式0:同步移位寄存器 模式 142

12.3.2模式1:波特率可变的8 位数据异步收发 142

12.3.3模式2:波特率固定的9 位数据异步收发 143

12.3.4模式3:波特率可变的9 位数据异步收发 143

12.4计算波特率 143

12.5通过串行口和PC通信 144

12.5.1串行口通信规范 144

12.5.2串行口实验电路 145

12.5.3实验控制流程 145

12.5.4通信协议 147

12.5.5代码实现 147

12.6单片机串行口远距离通信 151

12.6.1 RS-485简介 151

12.6.2 485通信的实验电路 152

12.6.3代码实现 153

12.7小结 156

12.8习题 156

第13章 访问内部EEPROM (教学视频:51分钟) 157

13.1 EEPROM介绍 157

13.2 EEPROM的地址 157

13.3与EEPROM有关的寄存器 158

13.4 EEPROM的常用操作 159

13.4.1定义相关寄存器 159

13.4.2读操作 159

13.4.3扇区擦除操作 159

13.4.4写操作 160

13.5 EEPROM应用实例 160

13.6掉电时保存数据到EEPROM 162

13.6.1实验电路图 162

13.6.2代码实现 164

13.7小结 167

13.8习题 167

第14章 看门狗WDT (教学视频:14分钟) 168

14.1看门狗WDT介绍 168

14.2看门狗控制寄存器 WDT CONTR 168

14.3看门狗溢出时间 169

14.4测试看门狗 169

14.5小结 171

14.6习题 171

第4篇 更多功能的单片机 172

第15章STC12C5A60S2系列单片机 (教学视频:11分钟) 172

15.1 STC12C5A60S2系列单片机 介绍 172

15.2 STC12C5A60S2系列单片机外部 引脚 172

15.3过渡到STC12C5A60S2系列的 要点 175

15.4小结 176

15.5习题 176

第16章 通用串行接口USART2 (教学视频:35分钟) 177

16.1与通用串行口2有关的寄存器 177

16.1.1控制寄存器S2CON 177

16.1.2数据缓冲寄存器S2BUF 178

16.1.3独立波特率发生寄存器 BRT 178

16.1.4辅助寄存器AUXR 178

16.1.5与串行口2中断有关的 寄存器 178

16.1.6辅助寄存器1, AUXR1 179

16.2使用串行口2与PC通信 179

16.2.1串行口2实验电路 179

16.2.2使用串行口2的步骤 180

16.2.3代码实现 180

16.3使用双串行口设计RS-485双向 中继器 184

16.3.1 RS-485双向中继器的 实验电路 184

16.3.2代码实现 185

16.4小结 188

16.5习题 189

第17章 同步外围串行接口SPI (教学视频:35分钟) 190

17.1 SPI简介 190

17.2与SPI有关的寄存器 190

17.2.1 SPI控制寄存器SPCTL 190

17.2.2 SPI状态寄存器 SPSTAT 191

17.2.3 SPI数据寄存器SPDAT 191

17.2.4辅助寄存器1,AUXR1 191

17.3 SPI接口的通信方式 192

17.3.1单主—单从方式 192

17.3.2双器件互为主从方式 192

17.3.3单主—多从方式 193

17.4注意事项 194

17.4.1作为主机的注意事项 194

17.4.2作为从机的注意事项 194

17.4.3总线争夺 194

17.4.4写冲突 194

17.5双CPU单主、单从通信实验 195

17.6小结 198

17.7习题 199

第18章PWM脉宽调制( 教学视频:45分钟) 200

18.1 PWM简介 200

18.2与PWM有关的寄存器 200

18.2.1 PCA工作模式寄存器 CMOD 201

18.2.2 PCA控制寄存器 CCON 201

18.2.3 PCA捕获/比较寄存器 CAPM0和CCAPM1 202

18.2.4 PCA的16位计数寄存器 CL、 CH 202

18.2.5 PCA捕捉/比较寄存器 CCAPnL、 CCAPnH 202

18.2.6 PWM寄存器PCA PWM0、 PCA PWM1 202

18.2.7辅助寄存器AUX1. 203

18.3 PWM的设置 203

18.4输出PWM的测试程序 204

18.4.1实验电路 204

18.4.2控制思想 205

18.4.3代码实现 205

18.5使用PWM方式控制步进电机 208

18.5.1步进电机的工作原理 208

18.5.2实验电路 209

18.5.3代码实现 209

18.6小结 215

18.7习题 215

第19章A/D转换 (教学视频:39分钟) 216

19.1 A/D转换简介 216

19.2与A/D转换相关的寄存器 216

19.2.1 P1口模拟功能控制 寄存器P1ASF 216

19.2.2 ADC控制寄存 ADC CONTR 216

19.2.3 A/D转换结果寄存器 ADC RES/ADC RESL 217

19.2.4与A/D中断有关的 寄存器 218

19.3用A/D转换器检测电压实验 218

19.3.1实验电路 218

19.3.2代码实现 219

19.4使用A/D转换检测挡位开关 222

19.4.1检测原理与实验电路 222

19.4.2代码实现 223

19.5 A/D转换误差问题 226

19.6小结 227

19.7习题 228

第5篇51单片机统合应用实例 229

第20章 综合应用实例 229

20.1需求分析 229

20.1.1系统结构 229

20.1.2技术要求 230

20.2系统设计 230

20.2.1硬件电路设计 230

20.2.2需要用到的单片机资源 232

20.2.3软件设计思路 232

20.3各子系统的工作流程 234

20.3.1数据接收子系统、协议 管理子系统 234

20.3.2终端地址的使用与维护 236

20.3.3集体上传控制 237

20.3.4 I/O处理子系统和工厂 模式 238

20.3.5电源管理子系统 240

20.4软件编程、系统实现 241

20.4.1完整的源代码 241

20.4.2初始化部分代码 259

20.4.3按键检测部分代码 261

20.4.4地址管理部分代码 262

20.4.5电压检测部分代码 264

20.4.6串行口接收数据、处理 协议的部分代码 265

20.4.7休眠和唤醒的部分代码 267

20.5小结 268

20.6习题 268