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

  • 购买积分:13 如何计算积分?
  • 作  者:马忠梅等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2007
  • ISBN:7810779729
  • 页数:353 页
图书介绍:本书针对目前最通用的单片机8051和最流行的程序设计语言--C语言,结合KEIL公司8051单片机开发套件介绍单片机的C语言应用程序设计。该套件的编译器有支持经典8051和8051派生产品的版本,统称为Cx51。全书共13章,既有单片机的基础部分;Cx51的基础部分:数据与运算、流程控制语句、构造数据类型及函数与程序结构;又有Cx51的应用部分:内部资源、扩展资源、输出控制、数据采集、机间通信及人机交互的C编程。

第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 8051的内部资源 10

1.2.5 8051的芯片引脚 11

1.2.6 单片机的工作方式 12

1.3.1 外部总线的扩展 14

1.3 8051的系统扩展 14

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

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

1.4 8051指令系统 22

1.4.1 寻址方式 22

1.4.2 指令说明 23

1.4.3 伪指令 30

1.4.4 指令系统表 31

1.5 实用程序设计 36

习题一 38

2.1 8051的编程语言 41

2.2 Cx51编译器 42

2.3 KEIL 8051开发工具 43

2.4 KEIL Cx51编程实例 48

2.5 Cx51程序结构 53

习题二 54

第3章 Cx51数据与运算 55

3.1 数据与数据类型 55

3.2 常量与变量 56

3.3 Cx51数据的存储类型与8051存储器结构 59

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

3.5 8051并行接口及其Cx51定义 66

3.6 位变量(BIT)及其Cx51定义 68

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

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

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

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

3.7.4 Cx51位操作及其表达式 73

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

习题三 79

4.1.1 顺序结构及其流程图 80

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

4.1.2 选择结构及其流程图 80

第4章 Cx51流程控制语句 80

4.1.3 循环结构及其流程图 81

4.2 选择语句 83

4.2.1 选择语句if 83

4.2.2  switch/case语句 86

4.3 循环语句 87

4.3.1 while语句 88

4.3.2 do while语句 89

4.3.3 for循环语句 90

习题四 93

5.1 数组 94

5.1.1 一维数组 94

第5章 Cx51构造数据类型 94

5.1.2 二维数组 97

5.1.3 字符数组 99

5.1.4 查表 100

5.2 指针 101

5.2.1 指针的基本概念 101

5.1.5 数组与存储空间 101

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

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

5.2.4 关于KEIL Cx51的指针类型 110

5.3 结构 112

5.3.1 结构的定义和引用 112

5.3.2 结构数组 116

5.3.3 指向结构类型数据的指针 117

5.4 共用体 120

5.5 枚举 121

习题五 123

第6章 Cx51函数 125

6.1 函数的分类 125

6.2 函数的定义 126

6.3 函数的参数和函数值 128

6.4.1 函数调用的一般形式 129

6.4.2 函数调用的方式 129

6.4 函数的调用 129

6.4.3 对被调用函数的说明 130

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

6.4.5 函数的递归调用 132

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

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

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

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

6.5.3 用指向结构的指针变量作为函数的参数 139

6.5.4 返回指针的函数 140

习题六 142

7.1.1 程序的组成 143

7.1 基本概念 143

7.1.2 常用术语 143

第7章 模块化程序设计 143

7.1.3 文件命名常规 145

7.2.1 采用模块编程的优点 146

7.2.2 模块化程序开发过程 146

7.2 模块化程序开发 146

7.3 汇编和编译 147

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

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

7.4.1 覆盖 152

7.4.2 共享 152

7.4 覆盖和共享 152

7.5.1 库 154

7.5.2 链接器/定位器 154

7.5 库和链接器/定位器 154

7.6 混合编程 160

7.6.1 混合编程介绍 160

7.6.2 参数传递 161

7.6.3 混合编程实例 166

7.6.4 根据硬件环境的配置 171

7.7 程序优化 171

习题七 172

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

8.1 中断 173

8.1.1 中断源 174

8.1.2 中断的控制 175

8.1.3 中断响应 176

8.1.4 寄存器组切换 178

8.1.5 中断编程 180

8.2 定时器/计数器 182

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

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

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

8.2.4 定时器/计数器的应用实例 187

8.3 串行口 193

8.3.1 与串行口有关的SFR 194

8.3.2 串行口的工作方式 195

8.3.3 串行口初始化 196

8.3.4 串行口应用范例 197

习题八 204

9.1 可编程外围定时器8253 205

9.1.1 8253的结构和引脚 205

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

9.1.2 8253的工作方式和控制字 206

9.1.3 8253与8051的接口 208

9.2 可编程外围并行接口8255 210

9.2.1 8255的结构和引脚 210

9.2.2 8255的命令字和工作方式 211

9.2.3 8255与8051的接口 213

9.3 可编程接口芯片8155 214

9.3.1 8155的结构和引脚 214

9.3.2 8155的命令字、状态字及工作方式 216

9.3.3 8155与8051的接口 217

9.4 I2C总线扩展存储器 219

9.4.1 I2C总线简介 219

9.4.2 I2C总线的通信规约 220

9.4.3 串行I2C总线E2PROM 24CXX 220

9.4.4 I2C总线的编程实现 225

习题九 228

10.1 8位D/A芯片DAC0832 229

10.1.1 DAC0832的结构和引脚 229

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

10.1.2 8051与DAC0832的接口电路 230

10.2.1 AD7521的引脚 233

10.2.2 AD7521与8051的接口 233

10.2 12位D/A芯片AD7521 233

10.3.1 步进电机及其工作方式 235

10.3.2 步进电机与单片机的接口 235

10.3 步进电机控制 235

习题十 240

11.1 8位A/D芯片ADC0809 241

11.1.1 ADC0809的结构和引脚 241

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

11.1.2 ADC0809与8051的接口 243

11.2 12位A/D芯片AD574 244

11.2.1 AD574的结构和引脚 244

11.2.2 AD574与8051的接口 246

11.3 V/F变换芯片AD650 248

11.4 频率量的测量 251

11.4.1 测量频率法 251

11.4.2 频率脉冲的测量周期法 253

习题十一 255

12.1.1 通信双方的硬件连接 256

12.1 点对点的串行异步通信 256

12.1.2 通信双方的约定 256

第12章 8051机间通信的C编程 256

12.1.3 点对点通信编程 258

12.2.1 通信接口 260

12.2.2 通信协议 260

12.2 多机通信 260

12.2.3 通信程序 261

习题十二 267

13.1 键盘和数码显示 268

13.1.1 行列式键盘与8051的接口 268

第13章 8051人机交互的C编程 268

13.1.2 七段数码显示与8051的接口 270

13.2 可编程键盘/显示接口芯片8279 273

13.2.1 8279内部结构和引脚 273

13.2.2 8279的命令字和状态字 275

13.2.3 8279和8051的接口 278

13.3.1 TPμp打印机的接口信号 280

13.3.2 字符代码和汉字 280

13.3 TPμp打印机 280

13.3.3 打印命令 282

13.3.4 TPμp-TF与8051的接口和编程 284

13.4 字符型LCD显示模块 286

13.4.1 字符型LCD的结构和引脚 286

13.4.2 显示板控制器的指令系统 288

13.4.3 LCD显示板与单片机的接口和编程 290

13.5 点阵型LCD显示模块 292

13.5.1 HD61830的特点和引脚 292

13.5.2 HD61830指令集 293

13.5.3 与内藏HD61830的液晶模块的接口和编程 296

习题十三 301

附录A μVision2集成开发环境使用 302

A.1 菜单栏命令 302

A.2 创建应用 308

A.2.1 创建项目 308

A.2.2 项目目标和文件组 313

A.3 调试程序 314

A.3.1 μVision2调试器 314

A.3.2 HELLO:第一个80C51 C程序 319

附录B KEIL Cx51上机指南 323

B.1 编译器 323

B.1.1 Cx51编译器控制命令 324

B.1.2 预处理器 333

B.1.3 Cx51运行库 334

B.2 Ax51宏汇编器 344

B.2.1 汇编伪指令 344

B.2.2 汇编控制命令 347

B.3 链接器/定位器和实用工具 348

B.3.1 链接器/定位器的控制命令 348

B.3.2 库管理器LIBx51 351

B.3.3 Object-Hex转换器 352

第2章 C与 8051