本书在单片机教学的实践基础上,以应用为主调,对单片机的内容进行整合,从培养逻辑思维能力和编程思维能力的角度入手,以单片机软硬件设计为主线,结合工程实践,按照"系统需求分析 → 开发工具使用 → 片内外设应用”的路径,采用Keil C51基于通用开发板和Proteus软件仿真两种方式,分层次、递进式地讲授单片机内部的片上资源(如I/O、外部中断、定时器、模数转换器、串行通信等)及应用传感器构建单片机智能控制系统的开发实践。本书共9章,包括单片机概述、89C51/S51单片机内部的结构及引脚功能、单片机开发环境搭建、通用输入/输出(通用I/O)、外部中断、定时/计数器、串行通信、单片机接口技术和综合项目实践。 本书可作为应用型本科高等学校电子信息工程、自动化、通信工程、电气工程及其自动化、物联网、建筑电气与智能化等专业的单片机相关课程教材,也可为单片机实训、毕业设计、单片机爱好者及相关工程技术人员提供参考。
目 录
第1章 单片机概述 1
1.1 单片机概念 2
1.1.1 计算的黑匣子—抽象化的计算机 2
1.1.2 程序如何控制硬件?—集成化的微型计算机 4
1.1.3 为什么要使用单片机?—智能化控制的需求 7
1.1.4 单片机学什么 8
1.2 常见单片机型号 9
1.2.1 AT89C51、AT89C52和STC89C52 9
1.2.2 常见单片机型号 10
1.2.3 单片机芯片常见的封装形式 12
1.3 单片机常见应用领域 13
习题与思考 14
第2章 89C51/S51单片机的内部结构及引脚功能 15
2.1 89C51/S51单片机内部结构 16
2.2 单片机的引脚及功能 18
2.2.1 最小系统引脚 19
2.2.2 并行I/O端口 19
2.2.3 控制引脚 21
2.2.4 89C51/S51单片机最小系统电路 21
2.3 单片机的存储器 23
2.3.1 程序存储器(ROM) 24
2.3.2 数据存储器(RAM) 26
2.3.3 特殊功能寄存器(SFR) 28
2.4 单片机时序与复位 33
2.4.1 时序 33
2.4.2 复位 34
习题与思考 35
第3章 单片机开发环境搭建 36
3.1 单片机开发工具—集成开发环境Keil C51 37
3.1.1 Keil C51软件下载 37
3.1.2 Keil C51软件安装 37
3.1.3 Keil C51新建工程 39
3.2 STC_ISP程序下载工具 46
3.3 其他工具 46
3.3.1 集成开发环境IAR 46
3.3.2 代码编辑器Notepad++ 48
3.3.3 Proteus仿真软件 49
3.4 单片机系统开发流程 55
习题与思考 57
第4章 通用输入/输出(通用I/O) 58
4.1 通用I/O端口 59
4.1.1 并行I/O端口结构 59
4.1.2 通用I/O使用小结 61
4.2 通用输出功能应用 62
4.2.1 简单输出功能应用 62
4.2.2 I/O引脚驱动能力 70
4.3 通用输入功能应用 73
4.4 仿真与调试 76
习题与思考 82
第5章 外部中断 83
5.1 中断概述及单片机中断内部结构 84
5.1.1 中断概述 84
5.1.2 单片机中断内部结构 85
5.2 中断控制相关的寄存器 86
5.2.1 中断源 86
5.2.2 控制寄存器 86
5.2.3 中断允许控制寄存器(Interrupt Enable Register,IE) 88
5.2.4 中断优先级控制寄存器(Interrupt Priority Register,IP) 89
5.3 中断寄存器设置 91
5.3.1 中断初始化 91
5.3.2 中断服务 92
5.4 中断应用 93
5.5 按键中断计数数码管显示综合实例 95
习题与思考 100
第6章 定时/计数器 102
6.1 概述 103
6.1.1 容量、溢出、初值的基本概念 103
6.1.2 89C51/S51单片机定时/计数器的工作原理 104
6.1.3 89C51/S51单片机定时/计数器的内部结构 105
6.2 定时/计数器的相关寄存器 106
6.2.1 工作模式寄存器(Timer Mode Register,TMOD) 106
6.2.2 控制寄存器(TCON) 108
6.3 定时/计数器寄存器设置 109
6.4 定时/计数器应用 111
6.4.1 应用1—定时延时功能 111
6.4.2 应用2—PWM调光、调速 113
6.4.3 应用3—计数功能 116
6.4.4 应用4—测量功能(测量频率、脉冲宽度) 116
6.5 定时器中断控制数码管动态显示综合实例 117
习题与思考 120
第7章 串行通信 121
7.1 串行通信的概念 122
7.1.1 波特率 123
7.1.2 数据帧格式 123
7.1.3 UART接口 124
7.2 UART相关的寄存器 125
7.2.1 串行控制寄存器 126
7.2.2 电源控制寄存器(PCON) 127
7.2.3 中断允许控制器(IE) 128
7.3 串行口寄存器设置 128
7.3.1 串行口初始化 129
7.3.2 串行口数据缓冲寄存器(SBUF) 129
7.4 串行口应用 130
7.4.1 串行口工作方式0 130
7.4.2 串行口数据收发 132
7.4.3 串行口双机通信 133
7.4.4 串行口指令控制设备 135
习题与思考 137
第8章 单片机接口技术 138
8.1 通信总线接口 139
8.1.1 SPI总线 139
8.1.2 IIC总线 141
8.2 键盘接口技术 146
8.2.1 键盘接口的概述 146
8.2.2 键盘的硬件接口 146
8.3 LCD1602显示模块 150
8.3.1 原理 150
8.3.2 LCD1602字符库 150
8.3.3 LCD1602指令集 151
8.3.4 1602液晶读写时序 153
8.3.5 LCD1602的控制 153
8.4 模数转换器 156
8.4.1 模数转换器PCF8591 156
8.4.2 PCF8591应用 156
习题与思考 159
第9章 综合项目实践 160
9.1 单片机应用系统设计概述 161
9.1.1 系统需求分析 161
9.1.2 系统总体设计 161
9.1.3 系统硬件设计 162
9.1.4 系统软件设计 163
9.1.5 系统功能测试和优化 163
9.2 单片机应用系统设计案例 163
9.2.1 系统分析和总体设计 163
9.2.2 系统硬件设计 164
9.2.3 系统软件设计 169
9.2.4 调试 173
习题与思考 173
参考文献 174