图书介绍

精通51单片机开发技术与应用实例PDF|Epub|txt|kindle电子书版本网盘下载

精通51单片机开发技术与应用实例
  • 赵建领,崔昭霞编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121168888
  • 出版时间:2012
  • 标注页数:656页
  • 文件大小:171MB
  • 文件页数:658页
  • 主题词:单片微型计算机-系统开发

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

精通51单片机开发技术与应用实例PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 51系列单片机基础19

第1章 51系列单片机概述19

1.1单片机的产生与发展19

1.2 51系列单片机介绍20

1.2.1 51系列单片机简介20

1.2.2 51系列单片机的应用领域20

1.3最新51内核单片机介绍21

1.3.1 Atmel单片机介绍21

1.3.2 Cypress单片机介绍21

1.3.3 Infineon单片机介绍22

1.3.4 Silicon单片机介绍22

1.3.5 Maxim单片机介绍22

1.3.6 NXP单片机介绍23

1.3.7 Winbond单片机介绍23

1.3.8 Analog Devices单片机介绍23

1.3.9 TI单片机介绍24

1.3.10其他单片机介绍24

1.4 51系列单片机开发概述24

1.4.1分析测控系统25

1.4.2单片机选型25

1.4.3硬件资源分配25

1.4.4程序设计26

1.4.5仿真测试26

1.4.6实际硬件测试26

1.5小结26

第2章 51系列单片机基本结构27

2.1 51系列单片机的内部结构27

2.1.1内部结构的主要组成部分27

2.1.2单片机结构的类型28

2.2 51系列单片机的引脚功能29

2.2.1 51系列单片机的引脚封装29

2.2.2 51系列单片机引脚功能29

2.3中央处理器(CPU)31

2.3.1算术逻辑部件(ALU)31

2.3.2控制器31

2.3.3通用寄存器31

2.3.4专用寄存器32

2.4存储器结构33

2.4.1程序存储器及其扩展34

2.4.2数据存储器及其扩展35

2.5 51系列单片机的复位38

2.5.1单片机的复位状态38

2.5.2单片机的复位电路39

2.6 51系列单片机的时钟和时序40

2.6.1振荡器和时钟电路40

2.6.2 CPU的时序41

2.6.3指令执行的时序42

2.6.4访问外部ROM/RAM的操作时序43

2.7 51系列单片机的并行I/O口45

2.7.1并行I/O口45

2.7.2并行I/O口的应用48

2.7.3并行I/O口的扩展48

2.8系统掉电保护和低功耗设计50

2.8.1掉电保护50

2.8.2低功耗设计51

2.9 51系列单片机的最小系统52

2.10小结52

第3章 Keil C51开发工具简介53

3.1 Keil μVision3简介53

3.2 μVision3安装53

3.3 μVision3集成开发环境54

3.3.1 μVision3项目管理窗口54

3.3.2 μVision3的菜单栏55

3.3.3 μVision3的工具栏59

3.3.4 μVision3的管理配置61

3.3.5 μVision3的各种常用窗口64

3.4小结66

第二篇 编程篇——汇编语言67

第4章 汇编语言程序设计67

4.1汇编语言程序概述67

4.1.1汇编语言简介67

4.1.2汇编语言程序设计步骤68

4.1.3汇编语言程序实例68

4.2伪指令68

4.2.1汇编程序起始伪指令ORG69

4.2.2汇编程序结束伪指令END69

4.2.3等值伪指令EQU(或=)69

4.2.4 数据地址赋值伪指令DATA70

4.2.5定义字节伪指令DB70

4.2.6定义字伪指令DW70

4.2.7定义空间伪指令DS71

4.2.8位地址符号伪指令BIT71

4.3汇编语言程序的格式71

4.4源程序的汇编72

4.5 Keil μVision3中运行汇编语言实例72

4.5.1创建项目72

4.5.2创建源文件72

4.5.3编译项目74

4.5.4仿真调试74

4.6小结74

第5章 汇编语言程序结构75

5.1顺序结构程序75

5.2分支结构程序76

5.2.1双分支结构76

5.2.2多分支结构77

5.3循环结构程序78

5.3.1循环程序的结构和组成78

5.3.2循环程序示例79

5.3.3多重循环程序结构80

5.4子程序结构81

5.4.1子程序的结构81

5.4.2子程序的调用与返回81

5.4.3子程序设计实例82

5.5查表结构程序83

5.6运算类程序84

5.6.1 8位带符号整数的乘法子程序84

5.6.2 8位带符号整数的除法子程序85

5.7小结86

第三篇 编程篇——C5187

第6章 单片机C语言程序设计基础87

6.1单片机C语言概述87

6.1.1单片机C语言和汇编语言对比87

6.1.2 C51语言的主要特点87

6.2单片机C语言在Keil μVision3中应用实例88

6.2.1创建项目88

6.2.2创建源文件89

6.2.3编译项目89

6.2.4仿真调试90

6.3 C51的标识符与关键字90

6.3.1标识符90

6.3.2关键字91

6.4 C51的数据类型92

6.4.1常量与变量93

6.4.2整型数据94

6.4.3浮点型数据95

6.4.4字符型数据96

6.4.5指针型数据98

6.4.6无值型数据99

6.5 C51的变量作用域99

6.5.1基本规则99

6.5.2自动变量100

6.5.3外部变量101

6.5.4静态变量102

6.5.5寄存器变量102

6.6分隔符与const修饰符103

6.6.1 C51分隔符103

6.6.2 const修饰符103

6.7运算符104

6.7.1算术运算符104

6.7.2逻辑运算符和关系运算符106

6.7.3位运算符107

6.7.4特殊运算符109

6.7.5运算符优先级和结合性111

6.8表达式113

6.8.1算术表达式113

6.8.2赋值表达式113

6.8.3逗号表达式114

6.8.4关系和逻辑表达式115

6.9小结116

第7章 数组117

7.1数组类型说明117

7.2数组元素的表示118

7.3数组元素的初始化赋值118

7.4一维数组119

7.4.1一维数组声明120

7.4.2向函数传递一维数组120

7.4.3一维字符串数组120

7.5二维数组121

7.5.1二维数组声明121

7.5.2二维数组初始化122

7.5.3二维字符串数组124

7.6多维数组124

7.7小结125

第8章 指针126

8.1地址、指针和指针变量的概念126

8.2指针变量的声明126

8.3指针变量的赋值126

8.4指针变量的引用128

8.4.1取地址运算符“&”128

8.4.2取内容运算符“*”128

8.5指针变量的运算129

8.5.1关系运算129

8.5.2算术运算130

8.6数组指针130

8.6.1指向一维数组的指针130

8.6.2指向二维数组的指针131

8.6.3指向一个由n个元素组成的数组指针133

8.6.4指针和数组的关系134

8.7字符指针134

8.8指针数组135

8.9小结136

第9章 结构137

9.1结构的定义137

9.2结构变量的定义138

9.2.1先定义结构,再定义结构变量138

9.2.2在定义结构的同时,定义结构变量138

9.2.3直接说明结构变量138

9.3结构变量的使用139

9.4多重结构变量的赋值139

9.5结构变量的初始化140

9.6结构数组141

9.6.1结构数组的定义141

9.6.2结构数组的初始化赋值142

9.7结构指针143

9.8特殊结构145

9.8.1嵌套结构145

9.8.2位结构145

9.9小结146

第10章 联合、枚举、类型说明和位域147

10.1联合类型147

10.1.1联合和联合变量的定义147

10.1.2联合变量成员的引用148

10.2结构和联合的区别150

10.3枚举类型150

10.3.1枚举的定义151

10.3.2枚举变量的声明151

10.3.3枚举类型变量的赋值152

10.4类型说明153

10.5位域154

10.5.1位域的定义和位域变量的声明154

10.5.2位域变量的使用155

10.6小结156

第11章 C51语言的函数157

11.1函数的概念和分类157

11.1.1从函数定义角度分类157

11.1.2从有无返回值角度分类158

11.1.3从数据传送角度分类158

11.2函数的定义158

11.3函数的参数160

11.3.1形参和实参160

11.3.2数组作为函数参数161

11.3.3多维数组作为函数参数162

11.3.4指针作为函数参数163

11.4函数的返回值164

11.5函数调用164

11.5.1赋值调用与引用调用164

11.5.2递归调用165

11.5.3嵌套调用166

11.6函数及其变量的作用域167

11.6.1函数的作用域167

11.6.2函数的变量作用域168

11.7 main函数168

11.8小结169

第12章 C51语言的常用库函数详解170

12.1字符函数170

12.1.1检查英文字母函数170

12.1.2检查字母数字函数171

12.1.3检查控制字符函数171

12.1.4十进制数字检查函数172

12.1.5可打印字符检查函数172

12.1.6包含空格的可打印字符检查函数173

12.1.7格式字符检查函数173

12.1.8小写英文字母检查函数174

12.1.9大写英文字母检查函数175

12.1.10控制字符检查函数175

12.1.11十六进制数字检查函数176

12.1.12十六进制数字转换函数176

12.1.13大写字符转换函数177

12.1.14小写字符转换函数178

12.1.15 ASCII字符转换函数178

12.1.16大写字符宏转换函数179

12.1.17小写字符宏转换函数180

12.2字符串函数180

12.2.1字符查找函数180

12.2.2指定长度的字符串比较函数181

12.2.3字符串复制函数182

12.2.4带终止字符的字符串复制函数182

12.2.5字符串移动函数183

12.2.6字符串填充函数184

12.2.7字符串追加函数184

12.2.8指定长度的字符串追加函数185

12.2.9字符串比较函数185

12.2.10包含结束符的字符串比较函数186

12.2.11字符串覆盖函数187

12.2.12指定长度的字符串覆盖函数187

12.2.13获取字符串个数函数188

12.2.14搜索字符串函数189

12.2.15 搜索字符函数189

12.2.16返回位置值的字符搜索函数190

12.2.17字符包含函数190

12.2.18返回位置值的字符包含函数191

12.2.19在指定字符集中查找不包含字符函数192

12.2.20在指定字符集中查找包含字符函数192

12.2.21查找第一个包含字符函数193

12.2.22查找最后一个包含字符函数194

12.3 I/O函数194

12.3.1字符读入函数194

12.3.2字符读入输出函数195

12.3.3字符串读入函数196

12.3.4字符回送函数196

12.3.5字符输出函数197

12.3.6格式化输出函数197

12.3.7格式化内存缓冲区输出函数199

12.3.8字符串输出函数200

12.3.9格式化输入函数200

12.3.10格式化内存缓冲区输入函数202

12.3.11字符串内存输出函数203

12.3.12指向缓冲区的输出函数204

12.4数学函数205

12.4.1绝对值函数205

12.4.2指数函数及对数函数205

12.4.3三角函数206

12.4.4取整函数207

12.4.5浮点型分离函数208

12.4.6幂函数208

12.5标准函数209

12.5.1字符串转换函数209

12.5.2带返回指针的字符串转换函数210

12.5.3随机函数211

12.5.4数组内存分配函数212

12.5.5释放内存函数212

12.5.6初始化内存函数213

12.5.7内存分配函数214

12.5.8调整内存大小函数214

12.6内部函数215

12.6.1循环左移函数215

12.6.2循环右移函数216

12.6.3延时函数217

12.6.4位测试函数217

12.7绝对地址访问函数218

12.7.1 BYTE型存储空间访问函数218

12.7.2 WORD型存储空间访问函数219

12.7.3 far存储区访问函数219

12.7.4 far存储区数组访问函数220

12.8变量参数表函数220

12.9全程跳转函数221

12.10计算结构体成员的偏移量函数222

12.11小结223

第13章 C51语句和流程224

13.1说明语句224

13.2表达式语句224

13.3复合语句225

13.4循环语句226

13.4.1 while语句226

13.4.2 do-while语句226

13.4.3 for语句227

13.5条件语句228

13.5.1单分支结构228

13.5.2双分支结构228

13.5.3阶梯式if-else-if结构229

13.6开关语句231

13.7跳转语句232

13.7.1 goto语句232

13.7.2 break语句232

13.7.3 continue语句233

13.8函数调用语句233

13.9空语句234

13.10返回语句235

13.11 C51语言的流程控制结构235

13.12小结236

第14章 预处理及用户配置文件237

14.1预处理命令概述237

14.2宏定义指令237

14.2.1 #defie命令237

14.2.2 #undef命令239

14.3文件包含指令240

14.4条件编译指令241

14.4.1 #if、#else、#endif命令241

14.4.2 #elif命令241

14.4.3 #ifdef、#ifndef命令242

14.5其他编译指令243

14.5.1 #line命令243

14.5.2 #error243

14.5.3 #pragma244

14.6 C51语言编译器的控制指令245

14.6.1源文件控制类245

14.6.2目标文件(Object)控制类245

14.6.3列表文件(Listing)控制类245

14.7 C51语言的用户配置文件245

14.7.1 C51语言启动代码文件245

14.7.2 C51语言启动代码分析249

14.7.3变量初始化文件250

14.7.4基本I/O函数文件251

14.7.5分组配置文件251

14.8小结251

第15章 C51语言的存储结构252

15.1存储器结构252

15.1.1 51系列单片机的存储区域252

15.1.2片内数据存储器(RAM)的结构252

15.2存储类型253

15.2.1 data存储类型253

15.2.2 bdata存储类型253

15.2.3 idata存储类型254

15.2.4 pdata存储类型254

15.2.5 xdata存储类型254

15.2.6 code存储类型254

15.3扩展数据类型255

15.3.1 sfr和sfr16255

15.3.2 sbit255

15.3.3 bit型变量256

15.4存储模式256

15.4.1 Small模式256

15.4.2 Compact模式256

15.4.3 Large模式257

15.4.4存储模式的选择257

15.5 C51语言的存储器指针257

15.5.1一般指针257

15.5.2存储器指针258

15.5.3指针存储类型与指针所指向的数据的存储类型的关系258

15.6动态内存分配259

15.6.1 C51语言的动态分配函数259

15.6.2 malloc和calloc函数260

15.7小结260

第四篇 51系列单片机编程指南篇261

第16章 51系列单片机的指令系统261

16.1指令系统简介261

16.1.1指令格式261

16.1.2指令符号262

16.2寻址方式263

16.2.1立即寻址263

16.2.2直接寻址264

16.2.3寄存器寻址265

16.2.4寄存器间接寻址266

16.2.5变址寻址267

16.2.6相对寻址268

16.2.7位寻址270

16.3数据传送指令271

16.3.1内部RAM数据传送指令271

16.3.2外部RAM数据传送指令274

16.3.3程序存储器数据传送指令275

16.3.4数据交换指令277

16.3.5堆栈操作指令278

16.4算术运算指令279

16.4.1加法指令279

16.4.2带进位的加法指令280

16.4.3带借位的减法指令282

16.4.4加1指令283

16.4.5减1指令284

16.4.6乘除法指令285

16.4.7十进制调整指令286

16.5逻辑运算及移位指令287

16.5.1逻辑与指令288

16.5.2逻辑或指令289

16.5.3逻辑异或指令290

16.5.4累加器清零指令291

16.5.5累加器取反指令292

16.5.6组合逻辑电路的实现292

16.5.7循环移位指令293

16.6控制转移指令294

16.6.1无条件转移指令295

16.6.2条件转移指令299

16.6.3子程序调用及返回指令302

16.7位操作指令305

16.7.1位变量传送指令305

16.7.2置位与清零指令306

16.7.3位逻辑运算指令306

16.7.4位控制转移指令307

16.8空操作指令309

16.9 51系列单片机指令汇总310

16.10小结314

第17章 51系列单片机的定时器/计数器315

17.1定时器/计数器0和1315

17.1.1定时器/计数器的结构315

17.1.2定时器/计数器的功能316

17.1.3 T0和T1的控制寄存器316

17.2定时器/计数器0和1的工作模式319

17.2.1工作模式0及其程序设计319

17.2.2工作模式1及其程序设计321

17.2.3工作模式2及其程序设计322

17.2.4工作模式3及其程序设计325

17.3定时器/计数器2327

17.3.1 T2的控制寄存器T2CON和T2MOD及其程序访问327

17.3.2定时器/计数器2的工作模式329

17.4小结333

第18章 51系列单片机中断系统及其程序设计334

18.1中断系统概述334

18.1.1什么是中断334

18.1.2中断的用途334

18.1.3中断需要解决的问题335

18.2 51系列单片机的中断类型336

18.2.1外部中断源336

18.2.2定时中断源337

18.2.3串行中断源337

18.3 51系列单片机的中断系统337

18.3.1中断请求标志及其访问337

18.3.2中断允许标志及其访问339

18.3.3中断优先级标志及其访问340

18.4中断的处理过程341

18.4.1中断响应341

18.4.2中断处理342

18.4.3中断返回343

18.4.4中断请求的撤离343

18.5中断源的程序设计344

18.5.1外部中断源的程序设计344

18.5.2定时中断源的程序设计345

18.5.3串行中断源的程序设计346

18.6外部中断源的扩展347

18.6.1定时器/计数器扩展外部中断源347

18.6.2查询方式扩展外部中断源350

18.7小结351

第19章 51系列单片机的串行接口352

19.1串行通信概述352

19.1.1串行通信简介352

19.1.2串行通信的数据传送方式354

19.2 51系列单片机的串行接口355

19.2.1单片机串行接口的内部结构355

19.2.2单片机串行接口的程序控制356

19.2.3波特率的程序设计358

19.3串行口的工作模式0361

19.3.1模式0的发送及扩展输出端口361

19.3.2模式0的接收及扩展输入端口362

19.4串行口的工作模式1364

19.4.1模式1的发送364

19.4.2模式1的接收365

19.5串行口的工作模式2367

19.5.1模式2的发送367

19.5.2模式2的接收368

19.6串行口的工作模式3369

19.6.1模式3的发送369

19.6.2模式3的接收370

19.7双机通信程序设计371

19.7.1查询方式371

19.7.2中断方式372

19.8多机通信程序设计374

19.8.1多机通信原理374

19.8.2多机通信协议约定375

19.8.3多机通信程序设计375

19.9小结380

第20章 C51下的RTX-51实时多任务操作系统381

20.1 RTX-51实时多任务操作系统简介381

20.1.1 RTX-51种类381

20.1.2 RTX-51与单任务程序的比较382

20.2 RTX-51的任务调度383

20.2.1 RTX-51循环任务调度383

20.2.2 RTX-51事件任务调度384

20.2.3 RTX-51信号任务调度384

20.2.4优先级及抢先任务切换385

20.2.5 RTX-51的其他特性386

20.3 RTX-51 Tiny的系统函数387

20.3.1发送信号函数isr send signal387

20.3.2清除信号标志函数os_clear_signal387

20.3.3启动任务函数os_create_task388

20.3.4删除任务函数os_delete_task388

20.3.5当前任务号函数os_running_task_id389

20.3.6发送信号函数os_send_signal389

20.3.7等待函数os_wait389

20.3.8等待函数os_wait1390

20.3.9等待函数os_wait2391

20.4 RTX-51 Tiny的任务管理392

20.4.1 RTX-51 Tiny的任务状态392

20.4.2 RTX-51 Tiny的事件392

20.4.3 RTX-51 Tiny的任务切换392

20.5 RTX-51 Tiny的配置文件392

20.6 RTX-51 Tiny的要求及限定395

20.6.1使用RTX-51 Tiny的要求395

20.6.2 RTX-51 Tiny的注意事项396

20.7 RTX-51 FULL的系统函数及技术参数397

20.7.1 RTX-51 FULL函数一览397

20.7.2 RTX-51的技术参数398

20.8小结398

第21章 Keil μVision3中的单片机硬件资源仿真399

21.1仿真概述399

21.2并行I/O端口的仿真399

21.3定时器/计数器的仿真401

21.3.1定时器/计数器T0和T1的仿真界面401

21.3.2定时器/计数器T2的仿真界面402

21.3.3定时器/计数器的仿真操作402

21.4串行接口的仿真405

21.4.1串行接口的仿真界面405

21.4.2串行接口的仿真操作406

21.4.3字符串输入/输出的仿真操作407

21.5中断仿真408

21.5.1中断系统的仿真界面408

21.5.2中断系统的仿真操作409

21.6看门狗定时器的仿真410

21.6.1看门狗定时器的仿真界面410

21.6.2看门狗定时器的仿真操作411

21.7 A/D仿真412

21.7.1 A/D转换器的仿真界面412

21.7.2 A/D转换器的仿真操作413

21.8 D/A仿真414

21.8.1 D/A转换器的仿真界面414

21.8.2 D/A转换器的仿真操作415

21.9寄存器仿真417

21.9.1寄存器的仿真界面417

21.9.2寄存器的仿真操作417

21.10低功耗仿真418

21.11小结420

第22章 Keil μVision3中的程序调试421

22.1 Keil μVision3的程序调试器概述421

22.2性能分析器421

22.3代码覆盖分析器422

22.4断点423

22.5 Keil μ Vision3调试命令423

22.5.1通用命令424

22.5.2程序命令427

22.5.3断点命令429

22.5.4存储器命令431

22.6小结433

第五篇 典型案例篇434

第23章 键盘程序设计434

23.1键盘接口概述434

23.1.1按键编码434

23.1.2输入的可靠性434

23.1.3程序检测及响应435

23.2独立式按键及其编程接口435

23.2.1独立式按键结构435

23.2.2独立式按键程序设计436

23.3 4×4矩阵式键盘及其编程接口437

23.3.1扫描法及其程序设计437

23.3.2线反转法及其程序设计439

23.3.3中断法及其程序设计440

23.4矩阵式键盘的接口实例441

23.4.1电路图442

23.4.2程序设计443

23.4.3程序仿真445

23.5小结446

第24章 LED数码管显示447

24.1 LED数码管概述447

24.1.1 7段共阳极LED结构及显示段码447

24.1.2 7段共阴极LED结构及显示段码448

24.2单个LED驱动实例449

24.2.1电路图449

24.2.2程序设计451

24.3多个LED驱动方式453

24.3.1静态驱动显示454

24.3.2动态驱动显示457

24.3.3 LED驱动器459

24.4多个LED驱动实例463

24.4.1 LED驱动器电路图463

24.4.2程序设计464

24.5小结467

第25章 LCD液晶显示模块468

25.1 LCD液晶显示概述468

25.1.1液晶的来源468

25.1.2 LCD液晶显示器结构及原理468

25.1.3液晶显示模块的种类469

25.1.4液晶显示模块的优点470

25.2液晶显示模块控制接口470

25.2.1 LCD控制驱动器ST7920概述470

25.2.2 ST7920功能说明471

25.2.3 ST7920基本指令集474

25.2.4 ST7920扩充指令集477

25.2.5 ST7920的操作方式478

25.2.6图形点阵式液晶显示模块479

25.2.7图形点阵式液晶读写子函数480

25.3汉字及图形显示实例483

25.3.1电路设计483

25.3.2建立项目484

25.3.3汉字显示实例484

25.3.4图形显示实例486

25.3.5任意位置图形显示实例488

25.4小结490

第26章 D/A转换实例491

26.1 D/A转换概述491

26.1.1 D/A转换原理491

26.1.2 D/A转换器的类型492

26.1.3 D/A转换器的技术参数493

26.2高速D/A转换芯片AD558494

26.2.1 AD558简介494

26.2.2 AD558电压输出模式495

26.2.3 AD558的数据锁存496

26.3光通信电压调制电路实例——电路部分497

26.3.1相位调制的原理497

26.3.2电压调制系统498

26.3.3电路图499

26.4光通信电压调制电路实例——程序部分501

26.4.1系统状态编码502

26.4.2建立项目502

26.4.3主程序502

26.4.4无调制模式函数504

26.4.5调制模式1函数504

26.4.6调制模式2函数504

26.4.7调制模式3函数505

26.4.8调制模式4函数505

26.5光通信电压调制电路实例——仿真部分505

26.5.1程序仿真505

26.5.2运行效果506

26.6小结506

第27章 可编程逻辑器件CPLD507

27.1可编程逻辑器件概述507

27.1.1可编程逻辑器件的发展507

27.1.2 CPLD的结构及其逻辑实现507

27.1.3 FPGA的结构及其逻辑实现509

27.2硬件描述语言简述510

27.2.1硬件描述语言VHDL概述511

27.2.2 VHDL程序结构511

27.3 Altera常用CPLD芯片介绍513

27.4使用CPLD扩展51单片机I/O接口515

27.4.1 CPLD扩展单片机I/O接口原理515

27.4.2电路图516

27.5单片机程序设计517

27.5.1项目建立517

27.5.2主程序517

27.6 VHDL程序设计518

27.6.1项目建立518

27.6.2程序设计519

27.7程序仿真521

27.7.1设计CPLD引脚521

27.7.2仿真操作522

27.8程序下载523

27.9小结524

第28章 51系列单片机读写I2C总线525

28.1 I2C总线概述525

28.1.1 I2C总线工作原理525

28.1.2 I2C总线的电气结构和负载能力526

28.1.3 I2C总线器件的寻址方式526

28.2 I2C总线数据传输协议及其程序详解527

28.2.1起始信号527

28.2.2终止信号528

28.2.3应答信号528

28.2.4非应答信号529

28.2.5应答位检查530

28.2.6总线数据位530

28.2.7写数据530

28.2.8读数据533

28.3 51单片机读写E2PROM536

28.3.1串行E2PROM存储器简介536

28.3.2电路设计537

28.3.3程序设计537

28.3.4仿真分析539

28.4小结540

第29章 单片机音乐播放541

29.1单片机发音概述541

29.1.1音调541

29.1.2节拍543

29.1.3单片机音乐播放的方法及音乐示例543

29.2单片机音乐播放实例——电路图547

29.3单片机音乐播放实例——程序设计547

29.3.1建立项目547

29.3.2程序设计548

29.4小结550

第30章 实时时钟芯片应用551

30.1实时时钟芯片DS 1302概述551

30.1.1实时时钟芯片DS 1302概述551

30.1.2实时时钟芯片DS 1302命令字节552

30.1.3实时时钟芯片DS 1302数据格式552

30.1.4实时时钟芯片DS 1302数据传输方式553

30.2单片机读写实时时钟芯片实例554

30.2.1电路图554

30.2.2建立项目555

30.2.3主程序555

30.2.4复位函数558

30.2.5字节读取函数558

30.2.6字节写入函数559

30.2.7初始化函数559

30.2.8时钟字节写入函数560

30.2.9 RAM字节写入函数560

30.2.10时钟寄存器内容显示函数561

30.2.11多字节突发方式读取RAM函数561

30.2.12多字节突发方式写入RAM函数562

30.3小结562

第31章 静态RAM存储器应用563

31.1静态RAM存储器概述563

31.1.1 RAM存储器概述563

31.1.2静态RAM芯片HM628128564

31.1.3静态RAM芯片HM628128的读写564

31.2静态RAM存储器读写实例565

31.2.1系统原理566

31.2.2串行通信接口概述566

31.2.3单片机与RS-232C的接口571

31.2.4系统电路原理图572

31.2.5建立项目573

31.2.6主程序设计573

31.2.7系统运行576

31.3小结577

第32章 道路交通灯控制系统578

32.1交通灯控制系统概述578

32.1.1道路交通灯概述578

32.1.2交通灯控制系统578

32.2交通灯控制系统原理图579

32.3多任务交通灯控制系统程序580

32.3.1建立项目580

32.3.2多任务划分及程序设计581

32.3.3串行通信函数586

32.3.4获取命令函数589

32.4小结590

第33章 单总线温度传感器DS18S20591

33.1单总线概述591

33.2单总线温度传感器DS18S20592

33.2.1温度传感器DS18520概述592

33.2.2 DS18S20的供电方式593

33.2.3 DS18S20的数据操作593

33.3单片机读写温度传感器DS18S20实例596

33.3.1电路图596

33.3.2建立项目597

33.3.3 DS18S20读写子函数597

33.3.4主函数603

33.3.5程序仿真604

33.4小结605

第34章 Microware串行总线E2 PROM的应用606

34.1三线制Microware串行总线概述606

34.2 Microware串行总线接口的E2PROM607

34.2.1 Microware串行总线接口E2PROM概述607

34.2.2 Microware串行总线接口E2PROM的指令607

34.2.3 Microware串行总线接口E2PROM的指令时序608

34.3 51系列单片机读写三线制E2PROM实例611

34.3.1电路图611

34.3.2建立项目611

34.3.3三线制Microware串行总线读写子函数612

34.3.4主程序614

34.3.5 Microware串行总线仿真616

34.4小结617

热门推荐