《零起点学单片机与CPLD/FPGA》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:杨恒等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2007
  • ISBN:7811240068
  • 页数:342 页
图书介绍:本书系统地介绍了有关单片计算机(51系列)与CPLD/FPGA等嵌入式技术的发展历程、指令集及其软件系统,51系列单片机以及ALTERA公司的FPGA/CPLD芯片为例,结合延时控制蜂鸣器、I2C、LED显示、键盘、LCD液晶、洗衣机控制系统、电机控制、电子闹钟系统等设计实例,由浅入深地详述了应用单片机与CPLD/FPGA进行电子设计的方法,还介绍了单片机与CPLD/FPGA的接口与通讯模块的设计实践。书中的电路图和源程序已经过实验验证,读者可以直接将其应用于自己的设计中。

第1章 嵌入式系统概述 1

1.1 嵌入式系统简介 1

1.2 单片机简介 1

1.2.1 单片机发展历史 1

1.2.2 单片机在嵌入式系统中的地位 2

1.2.3 单片机的组成 3

1.2.4 单片机的产品类型介绍 4

1.2.5 单片机的发展与应用 4

1.3 单片机系统开发流程 5

第2章 AT89S51单片机的硬件结构 7

2.1 单片机的内部结构 7

2.2 单片机的引脚功能 9

2.2.1 引脚功能介绍 10

2.2.2 引脚第二功能说明 11

2.3 单片机的中央处理器 11

2.3.1 运算器 11

2.3.2 控制器 12

2.4 单片机的存储器结构 13

2.4.1 程序存储器ROM 14

2.4.2 数据存储器RAM 14

2.5 单片机的I/O口 18

2.5.1 I/O口的内部结构 18

2.6 单片机的时序与复位 20

2.6.1 时钟电路与时序 20

2.5.2 I/O口的读/写操作 20

2.6.2 复位电路与复位 22

2.7 单片机的工作方式及工作原理 23

2.7.1 单片机的工作方式 23

2.7.2 单片机的工作原理 24

第3章 指令系统及汇编程序设计 28

3.1 单片机指令系统概述 28

3.2 单片机寻址方式 29

3.2.1 立即寻址 30

3.2.2 直接寻址 30

3.2.3 寄存器寻址 30

3.2.5 相对寻址 31

3.2.4 寄存器间接寻址 31

3.2.6 变址寻址 32

3.2.7 位寻址 32

3.3 指令系统分类 33

3.3.1 数据传送类指令 34

3.3.2 算术运算类指令 37

3.3.3 逻辑运算类指令 42

3.3.4 控制转移类指令 44

3.3.5 位操作类指令 47

3.4 汇编语言的伪指令 48

3.4.1 ORG设置起始地址命令 48

3.4.5 DB定义字节命令 49

3.4.4 BIT位定义命令 49

3.4.3 EQU赋值命令 49

3.4.2 END汇编终止命令 49

3.4.6 DW定义数据字命令 50

3.4.7 DS定义存储器命令 50

3.5 汇编语言程序设计及实用程序举例 50

3.5.1 顺序结构程序设计 51

3.5.2 分支结构程序设计 52

3.5.3 循环结构程序设计 52

3.5.4 子程序结构程序设计 53

3.5.5 实用程序举例 54

3.6 各类指令的中英文对照 56

4.1.1 AT89S51单片机的中断系统 61

4.1 单片机系统的中断系统 61

第4章 单片机内部资源及应用 61

4.1.2 中断控制 62

4.1.3 中断处理 65

4.1.4 中断的应用 68

4.2 单片机系统的定时器/计数器 69

4.2.1 定时器/计数器的结构 70

4.2.2 定时器/计数器的控制寄存器 70

4.2.3 定时器/计数器的四种工作方式 71

4.2.4 定时器/计数器的应用 77

4.3 单片机系统的串行通信 80

4.3.1 串行通信的基础知识 80

4.3.2 串行通信的控制寄存器 82

4.3.3 串行通信的工作方式 84

4.3.4 串行通信的应用 85

第5章 CPLD/FPGA的组成结构与应用 92

5.1 Altera器件简介与选型 92

5.1.1 CPLD系列器件简介 92

5.1.2 FPGA系列器件简介 93

5.1.3 FPGA器件的配置 94

5.2 CPLD/FPGA的组成结构及区别 95

5.2.1 CPLD的内部结构 96

5.2.2 FPGA的内部结构 99

5.2.3 CPLD/FPGA器件的区别 100

5.3.1 VHDL的描述风格 102

5.3 系统模型与基本电路的VHDL语言描述 102

5.3.2 用Quartus Ⅱ进行CPLD/FPGA开发的简单流程 105

5.3.3 组合逻辑电路的VHDL程序 106

5.3.4 时序逻辑电路的VHDL程序 111

5.3.5 分频器的设计 117

5.3.6 存储器电路的设计 124

5.3.7 有限状态机 130

第6章 AT89S51单片机系统资源扩展 135

6.1 单片机的总线与编址 135

6.1.1 地址总线 135

6.2 存储器的扩展 136

6.2.1 线选法 136

6.1.3 控制总线 136

6.1.2 数据总线 136

6.2.2 译码法 137

6.2.3 存储器扩展的一般方法 138

6.3 程序存储器的扩展 139

6.3.1 2764的引脚 139

6.3.2 2764的连接使用 139

6.4 数据存储器的扩展 140

6.5 单片机系统I/O接口的扩展………………………………………………? 142

6.5.1 简单I/O接口的扩展………………………………………………………?6.5.2 可编程I/O接口的扩展 142

7.1.1 单片机最小系统的概念 148

7.1 单片机最小系统的构建 148

第7章 单片机硬件软件综合系统开发 148

7.1.2 开始构建最小系统 149

7.2 单片机软件系统开发 151

7.2.1 认识开发工具——Keil C51 151

7.2.2 KeilμVision2集成开发环境的快速入门 159

7.2.3 认识单片机的C语言 167

7.2.4 单片机C语言控制程序开发 170

第8章 基于Quartus Ⅱ的CPLD/FPGA数字系统设计 174

8.1 Quartus Ⅱ软件支持的几种开发流程 174

8.1.1 图形用户界面设计流程 175

8.1.2 EDA工具设计流程 176

8.1.3 命令行设计流程 176

8.2.1 Quartus Ⅱ开发FPGA/CPLD的原理 177

8.2 Quartus Ⅱ开发FPGA/CPLD的设计过程 177

8.2.2 Quartus Ⅱ的图形用户界面 178

8.2.3 Quartus Ⅱ开发FPGA/CPLD的流程概述 179

8.3 Quartus Ⅱ开发FPGA/CPLD的设计实例 181

8.3.1 创建工程 182

8.3.2 源文件输入 183

8.3.3 设计编译 196

8.3.4 分配引脚与芯片 200

8.3.5 仿真时序分析 202

8.3.6 下载配置 210

8.3.7 工程参数设置(可选项目) 213

8.4.1 乘法器的设计 214

8.4 基于Quartus Ⅱ参数化宏单元的数字电路设计 214

8.4.2 锁相环电路的设计 219

8.5 基于Quartus Ⅱ的接口驱动电路的设计 224

8.5.1 串行连接的七段数码管驱动程序 224

8.5.2 键盘扫描电路驱动程序 226

8.5.3 键盘防抖程序 229

8.6 Altera系统级SOPC的开发 231

8.6.1 SOPC技术简介 231

8.6.2 SOPC Builder简介 232

8.6.3 Nios Ⅱ嵌入式微处理器简介 233

8.6.4 基于SOPC开发的实例 234

第9章 SeaMCU综合实验系统开发 248

9.1 初识SeaMCU综合实验系统 248

9.2.1 电源模块 249

9.2 核心模块介绍 249

9.2.2 单片机主控部分 250

9.2.3 CPLD扩展部分 252

9.3 功能扩展模块 253

9.3.1 I2C总线扩展模块 253

9.3.2 步进电机模块 256

9.4 人机交互接口 260

9.4.1 矩阵式键盘接口 260

9.4.2 字符型LCD显示器 262

9.5 模拟通道接口 273

9.5.1 A/D数据采集模块 273

9.5.2 D/A转换模块 276

9.5.3 数字温度采集模块 279

第10章 电子时钟系统设计 284

10.1 系统设计目标 284

10.2 硬件系统设计 284

10.3 软件系统设计 284

第11章 计算器系统设计 292

11.1 设计目标及硬件原理图设计 292

11.2 软件系统设计 293

第12章 单片机与FPGA之间的通信 299

12.1 单片机控制FPGA启动相应的功能模块 299

12.2 单片机向FPGA发送命令字或数据 300

12.3 FPGA向单片机传输命令字或数据 303

12.3.1 单片机通过SPI口从FPGA中取数据 303

12.3.2 FPGA向单片机发送数据 305

12.4.1 使用双端口RAM 306

12.4.2 使用FPGA内部的RAM单元 306

12.4 单片机与FPGA之间互传大量数据 306

12.5 单片机和CPLD/FPGA接口逻辑的设计 307

12.6 单片机和CPLD实现RS-232发送模块的设计 310

第13章 能力拓展 317

13.1 硬件系统设计经验谈 317

13.1.1 电源、地线的处理 317

13.1.2 数字电路与模拟电路的共地处理 318

13.1.3 电磁兼容性设计 319

13.1.4 去耦电容的配置 319

13.1.6 热设计 320

13.1.5 印制电路板的尺寸与器件的布置 320

13.2 软件系统设计经验谈 321

13.2.1 信号和变量 321

13.2.2 buffer类型和内部虚拟信号 322

13.2.3 不同进程间如何进行通信 325

13.2.4 组合逻辑与时序逻辑的综合 326

附录A MCS-51单片机指令速查表 329

附录B ASCII码字符表 333

附录C SeaMCU5.0单片机综合仿真实验系统 334

附录D SeaMCU5.0单片机开发系统原理图 337

参考文献 341

IDETCO大学计划简介 342