21世纪高等学校计算机规划教材——名家系列

单片机原理及接口技术(C51编程)( 微课版 第3版)

C51单片机销售之王
分享 推荐 1 收藏 9 阅读 367
张毅刚 , 主编 (作者)

关于本书的内容有任何问题,请联系 武恩玉

1. 单片机领域销售无冕之王。
2. 作者是本领域的权威,黑龙江省教学名师,哈尔滨工业大学测控系系主任,博导。
3. 单片机唯一一门本科国家级精品课程,国家资源共享课程。
4. 备受院校师生欢迎的单片机教材,内容讲解简单,通俗易懂;编程实战均来自一线科研和教学实践结晶。

特别说明

 重点章节配有微课视频,便于读者掌握重点;
 注重选取内容的典型性和实用性;
 提供大量的C51程序设计案例,为应用设计提供借鉴。

内容摘要

本书共15章,涵盖了单片机应用技术的基本内容。第1章介绍了有关单片机的基本知识,对目前流行的各类单片机及嵌入式处理器进行了简介。第2章对片内的基本硬件结构及硬件资源进行了阐述。第3章对C51语言的编程基础进行了介绍。第4章对Keil C51软件开发平台以及Proteus虚拟仿真平台的基本功能与使用作以叙述。第5章介绍了单片机系统的显示与开关与键盘检测的实现,为后续各章的案例仿真、观察系统运行的结果,打下基础。第6章~第8章分别对片内硬件资源,即中断系统、定时器以及串行口的工作原理及应用案例进行了较为详细的介绍。第9章介绍了系统的并行扩展技术。第10章介绍了目前流行的串行扩展技术,如I2C系统、单总线、SPI串行系统以及相应的应用案例。第11章介绍了数/模与模/数转换接口的设计。第12章介绍了目前应用较多的其他常用的扩展接口设计及应用编程。第13章介绍了弱电控制强电的需求,并对常用的功率接口的器件及选择进行了介绍。第14章介绍了单片机应用系统设计的可靠性及抗干扰设计。第15章对应用系统设计以及调试的基本方法进行了介绍。
附录A与附录B给出了紧密结合课程内容用于实验教学环节和课程设计环节的基础实验题目与课程设计题目。附录C与附录D分别给出了经过验证的用于液晶显示器LCD1602以及时钟日历芯片DS1302的头文件。

前言

本书为《单片机原理及接口技术(C51编程)》的第3版。自2008年第1版、2016年第2版出版以来,共印刷27次,已被全国几十所院校作为《单片机原理》课程的教材。
第3版对第2版的内容作了增补,对第2版中的疏漏之处加以修订。
由于8051内核的单片机结构简单、清晰、易学,是单片机初学者最容易掌握的机型,因此,目前8051内核单片机仍是我国多所高校讲授的机型。
本书详细介绍了美国ATMEL公司8051内核的AT89S51/52单片机工作原理及应用设计,且融入了目前在教学中已经广泛使用的虚拟仿真开发工具Proteus,并给出较多的、经过验证的仿真案例。本书也展示了作者的“单片机原理”国家精品课程的教学模式与教学方法改革的部分成果,对课程体系结构的改进也体现在本书之中。
本书在编写时重点考虑了如下问题。
(1)将虚拟仿真工具Proteus应用在单片机课程教学中,使课程的教学模式及传统的设计开发模式发生了革命性的变化。Proteus平台为学习者提供了一个功能强大的、流动的单片机系统设计的虚拟实验室。
(2)传统教学模式存在的弊病是,学生听完课堂讲授的内容后往往得不到软、硬件设计的训练,使得教学与实际设计脱节。本书采用Proteus与Keil C51作为工具,将软、硬件设计与案例设计有机地结合为一体,使学生真正从概念出发,设计出一个能够虚拟运行的应用系统,得到软硬件设计与调试的完整训练,从而达到课程教学的最终目的。把Proteus融入课程教学各环节中,是课程深入改革的必然趋势。
(3)本书的编程语言采用C51。为提高读者的编程调试能力,作者还对C51的开发调试工具Keil C51以及Proteus的使用,从实际使用角度进行了介绍,以使读者尽快地掌握这两个软件平台的使用。
本书共15章,涵盖了单片机应用技术的基本内容。第1章介绍了有关单片机的基本知识,对目前流行的各类单片机及嵌入式处理器进行了简介。第2章对片内的基本硬件结构及硬件资源进行了阐述。第3章对C51语言的编程基础进行了介绍。第4章对Keil C51软件开发平台以及Proteus虚拟仿真平台的基本功能与使用作以叙述。第5章介绍了单片机系统的显示与开关与键盘检测的实现,为后续各章的案例仿真、观察系统运行的结果,打下基础。第6章~第8章分别对片内硬件资源,即中断系统、定时器以及串行口的工作原理及应用案例进行了较为详细的介绍。第9章介绍了系统的并行扩展技术。第10章介绍了目前流行的串行扩展技术,如I2C系统、单总线、SPI串行系统以及相应的应用案例。第11章介绍了数/模与模/数转换接口的设计。第12章介绍了目前应用较多的其他常用的扩展接口设计及应用编程。第13章介绍了弱电控制强电的需求,并对常用的功率接口的器件及选择进行了介绍。第14章对应用系统设计以及调试的基本方法进行了介绍。
附录A与附录B给出了紧密结合课程内容用于实验教学环节和课程设计环节的基础实验题目与课程设计题目。附录C与附录D分别给出了经过验证的用于液晶显示器LCD1602以及时钟日历芯片DS1302的头文件。
全书参考学时为40~60学时,教师可根据实际情况,对讲授内容进行取舍或补充。
本书由张毅刚担任主编,并完成了第1章、第2章、第9章、第11章与第14章的编写以及全书统稿。副主编由刘连胜(完成了第3章、第5章、第8章、第10章、第12章以及附录A、附录B)与彭喜元(完成了第4章、第6章、第7章、第13章、第15章)担任。
在本书出版之际,特别感谢广州风标电子有限公司总经理匡载华先生对本书的编写出版给予了大力支持和帮助,非常感谢广州风标电子有限公司提供的有关技术资料、网络版的Proteus仿真实验平台以及配套的F型模块化实验装置。
书中存在的错误及疏漏之处敬请读者批评指正,并请与作者联系(作者邮箱:zyg@hit.edu.cn)。

目录

第 1章 单片机概述 1
1.1 什么是单片机 1
1.2 单片机的发展历史 2
1.3 单片机的特点 2
1.4 单片机的应用 3
1.5 单片机的发展趋势 4
1.6 MCS-51系列与AT89S5x系列单片机 5
1.6.1 MCS-51系列单片机 5
1.6.2 8051内核单片机与AT89S5x系列单片机 6
1.7 各种衍生品种的8051单片机 7
1.7.1 STC系列单片机 7
1.7.2 C8051F×××单片机 8
1.7.3 ADμC812单片机 9
1.7.4 台湾华邦W77系列、W78系列单片机 9
1.8 PIC系列单片机与AVR系列单片机 9
1.8.1 PIC系列单片机 9
1.8.2 AVR系列单片机 10
1.9 其他的嵌入式处理器简介 11
1.9.1 嵌入式DSP处理器 11
1.9.2 嵌入式微处理器 12
思考题及习题 12

第 2章 AT89S51单片机片内硬件结构 14
2.1 AT89S51单片机的片内硬件结构 14
2.2 AT89S51的引脚功能 15
2.2.1 电源及时钟引脚 15
2.2.2 控制引脚 16
2.2.3 并行I/O口引脚 17
2.3 AT89S51的CPU 18
2.3.1 运算器 19
2.3.2 控制器 20
2.4 AT89S51单片机存储器的结构 20
2.4.1 程序存储器空间 21
2.4.2 数据存储器空间 22
2.4.3 特殊功能寄存器 23
2.4.4 位地址空间 25
2.5 AT89S51单片机的并行I/O端口 27
2.5.1 P0口 27
2.5.2 P1口 28
2.5.3 P2口 29
2.5.4 P3口 29
2.6 时钟电路与时序 30
2.6.1 时钟电路设计 30
2.6.2 机器周期、指令周期与指令时序 31
2.7 复位操作和复位电路 32
2.7.1 复位操作 32
2.7.2 复位电路设计 33
2.8 AT89S51单片机的最小应用系统 33
2.9 看门狗定时器(WDT)的使用 34
2.10 低功耗节电模式 35
2.10.1 空闲模式 36
2.10.2 掉电运行模式 36
2.11 AT89S52单片机与AT89S51单片机的差异 37
2.11.1 AT89S52单片机与AT89S51单片机片内硬件资源的差别 37
2.11.2 AT89S52的引脚 37
2.11.3 AT89S52单片机的存储器结构 38
思考题及习题 41

第3章 C51编程语言基础 43
3.1 C51编程语言简介 43
3.1.1 C51语言与8051汇编语言的比较 43
3.1.2 C51语言与标准C语言的比较 44
3.2 C51语言程序设计基础 44
3.2.1 C51语言中的数据类型与存储类型 45
3.2.2 C51语言的特殊功能寄存器及位变量定义 49
3.2.3 C51语言的绝对地址访问 51
3.2.4 C51的基本运算 52
3.2.5 C51的分支与循环程序结构 55
3.2.6 C51的数组 61
3.2.7 C51的指针 62
3.3 C51语言的函数 63
3.3.1 函数的分类 63
3.3.2 函数的参数与返回值 65
3.3.3 函数的调用 65
3.3.4 中断服务函数 66
3.3.5 变量及存储方式 67
3.3.6 宏定义与文件包含 67
3.3.7 库函数 68
思考题及习题 68

第4章 开发与仿真工具 70
4.1 Keil C51的使用 70
4.1.1 Keil C51简介 70
4.1.2 基本操作 70
4.1.3 添加用户源程序文件 72
4.1.4 程序的编译与调试 75
4.1.5 项目的设置 77
4.2 Proteus虚拟仿真工具介绍 80
4.2.1 Proteus功能简介 80
4.2.2 Proteus ISIS的虚拟仿真 80
4.2.3 Proteus的各种虚拟仿真调试工具 87
4.2.4 虚拟设计仿真举例 91
思考题及习题 97

第5章 单片机与开关、键盘以及显示器件的接口设计 98
5.1 单片机控制发光二极管显示 98
5.1.1 单片机与发光二极管的连接 98
5.1.2 I/O端口的编程控制 99
5.2 开关状态检测 102
5.2.1 开关检测案例1 102
5.2.2 开关检测案例2 103
5.3 单片机控制LED数码管的显示 104
5.3.1 LED数码管的显示原理 104
5.3.2 LED数码管的静态显示与动态显示 107
5.4 单片机控制LED点阵显示器显示 110
5.4.1 LED点阵显示器的结构与显示原理 110
5.4.2 控制16×16 LED点阵显示屏的案例 111
5.5 字符型LCD 1602液晶显示器的显示控制 113
5.5.1 LCD 1602液晶显示模块简介 114
5.5.2 单片机控制字符型LCD 1602显示案例 120
5.6 点阵式液晶显示器LCD12864的显示控制 123
5.6.1 引脚及显示原理 124
5.6.2 控制命令 125
5.6.3 单片机控制LCD12864显示的案例 127
5.7 键盘接口设计 131
5.7.1 键盘接口设计应解决的问题 132
5.7.2 独立式键盘接口设计案例 133
5.7.3 矩阵式键盘的接口设计案例 139
5.7.4 非编码键盘扫描方式的选择 141
5.7.5 单片机与专用键盘/显示器芯片HD7279的接口设计 142
思考题及习题 152

第6章 中断系统的工作原理及应用 154
6.1 AT89S51中断技术概述 154
6.2 AT89S51中断系统结构 154
6.2.1 中断请求源 155
6.2.2 中断请求标志寄存器 155
6.3 中断允许与中断优先级的控制 156
6.3.1 中断允许寄存器IE 157
6.3.2 中断优先级寄存器IP 157
6.4 响应中断请求的条件 158
6.5 外部中断的响应时间 159
6.6 外部中断的触发方式选择 160
6.6.1 电平触发方式 160
6.6.2 跳沿触发方式 160
6.7 中断请求的撤销 160
6.8 中 断 函 数 161
6.9 中断系统应用举例 163
6.9.1 单一外中断的应用 163
6.9.2 两个外中断的应用 164
6.9.3 中断嵌套的应用 166
6.10 AT89S52与AT89S51中断系统的差别 167
6.10.1 中断请求源的差别 167
6.10.2 中断请求标志寄存器的差别 168
6.10.3 中断允许寄存器与中断优先级寄存器的差别 168
思考题及习题 170
第7章 定时器/计数器的工作原理及应用 172
7.1 定时器/计数器的结构 172
7.1.1 定时器/计数器工作方式寄存器TMOD 173
7.1.2 定时器/计数器控制寄存器TCON 173
7.2 定时器/计数器的4种工作方式 174
7.2.1 方式0 174
7.2.2 方式1 175
7.2.3 方式2 175
7.2.4 方式3 176
7.3 计数器对外部输入的计数信号的要求 177
7.4 定时器/计数器T0、T1的编程应用 178
7.4.1 P1口控制8只LED每0.5s闪亮一次 178
7.4.2 计数器的应用 179
7.4.3 控制P1.0产生周期为2ms的方波 181
7.4.4 利用T1控制发出1kHz的音频信号 182
7.4.5 LED数码管秒表的制作 184
7.4.6 测量脉冲宽度——门控位GATEx的应用 186
7.4.7 LCD时钟的设计 188
7.5 AT89S52新增定时器/计数器T2简介 190
7.5.1 T2的特殊功能寄存器T2CON和T2MOD 190
7.5.2 T2的16位自动重装载方式 192
7.5.3 T2的捕捉方式 194
7.5.4 T2的波特率发生器方式及可编程时钟输出 194
思考题及习题 197

第8章 串行口的工作原理及应用 199
8.1 串行通信基础 199
8.1.1 并行通信与串行通信 199
8.1.2 同步通信与异步通信 200
8.1.3 串行通信的传输模式 201
8.1.4 串行通信的错误校验 201
8.2 串行口的结构 202
8.2.1 串行口控制寄存器SCON 202
8.2.2 特殊功能寄存器PCON 203
8.3 串行口的4种工作方式 204
8.3.1 方式0 204
8.3.2 方式1 208
8.3.3 方式2 210
8.3.4 方式3 211
8.4 多 机 通 信 211
8.5 波特率的制定方法 212
8.5.1 波特率的定义 213
8.5.2 定时器T1产生波特率的计算 213
8.6 串行口应用设计案例 214
8.6.1 串行通信标准接口RS232、RS422与RS485简介 214
8.6.2 方式1的应用设计 217
8.6.3 方式2和方式3的应用设计 223
8.6.4 多机通信的应用设计 225
8.6.5 单片机与PC串行通信的设计 231
8.6.6 PC与单片机或与多个单片机的串行通信 235
思考题及习题 237

第9章 单片机系统的并行扩展 239
9.1 系统并行扩展技术 239
9.1.1 系统并行扩展结构 239
9.1.2 地址空间分配 241
9.1.3 外部地址锁存器 243
9.2 外部数据存储器的并行扩展 244
9.2.1 常用的静态RAM(SRAM)芯片 244
9.2.2 读写片外RAM的操作时序 245
9.2.3 并行扩展数据存储器的设计 246
9.2.4 单片机外扩数据存储器RAM6264的案例设计 248
9.3 片内Flash存储器的编程 250
9.3.1 使用通用编程器的程序写入 250
9.3.2 使用下载线的ISP编程 251
9.4 E2PROM的并行扩展 251
9.4.1 并行E2PROM芯片简介 252
9.4.2 AT89S51单片机扩展E2PROM AT2864的设计 252
9.5 AT89S51扩展并行I/O芯片82C55的设计 253
9.5.1 I/O接口扩展概述 253
9.5.2 并行I/O芯片82C55简介 254
9.5.3 82C55的3种工作方式 258
9.5.4 AT89S51单片机与82C55的接口设计 262
9.6 利用74LSTTL电路扩展并行I/O口 264
9.7 用AT89S51单片机的串行口 扩展并行输入/输出口 265
9.7.1 用74LS165扩展并行输入口 265
9.7.2 用74LS164扩展并行输出口 266
思考题及习题 267

第 10章 AT89S51单片机系统的串行扩展 269
10.1 单总线串行扩展 269
10.1.1 单总线扩展的典型应用——DS18B20的温度测量系统 269
10.1.2 设计案例:单总线DS18B20温度测量系统 272
10.2 SPI总线串行扩展 275
10.3 I2C总线的串行扩展 276
10.3.1 I2C串行总线系统的基本结构 276
10.3.2 I2C总线的数据传送规定 277
10.3.3 AT89S51的I2C总线扩展系统 280
10.3.4 I2C总线数据传送的模拟 281
10.3.5 利用I2C总线扩展E2PROM AT24C02的IC卡设计 284
思考题及习题 290

第 11章 AT89S51单片机与DAC、ADC的接口 292
11.1 单片机扩展DAC概述 292
11.2 单片机扩展并行8位DAC0832的设计 293
11.2.1 DAC0832简介 293
11.2.2 案例设计:单片机扩展DAC0832的程控电压源 294
11.2.3 案例设计:波形发生器的制作 296
11.3 单片机扩展串行10位DAC—TLC5615 300
11.3.1 串行DAC—TLC5615简介 300
11.3.2 案例设计:单片机扩展串行DAC—TLC5615的设计 302
11.4 单片机扩展ADC概述 304
11.5 单片机并行扩展8位A/D转换器ADC0809 305
11.5.1 案例设计:单片机控制ADC0809进行A/D转换 306
11.5.2 案例设计:两路输入的数字电压表的设计 308
11.6 单片机扩展串行8位A/D转换器TLC549 311
11.6.1 TLC549的特性及工作原理 311
11.6.2 案例设计:单片机扩展TLC549的设计 312
11.7 单片机扩展串行12位 ADC—TLC2543的设计 314
11.7.1 TLC2543的特性及工作原理 314
11.7.2 案例设计:单片机扩展TLC2543的设计 316
思考题及习题 319

第 12章 单片机各种应用设计 321
12.1 单片机控制步进电机的设计 321
12.2 单片机控制直流电机 323
12.3 频率计的制作 325
12.4 电话机拨号的模拟 328
12.5 8位竞赛抢答器设计 333
12.6 基于时钟/日历芯片DS1302的电子钟设计 337
思考题及习题 344

第 13章 功率接口设计 345
13.1 单片机与外围集成数字驱动电路的接口 345
13.2 单片机与光电耦合器的接口 347
13.2.1 晶体管输出型光电耦合器驱动接口 347
13.2.2 晶闸管输出型光电耦合器驱动接口 349
13.3 单片机与继电器的接口 350
13.3.1 单片机与直流电磁式继电器功率接口 350
13.3.2 单片机与交流电磁式接触器的接口 351
13.4 单片机与晶闸管的接口 352
13.4.1 单向晶闸管 352
13.4.2 双向晶闸管 352
13.4.3 光耦合双向晶闸管驱动器 352
13.5 单片机与集成功率电子开关输出接口 354
13.5.1 集成功率电子开关TWH8751简介 355
13.5.2 集成功率电子开关TWH8751的典型应用 356
13.6 单片机与固态继电器的接口 356
13.6.1 固态继电器的特性与分类 356
13.6.2 固态继电器的应用 357
13.7 低压开关量信号输出技术 360
思考题及习题 360

第 14章 单片机应用系统抗干扰与可靠性设计 362
14.1 干扰的来源 362
14.2 供电系统干扰及其抗干扰措施 363
14.2.1 电源噪声来源、种类及危害 363
14.2.2 供电系统的抗干扰设计 363
14.3 过程通道干扰的抑制措施—隔离 364
14.3.1 光电隔离的基本配置 364
14.3.2 光电隔离的实现 365
14.4 空间干扰及抗干扰措施 366
14.4.1 接地技术 367
14.4.2 屏蔽技术 368
14.5 反电势干扰的抑制 369
14.6 印制电路板的抗干扰设计 370
14.6.1 地线及电源线设计 370
14.6.2 去耦电容的配置 371
14.6.3 印制电路板的布线的抗干扰设计 371
14.7 软件抗干扰措施 372
14.7.1 软件抗干扰的一般方法 372
14.7.2 软件滤波 372
14.7.3 开关量输入/输出软件抗干扰设计 373
思考题及习题 374

第 15章 单片机应用系统的设计与调试 376
15.1 单片机应用系统的设计步骤 376
15.2 单片机应用系统设计 377
15.2.1 硬件设计应考虑的问题 377
15.2.2 典型的单片机应用系统 378
15.2.3 系统设计中的总线驱动 379
15.2.4 软件设计考虑的问题 381
15.3 单片机应用系统的仿真开发与调试 381
思考题及习题 385

附录A 386
基础实验题目 386
实验1 单片机I/O口实验——LED流水灯 386
实验2 单个外部中断实验 386
实验3 中断嵌套实验 387
实验4 定时器/计数器的定时实验 387
实验5 定时器/计数器的计数器实验 387
实验6 串口方式0扩展并行输出口实验 388
实验7 串行口方式0扩展并行输入口实验 388
实验8 双单片机串行通信 389
实验9 扩展82C55并行I/O实验 390
实验10 独立式键盘实验 390
实验11 矩阵式键盘扫描实验 391
实验12 单片机控制1602液晶显示器显示字符 391
实验13 DAC0832的D/A转换实验 392
实验14 ADC0809的A/D转换实验 392
实验15 I2C总线串行扩展——AT24C02存储器读写 393

附录B 394
课程设计题目 394
题目1 节日彩灯控制器的设计 394
题目2 单一外中断的应用 394
题目3 LED数码管秒表的制作 395
题目4 音乐音符发生器的制作 395
题目5 用定时器设计的门铃 396
题目6 控制数码管循环显示单个数字 396
题目7 基于DS18B20的数字温度计设计 396
题目8 利用定时器在P1.0 上产生周期为2ms的方波 397
题目9 电话键盘及拨号的模拟 398
题目10 双机串行口方式1单工通信 398
题目11 数码管显示4×4 矩阵键盘的键号 399
题目12 波形发生器的制作 399
题目13 频率计的制作 399
题目14 数字电压表设计 400
题目15 单片机控制串行DAC—— TLC5615的调压器 401
题目16 单片机控制16×16 阵列LED的显示 401
题目17 直流电机控制实验 402
题目18 步进电机控制实验 402

附录C 406
头文件"LCD1602.h"清单 406
附录D 408
头文件"DS1302.h"清单 408
参考书目 412

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

张毅刚 哈尔滨工业大学教授,国家精品课程“单片机原理”、国家精品资源共享课“单片机原理”、首批国家精品在线开放课程“单片机原理”的负责人。黑龙江省教学名师奖获得者,教育部全国高校网络培训中心“单片机原理”骨干教师高级研修班特聘主讲教授。主持并获得省高等教育教学成果一等奖2项,二等奖2项,获国家教学成果一等奖1项。普通高等教育国家级“十五”规划教材、“十一五” 国家级规划教材、“十二五”普通高等教育本科国家级规划教材主编。主要科研方向为自动化测试技术。参加并完成多项科研项目,获国家科技进步二等奖1项,部委科技进步奖6项。

推荐用户

同系列书

相关图书