《单片机的C语言应用程序设计 第6版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:马忠梅,李元章,王美刚,王拓著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2017
  • ISBN:9787512424777
  • 页数:362 页
图书介绍:本书是针对8051单片机和最流行的程序设计语言——C语言,讲解单片机的C语言应用程序设计的教材。现C51编译器支持经典8051和8051派生产品的版本,统称为Cx51。第6版增加了STC单片机的应用介绍。本书既可作为大专院校师生、培训班师生等的教材,也可作为从事单片机应用的技术人员的参考用书。

第1章 单片机基础知识 1

1.1 8051单片机的特点 1

1.2 8051单片机的内部结构 3

1.2.1 中央处理器 3

1.2.2 存储器组织 5

1.2.3 片内并行接口 8

1.2.4 内部资源 10

1.2.5 芯片引脚 11

1.2.6 单片机的工作方式 12

1.3 8051单片机的系统扩展 14

1.3.1 外部总线的扩展 14

1.3.2 外部程序存储器的扩展 16

1.3.3 外部数据存储器的扩展 18

1.4 8051单片机的指令系统 22

1.4.1 寻址方式 22

1.4.2 指令说明 23

1.4.3 伪指令 29

1.4.4 指令系统表 31

1.5 实用程序设计 35

习题一 38

第2章 C与8051 41

2.1 8051的编程语言 41

2.2 Cx51编译器 42

2.3 KEIL 8051开发工具 43

2.4 KEIL Cx51编程实例 46

2.5 Cx51程序结构 51

习题二 52

第3章 Cx51数据与运算 53

3.1 数据与数据类型 53

3.2 常量与变量 54

3.3 Cx51数据的存储类型 57

3.4 8051特殊功能寄存器(SFR)及其Cx51定义 59

3.5 8051并行接口的Cx51定义 62

3.6 位变量(BIT)的Cx51定义 63

3.7 Cx51运算符、表达式及其规则 64

3.7.1 Cx51算术运算符及其表达式 64

3.7.2 Cx51关系运算符、表达式及优先级 66

3.7.3 Cx51逻辑运算符、表达式及优先级 66

3.7.4 Cx51位操作及其表达式 68

3.7.5 自增减运算符、复合运算符及其表达式 73

习题三 74

第4章 Cx51流程控制语句 75

4.1 C语言程序的基本结构及其流程图 75

4.1.1 顺序结构及其流程图 75

4.1.2 选择结构及其流程图 75

4.1.3 循环结构及其流程图 76

4.2 选择语句 78

4.2.1 if语句 78

4.2.2 switch/case语句 80

4.3 循环语句 81

4.3.1 while语句 82

4.3.2 do while语句 83

4.3.3 for语句 84

习题四 86

第5章 Cx51构造数据类型 87

5.1 数组 87

5.1.1 一维数组 87

5.1.2 二维数组 90

5.1.3 字符数组 91

5.1.4 查表 92

5.1.5 数组与存储空间 93

5.2 指针 94

5.2.1 指针的基本概念 94

5.2.2 数组指针和指向数组的指针变量 98

5.2.3 指向多维数组的指针和指针变量 102

5.2.4 关于KEIL Cx51的指针类型 103

5.3 结构 105

5.3.1 结构的定义和引用 105

5.3.2 结构数组 108

5.4 共用体 108

5.5 枚举 110

习题五 112

第6章 Cx51函数 113

6.1 函数的分类 114

6.2 函数的定义 115

6.3 函数的参数和函数值 116

6.4 函数的调用 118

6.4.1 函数调用的一般形式 118

6.4.2 函数调用的方式 118

6.4.3 对被调用函数的说明 119

6.4.4 函数的嵌套和递归调用 120

6.4.5 函数的递归调用 121

6.4.6 用函数指针变量调用函数 122

6.5 数组、指针作为函数的参数 123

6.5.1 用数组作为函数的参数 123

6.5.2 用指向函数的指针变量作为函数的参数 124

6.5.3 返回指针的函数 127

习题六 128

第7章 模块化程序设计 129

7.1 基本概念 129

7.1.1 程序的组成 129

7.1.2 常用术语 129

7.1.3 文件命名常规 131

7.2 模块化程序开发 132

7.2.1 采用模块编程的优点 132

7.2.2 模块化程序开发过程 132

7.3 汇编和编译 133

7.3.1 使用汇编语言的模块化设计 133

7.3.2 使用C语言的模块化设计 136

7.4 覆盖和共享 138

7.4.1 覆盖 138

7.4.2 共享 138

7.5 库和链接器/定位器 139

7.5.1 库 139

7.5.2 链接器/定位器 140

7.6 混合编程 142

7.6.1 混合编程介绍 142

7.6.2 参数传递 143

7.6.3 混合编程实例 147

7.6.4 根据硬件环境的配置 150

7.7 程序优化 150

习题七 152

第8章 8051内部资源的C编程 153

8.1 中断 153

8.1.1 中断源 154

8.1.2 中断的控制 155

8.1.3 中断响应 156

8.1.4 寄存器组切换 158

8.1.5 中断编程 160

8.2 定时器/计数器 162

8.2.1 与T/C有关的特殊功能寄存器 163

8.2.2 定时器/计数器的工作方式 165

8.2.3 定时器/计数器的初始化 166

8.2.4 定时器/计数器应用实例 167

8.3 串行口 173

8.3.1 与串行口有关的SFR 174

8.3.2 串行口的工作方式 175

8.3.3 串行口的初始化 176

8.3.4 串行口应用范例 177

8.4 点对点的串行异步通信 181

8.4.1 通信双方的硬件连接 181

8.4.2 通信双方的约定 181

8.4.3 点对点通信编程 182

8.5 多机通信 185

8.5.1 通信接口 185

8.5.2 通信协议 185

8.5.3 通信程序 186

习题八 192

第9章 8051扩展资源的C编程 194

9.1 可编程外围并行接口芯片8255 194

9.1.1 8255的结构和引脚 194

9.1.2 8255的命令字和工作方式 195

9.1.3 8255与8051的接口 197

9.2 可编程外围并行接口芯片8155 198

9.2.1 8155的结构和引脚 198

9.2.2 8155的命令字、状态字及工作方式 200

9.2.3 8155与8051的接口 201

9.3 I2C总线扩展存储器 203

9.3.1 I2C总线简介 203

9.3.2 I2C总线的通信规约 204

9.3.3 串行I2C总线E2PRIM 24CXX 204

9.3.4 I2C总线的编程实现 209

习题九 212

第10章 8051输出控制的C编程 213

10.1 8位D/A芯片DAC0832 213

10.1.1 DAC0832的结构和引脚 213

10.1.2 8051与DAC0832的接口 214

10.2 步进电机控制 217

10.2.1 步进电机及其工作方式 217

10.2.2 步进电机与8051的接口 217

习题十 222

第11章 8051数据采集的C编程 223

11.1 8位A/D芯片ADC0809 223

11.1.1 ADC0809的结构和引脚 223

11.1.2 ADC0809与8051的接口 225

11.2 频率量的测量 226

11.2.1 测量频率法 226

11.2.2 测量周期法 228

习题十一 230

第12章 8051人机交互的C编程 231

12.1 键盘和数码显示 231

12.1.1 行列式键盘与8051的接口 231

12.1.2 七段数码显示与8051的接口 233

12.2 可编程键盘/显示接口芯片8279 235

12.2.1 8279内部结构和引脚 236

12.2.2 8279的命令字和状态字 238

12.2.3 8279与8051的接口 240

12.3 点阵型LCD显示模块 242

12.3.1 HD61830的特点和引脚 242

12.3.2 HD61830指令集 243

12.3.3 与内藏HD61830的液晶模块的接口和编程 246

习题十二 251

第13章 物联网数据采集 252

13.1 物联网简介 252

13.1.1 物联网的概念 252

13.1.2 物联网的体系结构 252

13.1.3 物联网的关键技术 253

13.1.4 物联网的发展现状与应用 254

13.1.5 物联网数据采集平台 255

13.2 CC2530基础 256

13.2.1 CC2530的结构及特性 256

13.2.2 通用数字I/O接口 264

13.2.3 外部I/O中断 265

13.2.4 定时器操作 266

13.2.5 ADC单次采样 279

13.2.6 USART串口通信 282

13.3 温湿度采集 289

13.3.1 温湿度传感器SHT10 289

13.3.2 TC77温度传感器 295

13.4 加速度传感器采集 297

13.4.1 加速度传感器MMA7360 297

13.4.2 加速度传感器ADXL345 300

13.5 RFID采集 304

13.6 反射式接近开关传感器 306

13.7 超声波测距 307

第14章 增强型8051系列STC15单片机 310

14.1 STC15单片机基础 310

14.1.1 STC15的结构及特性 310

14.1.2 时钟和复位 312

14.1.3 存储器 315

14.2 STC15单片机的内部资源 315

14.2.1 通用数字I/O接口 315

14.2.2 外部中断 316

14.2.3 定时器操作 320

14.2.4 ADC单次采样 322

14.2.5 UART串行口通信 324

14.2.6 脉宽调制PWM 327

14.3 STC15单片机扩展资源 332

14.3.1 LED显示 332

14.3.2 SPI接口双机通信 334

14.3.3 温湿度传感器DHT11 339

14.3.4 加速度传感器MMA7660采集 344

14.3.5 加速度传感器ADXL345采集 349

14.3.6 陀螺仪MPU-6050采集 351

附录 预处理 355