当前位置:在线查询网 > 在线百科全书查询 > 8051单片机C语言程序设计与实例解析

8051单片机C语言程序设计与实例解析_在线百科全书查询


请输入要查询的词条内容:

8051单片机C语言程序设计与实例解析




基本信息


作 者:刘海涛 等 著出 版 社:清华大学出版社ISBN:9787302189442出版时间:2009-01-01版 次:1页 数:326装 帧:平装开 本:16开所属分类:图书 > 计算机与互联网 > 单片机与嵌入式

内容简介


《8051单片机C语言程序设计与实例解析》是根据作者多年来对单片机的逐步学习和了解,以80C51单片机应用系统为主线,克服了以往单片机类书籍起点高、实践例子少等缺点,围绕系统的组成、设计和调试运行,全面地介绍了单片机系统结构的基本原理、51指令系统与程序设计方法、中断与定时器系统、串行通信技术、接口技术、应用系统的扩展、设计实例及抗干扰设计等知识。

《8051单片机C语言程序设计与实例解析》具有较强的系统性、先进性和实用性,选材精练,论述简明。《8051单片机C语言程序设计与实例解析》可作为高等院校计算机科学与技术、自动化、电子信息工程、机电一体化等本科专业的单片机课程的参考资料,也可作为工程技术人员的参考用书。

目录


第1章 单片机概述        1

1.1 80C51单片机的发展史        1

1.2 80C51单片机的性能和特点        2

1.3 80C51单片机的分类和选型        3

1.3.1 80C51单片机的分类        3

1.3.2 80C51单片机的选型        4

第2章 硬件结构        6

2.1 80C51的内部总体结构        6

2.2 80C51的引脚封装和描述        8

2.3 存储器配置        11

2.3.1 程序存储器        12

2.3.2 数据存储器        12

2.4 特殊功能寄存器        14

2.5 I/O口        18

2.5.1 P0口        19

2.5.2 P1口        20

2.5.3 P2口        21

2.5.4 P3口        21

2.6 中断        22

2.6.1 中断系统的硬件结构        22

2.6.2 中断控制        23

2.6.3 中断响应协议        25

2.6.4 外部中断触发方式        26

2.6.5 中断响应时间        27

2.6.6 80C51的单步操作        27

2.7 定时器/计数器        28

2.7.1 定时器/计数器T0和T1的基本结构和工作原理        28

2.7.2 定时器/计数器T0和T1的控制        29

2.7.3 定时器/计数器的工作方式        31

2.8 单片机的时钟和复位电路        33

2.8.1 时钟电路        33

2.8.2 时序        34

2.8.3 复位电路        35

2.9 单片机的低功耗模式        37

第3章 指令系统        39

3.1 指令系统的分类和一般说明        39

3.2 数据传送类指令        40

3.3 算术运算类指令        44

3.4 逻辑运算类指令        48

3.5 控制转移类指令        50

3.6 位操作类指令        54

第4章 ISP、IAP技术及应用        56

4.1 ISP和IAP的工作原理        56

4.2 ISP和IAP的优点        57

4.3 并口/串口下载线        57

4.3.1 并口下载线        57

4.3.2 串口下载线        58

4.4 ISP软件的使用        59

4.5 自制80C51仿真器        62

4.5.1 SoftICE软件的介绍        62

4.5.2 SoftICE软件的安装        63

4.5.3 Keil C51联机仿真        65

4.5.4 自制仿真器的特点        66

第5章 Keil C51开发软件的应用        67

5.1 Keil C51简介        67

5.1.1 Keil C51软件的结构        67

5.1.2 Keil软件的安装        68

5.2 ?Vision2集成开发环境        69

5.2.1 ?Vision2 IDE开发平台        69

5.2.2 关于开发环境        70

5.3 创建工程项目        74

5.3.1 启动mVision2并创建一个项目        75

5.3.2 新建一个源文件        75

5.4 编译、链接项目        77

5.5 下载调试项目        78

第6章 并行接口的扩展        82

6.1 单片机系统扩展原理        82

6.1.1 80C51单片机最小应用系统        82

6.1.2 80C51单片机的片外总线结构        82

6.1.3 80C51单片机系统扩展的实现        84

6.1.4 外扩芯片片选和地址分配方法        84

6.2 程序存储器的扩展        88

6.2.1 扩展EPROM存储器        88

6.2.2 扩展E2PROM存储器        91

6.3 数据存储器的扩展        93

6.4 并行I/O口的扩展        96

6.4.1 简单I/O口扩展        97

6.4.2 8255A可编程接口并行I/O扩展        99

6.4.3 8155可编程接口并行I/O扩展        100

第7章 实时时钟和外扩RAM(I2C和SPI总线器件)的应用        103

7.1 I2C总线的原理        103

7.1.1 I2C总线应用概述        103

7.1.2 I2C总线的系统结构        103

7.1.3 I2C总线的信号及时序定义        104

7.1.4 I2C总线的传输过程        104

7.1.5 I2C总线的仲裁        105

7.1.6 I2C总线的保留地址        106

7.1.7 80C51单片机与I2C总线芯片的模拟接口        106

7.2 实时时钟PCF8563        112

7.2.1 PCF8563的特点和功能        112

7.2.2 PCF8563应用实例        113

7.3 SPI总线的原理        117

7.3.1 SPI总线应用概述        117

7.3.2 SPI总线的系统结构        117

7.3.3 SPI总线接口及时序        118

7.3.4 SPI总线的传输过程        119

7.3.5 80C51单片机与SPI总线芯片的模拟接口        120

7.4 非易失性铁电存储器FM25C640        122

7.4.1 FM25C640特点        122

7.4.2 FM25C640的读/写方式        123

7.4.3 FM25C640的应用        124

第8章 键盘和显示接口设计        127

8.1 键盘接口设计        127

8.1.1 键盘工作原理        127

8.1.2 键盘的工作方式        128

8.1.3 键盘按键识别方法        129

8.1.4 键盘按键去抖方法        130

8.1.5 中断方式的键盘扫描电路        131

8.1.6 其他形式键盘接口电路        132

8.2 LED显示接口        132

8.2.1 LED显示器的结构与原理        133

8.2.2 LED显示器的显示方式        134

8.2.3 8155做LED显示器接口实例        136

8.3 键盘/LED专用接口芯片8279        137

8.3.1 8279的内部结构及基本工作原理        138

8.3.2 8279引脚功能        139

8.3.3 8279工作方式        141

8.3.4 8279命令字        141

8.3.5 8279状态字        144

8.3.6 应用举例        144

8.4 键盘/LED专用接口芯片7279A        146

8.4.1 7279A的主要特性        146

8.4.2 7279A引脚功能        146

8.4.3 7279A的控制指令        147

8.4.4 7279A串行接口的时序图        149

8.4.5 7279A应用举例        150

8.5 LCD显示接口        151

8.5.1 OCM4X8C液晶显示模块概述        151

8.5.2 OCM4X8C液晶显示模块的引脚功能        152

8.5.3 OCM4X8C液晶显示模块的 硬件接口        152

8.5.4 OCM4X8C液晶显示模块的指令系统        155

8.5.5 OCM4X8C液晶显示模块的显示示例        158

第9章 A/D和D/A接口设计        161

9.1 A/D接口设计        161

9.1.1 常用A/D转换器的原理        161

9.1.2 双积分型A/D转换器MC14433        164

9.1.3 逐次逼近型A/D转换器ADC0809        168

9.1.4 ∑-Δ调制型A/D转换器CS5532        171

9.1.5 A/D转换器的主要技术指标        176

9.2 D/A转换器接口设计        177

9.2.1 D/A转换器的原理        177

9.2.2 并行接口D/A转换器 芯片DAC0832        178

9.2.3 串行接口D/A转换器芯片TLC5617        181

9.2.4 D/A转换器的主要参数        184

9.3 电压/电流转换电路        185

9.3.1 利用分立元件组成的电压/电流转换电路        185

9.3.2 AD694电压/电流转换电路        186

第10章 串行口通信        188

10.1 数据通信的基本概念        188

10.1.1 串行通信的传送方式        188

10.1.2 串行通信的同步技术        189

10.2 串行口的结构和功能        191

10.3 串行口控制寄存器        192

10.3.1 串行口数据缓冲器SBUF        192

10.3.2 串行口控制寄存器SCON        192

10.3.3 串行口电源控制寄存器PCON        193

10.4 串行口的工作方式        194

10.4.1 方式0        194

10.4.2 方式1        195

10.4.3 方式2和方式3        196

10.4.4 常用波特率表        196

10.5 串行通信总线标准        197

10.5.1 RS-232C总线标准与应用        197

10.5.2 RS-485总线标准        199

10.6 Modbus标准通信协议和 软件编程        201

10.6.1 Modbus通信协议简介        201

10.6.2 Modbus协议传送模式        203

10.6.3 Modbus协议功能码定义        204

10.6.4 80C51单片机的RTU模式编程        205

第11章 80C51的应用案例        219

11.1 80C51常用的一些子程序函数        219

11.1.1 char单字节HEX数转换BCD码函数        219

11.1.2 int双字节HEX数转换BCD码函数        220

11.1.3 long四字节HEX数转换BCD码函数        221

11.1.4 ftod浮点数转换BCD码函数        222

11.1.5 计算万年历函数        227

11.2 频率测量        229

11.2.1 频率测量概述        229

11.2.2 频率测量原理        229

11.2.3 系统硬件构成        229

11.2.4 软件流程图        230

11.2.5 频率测量源程序        231

11.3 红外遥控(SM3XX6)技术        237

11.3.1 红外遥控技术概述        237

11.3.2 红外遥控系统的构成和 工作原理        238

11.3.3 使用M50462AP电视遥控器控制的红外遥控继电器开关        241

11.3.4 其他类型遥控器的解码        247

11.4 DS18B20温度测量        250

11.4.1 DS18B20的性能特点        250

11.4.2 DS18B20的内部结构及其各存储器结构        250

11.4.3 DS18B20测温值的计算及其测温原理        251

11.4.4 DS18B20与单片机的典型接口        252

11.4.5 DS18B20测温系统的软件编写        253

第12章 单片机嵌入式编程        263

12.1 关于嵌入式系统        263

12.1.1 嵌入式系统的定义        263

12.1.2 嵌入式系统的构成        264

12.1.3 嵌入式系统的特点        265

12.1.4 单片机实时操作系统        265

12.2 C/OS-II操作系统        266

12.2.1 C/OS-II操作系统的原理        267

12.2.2 C/OS-II操作系统的特点        277

12.2.3 C/OS-II操作系统的80C51的移植        278

12.2.4 C/OS-II用户应用系统编写        280

12.3 RTX51操作系统        281

12.3.1 RTX51操作系统的概述        281

12.3.2 RTX51的任务结构和状态        282

12.3.3 RTX51的功能函数        284

12.3.4 RTX51 Tiny程序的编写和应用        286

12.4 Small RTOS操作系统        295

12.4.1 Small RTOS的概述        295

12.4.2 Small RTOS的运行条件        295

12.4.3 Small RTOS 51的应用        296

第13章 单片机抗干扰技术        304

13.1 单片机的常见干扰现象及其来源        304

13.1.1 单片机的常见干扰现象        304

13.1.2 干扰的来源        304

13.2 干扰的耦合方式        306

13.3 单片机抗干扰的原则        307

13.4 单片机抗干扰的措施        308

13.4.1 单片机系统的硬件抗干扰技术        308

13.4.2 单片机系统的软件抗干扰技术        316

前言


在我国乃至全世界范围80C51系列单片机及其衍生产品获得了非常广泛的应用,大专院校也都采用80C51系列单片机作为教学模型。目前图书市场上介绍8051的书籍非常多,内容涵盖80C51的各个方面,包括硬件结构原理、指令系统、接口设计、软件开发等。

本书根据作者多年来对单片机的逐步学习和了解,以8051单片机应用系统为主线,克服了以往单片机类书籍起点高、实践例子少等缺点,围绕系统的组成、设计和调试运行,全面地介绍了单片机系统结构的基本原理、51指令系统与程序设计方法、中断与定时器系统、串行通信技术、接口技术、应用系统的扩展、设计实例及抗干扰设计等知识。通过学习本书,可使读者较全面地掌握单片机的基础知识。