本书主要介绍51系列单片机的组成结构、工作原理及产品设计实例。本书共分为7章,分别介绍了MCS-51单片机的结构及原理、开发流程、C51基础,以及51单片机的中断系统、定时/计数器、串行通信接口的功能及应用,另外还介绍了51单片机常用的输入输出设备,常用外围设备芯片的功能、使用方法及与单片机的接口方式等。各章均附有习题,第3~7章附有设计实例。
本书可作为高等院校自动化、计算机及电子类相关专业单片机原理及应用课程教材及相关课程设计的参考用书,还可供相关专业工程技术工作人员参考。
前 言
单片机从诞生至今已有40多年的历史。这40多年来,单片机对自动控制、电子信息及通信工程等学科领域中的信息传输与控制有着革命性的突破,同时随着现代超大规模集成电路的发展,单片机的功能与运行速度也不断与时俱进、不断创新,衍生出了许多新的技术分支,如嵌入式技术、SOPC技术等。
一方面,单片机技术目前仍然被应用于各个控制领域,小到儿童玩具、家用电器,大到汽车、船舶、飞机等;另一方面,单片机中的许多技术知识,如定时器、中断控制、并口、串口、A/D转换、D/A转换等,是进一步深入学习嵌入式技术、SOPC技术的基础。因此,单片机原理及应用这门课程是电子类专业学生必须学习和掌握的专业课程。
C语言是当今各领域控制系统中被广泛使用的语言,不但用于一般计算机的编程,而且在各种单片机、嵌入式技术、SOPC技术的使用上也必不可少。因此,本书以C语言为主线,对单片机各个模块和接口电路的软件程序开发做出了详细讲解。
编者在编写过程中,根据现代单片机技术的发展现状和研究成果,基于课堂教学和实践教学经验,汲取国内相关教材特色,秉承由易到难、深入浅出、突出重点的原则,对每个知识点均举例旁证,注意理论与实践相结合,并特别设置了设计与提高部分,结合实际应用列举不同的综合设计实例,详细分析设计过程并提出改进思考,重点培养学生的应用开发能力。
本书详细介绍了51单片机的组成结构及应用技术,共分为7章。第1章简单介绍51单片机的结构及原理,包括单片机的基本概念、发展历程、751单片机的特点、基本组成部分、工作方式等;第2章主要介绍Keil C51软件平台及单片机程序开发流程,包括工程文件的建立、工程编译、软件调试、软件仿真及下载方式等;第3章详细介绍51单片机的中断系统,包括中断响应过程、优先级排序、优先级控制、外部中断源功能及使用实例等;第4章详细介绍51单片机的定时/计数器,包括定时/计数器0、1、2的结构、工作原理、控制方式、工作方式等;第5章详细介绍51单片机的串行通信接口,包括串行通信接口标准、结构及功能等;第6章介绍51单片机常用的输入输出设备及接口,包括键盘、LED数码管、LCD1602与单片机的接口及工作方式等;第7章介绍51单片机常用的几种外围设备芯片,包括A/D、D/A转换芯片DAC0832、ADC0809、串行日历时钟芯片DS1302、数字温度传感器DS18B20芯片的功能、与单片机的接口方式及工作原理等。本书内容丰富,实例众多,每章后均附有习题。
本书由黄翠翠担任主编,中国地质大学侯自良教授对全书进行了认真审阅,提出许多宝贵意见,在此表示感谢。
由于编者水平有限,书中难免有疏漏之处,恳请读者批评指正。
编者
2018年3月
第1章51系列单片机基础1
1.1单片机基本知识2
1.1.1单片机的基本概念2
1.1.2单片机的发展历程3
1.1.3单片机的实际应用4
1.251系列单片机的结构及基本组成部分4
1.2.151系列单片机结构5
1.2.251系列单片机的基本组成部分6
1.351系列单片机的芯片封装及引脚功能15
1.3.151系列单片机的芯片封装15
1.3.251系列单片机的引脚功能16
1.451系列单片机的工作方式17
1.4.1复位方式17
1.4.2程序执行方式17
1.4.3低功耗方式18
习题18
第2章单片机最小系统20
2.1单片机最小系统介绍20
2.1.1时钟电路21
2.1.2复位电路21
2.1.351单片机下载方式22
2.1.4单片机最小系统的设计25
2.2Keil C51软件简介25
2.2.1程序编辑界面25
2.2.2程序调试界面27
2.3单片机程序开发流程28
2.3.1建立工程29
2.3.2编译并生成可执行文件33
2.3.3软件仿真34
2.3.4程序下载36
习题38
第3章51系列单片机的外部中断系统39
3.1中断的基本概念及其主要功能40
3.1.1中断的概念40
3.1.2中断的主要功能41
3.251系列单片机中断系统42
3.2.1中断源42
3.2.2中断允许控制42
3.2.3中断优先级43
3.2.4中断处理过程44
3.3外部中断源46
3.3.1外部中断系统硬件设计47
3.3.2外部中断系统软件设计47
3.3.3查询方式实现中断54
3.4产品设计56
3.4.1水库水位监测器设计56
3.4.28位抢答器设计59
习题61
第4章51系列单片机的定时/计数系统62
4.1定时/计数器的结构及工作原理63
4.1.1定时/计数器的结构63
4.1.2定时/计数器的工作原理63
4.2定时/计数器的控制及方式寄存器64
4.2.1定时/计数器的控制寄存器64
4.2.2定时/计数器的方式寄存器66
4.3定时/计数器的工作方式67
4.3.1定时/计数器0、1的工作方式67
4.3.2定时/计数器2的工作方式71
4.4定时/计数器应用设计实例74
4.4.1定时/计数器0、1编程实例74
4.4.2定时/计数器2的编程实例80
4.5产品设计85
4.5.1方波信号源及频率计85
4.5.2作息时间控制时钟设计87
4.5.3交通控制灯设计91
习题93
第5章51系列单片机的串行通信系统95
5.1串行通信概述96
5.1.1串行通信的分类96
5.1.2串行通信的数据传输格式97
5.1.3波特率98
5.2串行通信接口标准98
5.2.1RS232C标准99
5.2.2串口通信连接方式100
5.351系列单片机的串口结构与工作方式101
5.3.151系列单片机的串口结构101
5.3.2串口控制寄存器SCON102
5.3.3串口工作方式103
5.4串口应用编程实例106
5.4.1串口方式0编程实例106
5.4.2串口方式1编程实例111
5.4.3串口方式2和方式3编程实例114
5.5设计与提高121
习题124
第6章51系列单片机常用输入/输出设备126
6.1输入设备127
6.1.1开关和按键127
6.1.2键盘128
6.2输出设备135
6.2.1LED135
6.2.2LED数码管135
6.2.3LCD141
6.3输入/输出控制155
6.4产品设计161
6.4.1简易计算器设计161
6.4.2简易密码锁设计166
习题172
第7章51系列单片机常用外围设备芯片与接口电路174
7.1D/A转换芯片175
7.1.1D/A转换器175
7.1.2D/A转换芯片DAC0832177
7.1.3DAC0832与51系列单片机的接口电路179
7.2A/D转换芯片184
7.2.1A/D转换器184
7.2.2A/D转换芯片ADC0809185
7.2.3ADC0809与51系列单片机的接口电路187
7.3串行日历/时钟芯片191
7.3.1DS1302芯片191
7.3.2DS1302与51系列单片机的接口电路195
7.4数字温度传感器198
7.4.1DS18B20芯片198
7.4.2DS18B20芯片与51系列单片机的接口电路203
7.5产品设计210
7.5.1测速器设计210
7.5.2多路数字电压表设计214
7.5.3电子日历设计218
7.5.4数字温度计设计222
习题227
参考文献229