《单片机原理及接口(第2版)》是2011年5月清华大学出版社出版的图书,作者是陈忠平、曹巧媛、曹琳琳、徐刚强、刘琼。
基本介绍
- 书名:单片机原理及接口(第2版)
- 作者:陈忠平、曹巧媛、曹琳琳、徐刚强、刘琼
- ISBN:9787302242734
- 定价:35元
- 出版社:清华大学出版社
- 出版时间:2011年5月
- 装帧:平装
内容简介
本书以常用的STC89系列单片机为核心,通过大量的实例系统地介绍了单片机的工作原理及接口技术。全书分10章,主要内容包括单片机概述、内部结构、指令系统与定址方式、彙编语言程式设计、计时器/计数器、中断系统、串列通信、外部系统扩展、输入输出及接口技术、单片机系统开发和套用实例。
本书在参考国内外大量资料的基础上,并结合编者多年的教学和科研实践编写而成。在编写过程中,既做到内容全面、叙述清楚,又注重最新的单片机套用技术,并且在第8章和第9章中介绍当前流行的SPI、IIC、1-Wire等串列汇流排的工作原理、接口技术及其套用。
本书理论体系完整,内容翔实,语言通俗易懂,实例实用性和针对性强,既适合作为高等院校信息工程、计算机套用、自动化、电气工程和机电等专业的教材,又可供有关技术培训及工程技术人员自学参考之用。
目录
第1章绪论1
1.1概述1
1.2单片微型计算机1
1.2.1单片机的发展简史及最新发展状况2
1.2.2单片机的特点、分类及套用4
1.3STC89系列单片机简介6
1.3.1STC89系列单片机性能7
1.3.2STC89系列单片机套用系统结构7
1.4单片机的学习方法及系统开发启示9
1.4.1学习单片机应具备的知识与能力9
1.4.2单片机学习的方法引导9
1.4.3单片机的学习要点9
1.4.4单片机系统的开发步骤10
小结11
习题11第2章STC89系列单片机内部结构13
2.1STC89系列单片机的组成13
2.1.1单片机的引脚及功能13
2.1.2STC89系列单片机内部结构15
2.2STC89系列单片机存储器结构19
2.2.1程式存储器20
2.2.2数据存储器20
2.2.3特殊功能暂存器22
2.3STC89系列单片机I/O连线埠26
2.3.1準双向I/O连线埠输出原理26
2.3.2I/O连线埠的套用特性27
2.4单片机工作方式及时序28
2.4.1复位方式28
2.4.2程式执行方式30
2.4.3低功耗方式31
2.4.4振荡器与时钟电路33
2.4.5可程式时钟输出34
2.4.6机器周期和指令周期34
小结35
习题35第3章单片机指令系统及彙编语言程式设计37
3.1概述37
3.2定址方式37
3.2.1立即定址方式38
3.2.2直接定址方式38
3.2.3暂存器定址方式39
3.2.4暂存器间接定址方式39
3.2.5基址加变址间接定址方式40
3.2.6相对定址40
3.2.7位定址方式41
3.3指令系统41
3.3.1指令分类41
3.3.2数据传送类指令41
3.3.3算术运算类指令47
3.3.4逻辑运算类指令52
3.3.5控制转移类指令56
3.3.6位操作类指令60
3.3.7伪指令62
3.4彙编语言程式设计64
3.4.1顺序程式设计65
3.4.2分支程式设计66
3.4.3循环程式设计70
3.4.4子程式设计和参数传递72
3.4.5查表类程式设计74
3.4.6软体延时程式设计75
3.4.7输入输出类程式设计76
小结80
习题80第4章C51程式设计语言83
4.1数据运算83
4.1.1C语言程式结构83
4.1.2标识符与关键字85
4.1.3数据类型87
4.1.4C51数据存储类型及SFR的定义88
4.1.5常量与变数90
4.1.6C51的运算符及表达式92
4.2流程控制98
4.2.1条件语句与控制结构99
4.2.2循环语句与控制结构104
4.3数组110
4.3.1一维数组110
4.3.2二维数组112
4.3.3字元数组114
4.4指针115
4.4.1变数的指针和指向变数的指针变数115
4.4.2数组指针和指向数组的指针变数116
4.4.3字元串指针和指向字元串的指针变数117
4.5结构体118
4.5.1结构体的定义和引用118
4.5.2结构体的初始化122
4.5.3结构体数组122
4.5.4指向结构体类型数据的指针123
4.6共用体124
4.6.1共用体类型变数的定义125
4.6.2共用体变数的引用126
4.7函式126
4.7.1函式定义的一般形式127
4.7.2函式的参数和函式返回值128
4.7.3函式的调用129
4.7.4数组、指针作为函式的参数131
4.8编译预处理132
4.8.1宏定义132
4.8.2档案包含133
4.8.3条件编译134
小结135
习题135
第5章STC89系列单片机的定时器/计数器137
5.1定时器/计数器的内部结构及工作原理137
5.1.1定时器/计数器的内部结构137
5.1.2定时器/计数器的工作原理137
5.1.3定时器/计数器的控制暂存器138
5.2T0和T1的工作方式与套用141
5.2.1方式0及其套用142
5.2.2方式1及其套用144
5.2.3方式2及其套用147
5.2.4方式3及其套用149
5.3T2定时器/计数器的工作方式与套用151
5.3.1捕获方式及其套用152
5.3.2自动重装方式及其套用154
5.3.3波特率发生器方式及其套用156
5.4定时器/计数器的综合套用158
小结160
习题160
第6章中断系统161
6.1中断技术概述161
6.1.1中断技术的优点161
6.1.2中断处理流程162
6.2中断系统165
6.2.1中断系统的结构165
6.2.2中断源及矢量地址166
6.2.3中断控制167
6.3外部中断源的扩展171
6.3.1利用定时器作外部中断输入使用171
6.3.2中断和软体查询相结合扩充外部中断源172
6.3.3矢量中断扩充外部中断源173
6.4中断系统的套用175
小结181
习题181
第7章串列数据通信183
7.1串列数据通信基础183
7.1.1串列通信的分类183
7.1.2RS-232C汇流排标準185
7.2STC89系列单片机的串列连线埠及控制暂存器187
7.2.1串列连线埠的内部结构188
7.2.2通信过程188
7.2.3串列通信控制暂存器189
7.3串列通信工作方式及波特率191
7.3.1串列通信的工作方式191
7.3.2串列连线埠的通信波特率191
7.4串列连线埠工作方式的套用193
7.4.1方式0的套用193
7.4.2方式1的套用196
7.4.3方式2和方式3的套用202
小结212
习题212
第8章外部系统的扩展214
8.1并行扩展汇流排214
8.1.1并行扩展汇流排方法214
8.1.2地址解码方法214
8.1.3汇流排驱动215
8.2串列汇流排扩展215
8.2.1SPI汇流排216
8.2.2MicroWire汇流排219
8.2.3I2C汇流排220
8.2.4SMBus汇流排225
8.2.5单汇流排228
8.3并行存储器的扩展232
8.3.1程式存储器的扩展232
8.3.2数据存储器的扩展234
8.4串列E2PROM的扩展238
8.4.1二线制I2CE2PROMAT24CXX系列的扩展238
8.4.2三线制SPIE2PROMAT25010/020/040系列的扩展244
小结246
习题246第9章输入输出及接口技术247
9.1键盘247
9.1.1键盘的工作原理247
9.1.2独立式键盘和矩阵式键盘247
9.1.3串列I/O连线埠扩充键盘248
9.2LED显示器250
9.2.1LED显示器的结构及分类251
9.2.2LED显示器的显示方式252
9.2.3MAX7219串列输入输出共阴极显示驱动器253
9.2.4LED点阵显示器258
9.3LCD显示器259
9.3.1LCD液晶显示器的基本知识259
9.3.2栏位式LCD显示器261
9.3.3点阵字元式LCD显示器263
9.4数模转换器接口及套用266
9.4.1数模转换器的原理及分类266
9.4.210位串列D/A转换器TLC5615267
9.4.3TLC5615的套用268
9.5模数转换器接口及套用270
9.5.1模数转换器的分类270
9.5.211路12位串列A/D转换器TLC2543270
9.5.3TLC2543与单片机的连线及套用273
9.6DS1302实时时钟274
9.6.1DS1302外部封装及引脚功能275
9.6.2DS1302命令位元组格式275
9.6.3DS1302内部暂存器276
9.6.4DS1302与单片机的连线277
9.7语音接口277
9.7.1ISD4004的外部封装及引脚功能278
9.7.2ISD4004的内部结构279
9.7.3ISD4004串列SPI传输接口279
9.7.4操作指令及工作过程280
9.7.5ISD4004的套用280
9.8温度测量285
9.8.1DS18B20封装形式及引脚功能285
9.8.2DS18B20内部结构285
9.8.3DS18B20测温原理287
9.8.4DS18B20的ROM命令288
9.8.5DS18B20与单片机的连线及其套用288
小结291
习题292第10章单片机系统开发和套用实例293
10.1μVision3使用简介293
10.1.1启动μVision3293
10.1.2创建套用294
10.1.3调试程式296
10.2单片机演奏音乐的设计297
10.2.1单片机产生音调的基础知识297
10.2.2音乐软体的设计300
10.2.3歌曲的设计300
10.3交通信号灯模拟控制303
10.3.1交通信号灯模拟控制原理304
10.3.2单片机模拟控制交通灯程式设计304
10.4步进电机控制307
10.4.1步进电机的工作原理及分配形式307
10.4.2步进电机的单片机控制308
10.4.3键盘控制步进电机正反转及转数的设计309
10.5红外线遥控彩灯的设计313
10.5.1红外线遥控原理313
10.5.2红外线遥控彩灯硬体电路设计315
10.5.3红外线遥控彩灯软体设计315
附录A单片机指令表317
附录BC51库函式322
附录CASCII码錶329
附录D常用积体电路引脚图
330参考文献334
第1章基础算法1
1.1分治1
1.2递归3
1.3枚举5
1.4贪心7
第2章排序、查找算法9
2.1基本排序算法9
2.1.1插入排序9
2.1.2冒泡排序9
2.1.3快速排序10
2.1.4其他排序10
2.2基本查找算法11
2.2.1顺序查找11
2.2.2折半查找11
2.3实例分析12
2.4小结30第3章数据结构基础31
3.1常用数据结构简介31
3.1.1线段树简介31
3.1.2并查集简介31
3.1.3树状数组简介31
3.2实例分析32第4章字元串43
4.1字元串匹配43
4.1.1朴素的字元串匹配算法43
4.1.2KMP算法44
4.1.3其他匹配算法44
4.2实例分析44
4.3小结50第5章搜寻算法51
5.1基本搜寻算法51
5.1.1递归与叠代51
5.1.2深度优先搜寻与广度优先搜寻51
5.1.3回溯51
5.2搜寻算法的一些最佳化52
5.2.1剪枝函式52
5.2.2双向广度搜寻52
5.3实例分析52
5.4小结67第6章图论算法68
6.1最短路径68
6.1.1Dijkstra算法68
6.1.2Floyd算法69
6.1.3Bellman-Ford算法69
6.2最小生成树70
6.2.1Kruskal算法71
6.2.2Prim算法72
6.3最大匹配--匈牙利算法73
6.4最优权匹配问题74
6.4.1理论基础74
6.4.2基本思想75
6.4.3样例代码75
6.5割点、割边以及连通分量77
6.5.1理论基础77
6.5.2求割点78
6.5.3求强连通分量79
6.6网路流81
6.6.1理论基础81
6.6.2最大流问题81
6.6.3最小费用最大流问题83
6.7实例分析84
6.8小结106第7章动态规划算法107
7.1基本思想109
7.2基本概念109
7.3基本原理110
7.3.1最最佳化原理110
7.3.2无后效性110
7.4基本步骤110
7.5经典例子111
7.6实例分析115
7.7小结135第8章计算几何基础136
8.1矢量136
8.1.1矢量的概念136
8.1.2矢量加减法136
8.1.3矢量叉积136
8.1.4矢量叉积的套用136
8.2包含关係138
8.2.1判断图形是否包含在矩形中138
8.2.2判断图形是否包含在多边形中138
8.2.3判断图形是否包含在圆中141
8.3凸包141
8.3.1凸包的概念141
8.3.2凸包的求法141
8.4实例分析143第9章数论160
9.1基本数学算法160
9.1.1素数筛选160
9.1.2最大公约数160
9.1.3快速乘方161
9.2实例分析161附录A综合训练题186
A.1LuckyBird186
A.2Josephus'problem187
A.3CounterStrike189
A.4GaussElimination192
A.5TheMathProblem193
A.6Mobilephones194
A.7Japan197
A.8骨灰级玩家考证篇199
A.9括弧匹配202
A.10食物链204