《C8051F系列单片机原理与应用》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:张培仁,孙力编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302308911
  • 页数:628 页
图书介绍:本书全面讲解C8051F单片机芯片的应用背景、设计思想以及应用要点;同时也着重介绍了C语言和汇编语言之间的调用和转换,是读者全面掌握C8051F单片机的开发与调试。

第1章 微控制器的原理及C8051F系列 1

1.1 微控制器的发展历史 1

1.2 微控制器系统简介 2

1.3 微控制器的发展 3

1.4 8位机发展的3个技术飞跃 4

1.5 从C8051F看8位单片机发展之路 5

1.6 C8051F系列产品优势和分类 11

1.6.1 C8051F系列产品优势 11

1.6.2 C8051F系列分类 16

第2章 C8051F系列单片机结构 20

2.1 C8051F系列单片机总体体系结构 20

2.2 CIP-51微控制器 24

2.3 存储器组织 25

2.3.1 程序存储器 26

2.3.2 数据存储器 26

2.3.3 通用寄存器 27

2.3.4 位寻址空间 27

2.3.5 堆栈 27

2.3.6 片内数据存储器读写实例 27

2.4 特殊功能寄存器 29

2.5 FLASH存储器 32

2.5.1 非易失性数据存储 34

2.5.2 安全选项 34

2.6 外部数据存储器和片内XRAM 36

2.6.1 端口选择和配置 37

2.6.2 复用和非复用选择 38

2.6.3 存储器模式选择 39

2.6.4 时序 40

2.7 时钟系统 42

2.7.1 时序与时钟 42

2.7.2 设计和使用时钟时应考虑的问题 43

2.7.3 时钟控制寄存器 44

2.7.4 外部振荡器举例 45

2.7.5 系统时钟初始化编程实例 46

2.8 复位电路 47

2.8.1 复位原理 47

2.8.2 C8051F系列的8种复位源 49

2.9 中断系统 51

2.10 电源管理 54

2.11 JTAG 54

2.12 端口原理参数和交叉开关 56

2.12.1 C8051F端口特点 56

2.12.2 交叉开关原理和简化规则 57

2.12.3 C8051F04x系列的I/O功能和优先权交叉开关译码器 59

2.12.4 配置端口 61

2.12.5 交叉开关引脚分配示例 62

2.13 模拟外设组成部分 63

2.13.1 ADC0的组成及其控制(以C8051F040为例) 64

2.13.2 ADC0的工作方式 65

2.13.3 ADC0编程实例 66

第3章 C51的程序结构与数据类型 70

3.1 C语言与C8051F系列单片机 70

3.1.1 C语言的特点与C语言向单片机移植 70

3.1.2 C51编译器 71

3.2 C51的程序结构 72

3.2.1 C51的一般格式 72

3.2.2 C51语言程序的基本结构 74

3.3 C51的数据类型 76

3.3.1 数据与数据类型 76

3.3.2 常量 77

3.3.3 变量 80

3.3.4 C51构造数据类型 86

3.3.5 C51的指针 95

第4章 C51的运算符及数据的存储模式 109

4.1 C51的单词及运算符 109

4.1.1 C51的单词 109

4.1.2 C51的运算符 114

4.2 数据的存储类型和存储模式 124

4.2.1 C8051F系列单片机的存储器 124

4.2.2 C51存储类型与C8051F系列单片机存储器 125

4.2.3 存储模式 125

4.3 C51对SFR、可寻址位、存储器和I/O口的地址访问 128

4.3.1 C51对SFR的定义 128

4.3.2 C51对可寻址位的定义 128

4.3.3 C51对存储器和I/O口的绝对地址访问 129

第5章 C51的函数、控制语句及程序设计 131

5.1 C51的函数 131

5.1.1 函数的分类 131

5.1.2 函数的说明 132

5.1.3 函数的参数和返回值 139

5.1.4 函数的调用 142

5.1.5 数组、指针与函数调用 147

5.1.6 内部函数和外部函数 153

5.1.7 C51库函数介绍 154

5.2 C51的控制语句 157

5.2.1 if语句 157

5.2.2 switch/case语句 159

5.2.3 循环结构流程控制语句 161

5.3 C51的预处理器 169

5.3.1 包含文件伪指令 169

5.3.2 伪指令宏 170

5.3.3 条件编译伪指令 174

5.3.4 编译器伪指令 174

5.3.5 #error伪指令 175

5.4 C51语言和汇编语言的混合编程 175

5.4.1 C51语言和汇编语言的性能比较 175

5.4.2 混合编程的注意事项 176

5.4.3 在不同存储模式下的混合编程 177

第6章 C8051F单片机系统基础应用实验 182

6.1 开发工具的主要技术指标 182

6.2 Cygnal单片机开发工具集成开发环境使用说明 184

6.3 Cygnal C8051F单片机实验 185

6.4 在C8051F020单片机上的初级软件实验(汇编语言) 186

6.4.1 无符号数十进制加法实验 186

6.4.2 数据传送实验 187

6.4.3 数据排序实验 188

6.4.4 整数二翻十实验 190

6.4.5 查表实验 193

6.5 步进电机控制实验(C语言) 194

6.6 压力测试实验(C语言) 198

6.6.1 压力测试实验目的和工作原理 198

6.6.2 程序函数和程序 200

6.6.3 调试方法和程序清单 201

6.7 单总线数字温度传感器测温应用实验(C语言) 204

6.8 点阵液晶显示实验(C语言) 212

6.8.1 实验目的 212

6.8.2 实验设备 212

6.8.3 实验所需函数和程序框图 220

6.8.4 调试方法和实验程序 221

6.9 直流电机转速测量控制实验 231

6.10 利用DAC在电阻负载上输出可变频、可变幅值波形 233

6.10.1 输出可变频、可变幅值方波参考程序 233

6.10.2 输出可变频、可变幅值锯齿波参考程序 234

6.10.3 输出可变频可变幅值正弦波参考程序 235

第7章 C8051F与传感器接口及数据处理 238

7.1 A/D转换器相关概念 238

7.2 C8051F931与Si1120光感应器的应用 240

7.2.1 Si1120光感应器特征 240

7.2.2 工作原理 241

7.2.3 模式选择 242

7.2.4 LED和LED电流的选择 244

7.2.5 机械和光学应用 245

7.3 C8051F与水电站大坝的电阻式传感器接口与测量 245

7.3.1 常用电阻式传感器 246

7.3.2 底层模块中电阻式传感器硬件方案 250

7.3.3 恒流源、放大器和A/D模块接口设计 252

7.3.4 底层模块中电阻式传感器系统软件设计 255

7.3.5 系统测试结果及误差分析 262

7.4 C8051F与土建及水电站大坝的振弦式传感器接口与测量 264

7.4.1 振弦式传感器 264

7.4.2 底层振弦式传感器测量模块系统的硬件设计 268

7.4.3 CPU和通信接口设计 271

7.4.4 振弦式传感器激振及频率测量程序设计 272

7.5 C8051F040在溶解氧项目中的应用 275

7.5.1 溶解氧检测的光学氧法 275

7.5.2 光学氧法检测原理 275

7.5.3 检测仪的机械结构 276

7.5.4 系统电路设计 276

7.5.5 系统软件设计 281

7.5.6 系统测试效果 287

第8章 C8051F与驱动LED专用电路接口设计 290

8.1 HD7279A驱动七段码显示 290

8.2 具有I2C的LM92和SAA1064测温显示电路的设汁 302

8.2.1 LM92和SAA1064概述 302

8.2.2 功能说明 304

8.2.3 典型应用 305

8.2.4 LM92测温应用参考C程序 307

8.2.5 LM92测温应用参考汇编程序 313

第9章 C8051F的USB转UART桥接控制器 322

9.1 CP2110的USB转UART桥接器 322

9.1.1 CP2110的系统概述 322

9.1.2 电气特性 325

9.1.3 USB功能控制器和收发器 326

9.1.4 异步串行数据总线(UART)接口 327

9.1.5 一次可编程ROM 329

9.1.6 调压器 330

9.2 用专用芯片CP2101进行USB接口转换设计 331

9.2.1 进行USB接口转换设计需要解决的问题 331

9.2.2 硬件电路设计 332

9.2.3 CP2101的特性和原理 333

9.2.4 USB接口主机CAN节点的通信软件设计 337

9.2.5 上位机USB基本通信软件设计 338

9.2.6 PC上串口通信实现 339

9.2.7 MSComm控件实现 342

9.2.8 串口应用 343

9.3 用专用接口芯片ISP1581实现USB接口电路的设计 344

9.3.1 硬件设计 345

9.3.2 系统软件设计 346

第10章 具有USB的C8051F应用系统 348

10.1 USB系统拓扑结构 348

10.2 C8051F326/7功能及软硬件设计 350

10.2.1 C8051F326/7具有USB的C8051全速USB、16KB FLASH微控制器系统概述 350

10.2.2 C8051F326/7系统设计 354

10.2.3 FIFO管理 358

10.2.4 功能配置和控制 359

10.3 利用C8051F340的USBXpress开发包进行USB通信设计 362

10.4 基于USB总线的多路电话录音系统 366

10.5 基于C8051F320心电监护系统设计 371

10.6 C8051F320的数据采集系统USB接口设计 373

10.7 C8051F320 SOC与AM45DB321构成数据采集存储系统 376

第11章 C8051F040与LCD、触摸屏接口设计 380

11.1 工程智能仪器介绍 380

11.1.1 智能仪器的工作原理 380

11.1.2 智能仪器的功能特点 381

11.1.3 智能仪器的发展趋势 381

11.2 LCD液晶显示技术 382

11.2.1 LCD液晶显示原理 382

11.2.2 LCD液晶显示技术分类 383

11.2.3 LCD的缺陷 384

11.2.4 液晶电视系统的复杂性 385

11.3 大坝传感器的测量系统硬件设计 386

11.3.1 基本构成 386

11.3.2 系统初始化实例 387

11.3.3 LCD液晶显示器模块设计 388

11.3.4 LCD与CPU的接口和LCD显示器控制程序 391

11.3.5 外部存储器接口电路 395

11.3.6 存储器实用程序 397

11.4 驱动LCD的CP24XX专用芯片与C8051F接口简介 397

11.5 触摸屏模块接口电路设计 400

11.5.1 触摸屏工作原理 400

11.5.2 四线式电阻式触摸屏原理 400

11.5.3 ADS7843及接口电路 402

11.5.4 软件设计 403

11.6 触摸屏(ADS7846)接口和线性校准设计实例 410

第12章 C8051F300系统及SPI应用 414

12.1 C8051F300系统功能概述 414

12.2 C8051F系列串行外设接口SPI介绍 417

12.2.1 C8051F040中SPI总线的信号说明 418

12.2.2 C8051F040的SPI功能概述 420

12.3 C8051F30X系列软件SPI应用实例说明 422

12.4 SPI软件实例清单 425

第13章 多C8051F微处理器系统应用 444

13.1 多CPU嵌入式系统的设计方法 444

13.1.1 多CPU系统中的数据共享 444

13.1.2 利用串行总线实现多CPU之间的通信 445

13.1.3 CAN总线多CPU远程传输可靠性的设计和实现方法 446

13.2 双CPU的CAN总线中继器设计 450

13.2.1 CAN总线中继器概述 450

13.2.2 双MCU的CAN总线中继器硬件系统设计 452

13.2.3 中继器的通信协议设计 454

13.2.4 中继器MCU状态控制设计 455

13.2.5 中继器系统的实时性分析 456

13.2.6 CAN总线中继器的软件设计 456

第14章 C8051F系统的存储器接口 470

14.1 存储器及其分类 470

14.1.1 只读存储器 470

14.1.2 随机存储器 471

14.2 C8051F片内外部数据存储器 473

14.2.1 外部数据存储器分类与MCU的接口 473

14.2.2 片内数据存储器读写实例 476

14.3 铁电存储器(FRAM)结构及应用 477

14.3.1 FRAM的发现 477

14.3.2 铁电存储原理 478

14.3.3 铁电存储器的基本结构及工作原理 479

14.3.4 铁电随机存储器的优点 480

14.3.5 FRAM的应用领域 480

14.3.6 常见Ramtron FRAM产品 481

14.3.7 集成FRAM的微控制器 482

14.3.8 FRAM的最新产品FM22L16 483

14.4 微处理器内部的FLASH在线编程 483

14.4.1 现有的FLASH及编程方法 484

14.4.2 在线实时自编程的原理和实现方案 485

第15章 C8051F040的CAN总线通信应用 490

15.1 现场总线的技术 490

15.1.1 现场总线技术概述 490

15.1.2 CAN总线概念 491

15.1.3 CAN总线特点 493

15.1.4 CAN总线技术规范 494

15.1.5 报文传送和帧结构 495

15.2 CAN总线远程控制网络硬件系统的设计与实现 498

15.2.1 系统总体介绍及结构分析 498

15.2.2 通用CAN节点设计 499

15.3 CAN总线远程控制网络软件系统的设计和实现 501

15.3.1 Bosch C_CAN规范简介 501

15.3.2 C_CAN主要部分说明 502

15.3.3 通信配置 505

15.3.4 消息的处理 506

15.3.5 中断的控制 508

15.3.6 位时序的配置 509

15.3.7 CAN通信程序软件设计实例 512

15.4 CAN总线两点之间通信实例程序清单 516

第16章 I2C总线和实时时钟接口设计 530

16.1 I2C技术产生背景 530

16.2 I2C总线技术概况 531

16.2.1 I2C版本协议的简述 532

16.2.2 I2C原理 533

16.3 具有I2C总线PCF8563实时时钟/日历芯片 538

16.3.1 PCF8563概述 538

16.3.2 PCF8563功能描述 540

16.3.3 综合实验的实时时钟模块接口 547

16.3.4 C8051F040对S-3530A的基本操作 547

16.3.5 实时时钟模块程序 551

第17章 C8051F系统低功耗 560

17.1 低功耗原理 560

17.1.1 从工艺角度分析功耗 560

17.1.2 从晶体管特性曲线分析动态功耗 561

17.1.3 从CPU管理工作角度分析系统功耗 562

17.1.4 系统后备功能 566

17.2 C8051F电源管理技术及功耗计算 567

17.2.1 关键点和降低功耗的方法 567

17.2.2 降低电源电压和CIP-51处理器电源管理方式 569

17.2.3 功耗计算 571

17.2.4 低功耗MCU系统中要注意的问题 572

17.3 整体系统低功耗要解决的问题 572

17.3.1 放大器低功耗设计 572

17.3.2 电源供给 574

17.3.3 存储器的低功耗运行 576

17.3.4 液晶显示屏 577

第18章 C8051F系列的综合应用实例 580

18.1 SPI接口应用——ISD4004语音录放芯片 580

18.1.1 SPI总线 580

18.1.2 ISD4004语音芯片 582

18.1.3 ISD4004的应用 584

18.2 智能的锂离子电池充电器设计 594

18.2.1 锂离子电池充电工作原理及充电器的设计 595

18.2.2 智能化锂离子电池充电器硬/软件设计 599

18.3 用C8051F020串行FLASH扩展大容量数据存储器 618

18.3.1 硬件简介 618

18.3.2 工作原理 621

18.3.3 硬件原理图和程序清单 622

18.3.4 程序清单 622

参考文献 628