目前,很多有关单片机的教材内容较陈旧,且多注重理论讲解,与实际应用结合不够紧密。本书在编写中,弥补了以往教材中的不足,在讲解相关理论和基本的单片机技术的同时,还介绍了增强型单片机以及新技术方面的内容,力求让本书更实用。
本书的驱动程序全部以C语言的形式给出。本书还介绍了一种常用的C语言开发环境KeilμVision,该环境还可以对ARM控制器进行编程,有助于读者学习更高层次的微控制器。本书还介绍了目前主流的程序下载方式——ISP编程,用该方式进行程序下载时可不将单片机从系统拔出,而且成本很低,可有效提高编程效率。
本书从基础知识出发,循序渐进地阐述了单片机的基本原理、基本技术和系统设计方法,以及单片机的主流应用技术和发展方向,力求使读者从整体上了解单片机的基本理论和应用。书中的驱动程序全部以C语言形式给出,便于理解和记忆。本书将基本理论与实践环节紧密结合,最后通过一个典型的基于单片机的温度控制系统的设计实例,讲解了一个完整系统的构建方式。
本书可作为各高职高专院校计算机、自动化、通信、电子工程和机电一体化等专业的“单片机原理及接口技术”课程的教材,也可供工程技术人员、自学者参考使用。
第1章 概述1
1.1 单片机的发展1
1.2 主流单片机的分类2
1.3 单片机项目开发过程6
1.4 单片机选型原则7
习题9
第2章 MCS-51系列单片机的硬件结构10
2.1 MCS-51系列单片机的主要性能特点10
2.2 MCS-51系列单片机的内部结构12
2.3 MCS-51系列单片机的引脚功能12
2.4 MCS-51系列单片机的主要组成部分14
2.4.1 CPU14
2.4.2 存储器15
2.4.3 特殊功能寄存器19
2.4.4 I/O接口22
2.5 时钟电路与时序25
2.5.1 时钟电路25
2.5.2 有关时序的概念26
2.5.3 CPU时序26
2.6 单片机的复位28
2.6.1 复位电路28
2.6.2 复位后的状态29
2.7 低功耗设计29
2.8 最小系统设计30
习题31
第3章 Keil C开发与ISP编程32
3.1 Keil C特点32
3.1.1 Keil C语言的基本结构32
3.1.2 数据类型35
3.1.3 特殊功能寄存器35
3.1.4 存储类型36
3.1.5 指针39
3.1.6 绝对地址访问40
3.1.7 Keil C注意事项40
3.2 Keil μVision3集成开发环境的简单介绍42
3.2.1 在Keil μVision3中建立工程的方法42
3.2.2 在Keil μVision3中建立多文件工程47
3.3 单片机的ISP编程49
3.3.1 ISP编程硬件电路50
3.3.2 STC_ISP下载软件50
习题53
第4章 单片机I/O口应用54
4.1 蜂鸣器的驱动54
4.2 继电器的驱动55
4.3 LED指示灯的应用56
4.4 LED显示器的接口技术57
4.4.1 LED显示原理57
4.4.2 LED显示器的动态扫描驱动方式59
4.4.3 LED显示器串行驱动方式62
4.5 键盘接口技术65
4.5.1 独立式键盘接口65
4.5.2 矩阵式键盘接口67
4.6 键盘显示接口芯片HD727970
4.6.1 HD7279的特点及引脚70
4.6.2 控制指令71
4.6.3 HD7279与单片机的接口及程序设计76
4.7 LCD显示器原理及应用81
4.7.1 液晶显示模块的原理81
4.7.2 字符型液晶显示器RT1602C82
4.7.3 基于ST7920控制器的128×64液晶模块87
4.8 LED点阵应用99
习题103
第5章 定时/计数器105
5.1 定时/计数器T0和T1105
5.1.1 定时/计数器T0和T1的结构及功能105
5.1.2 定时/计数器T0和T1的功能寄存器106
5.1.3 定时/计数器T0和T1的工作模式107
5.1.4 定时/计数器T0和T1应用举例109
5.2 定时/计数器T2113
5.2.1 T2控制寄存器T2CON和T2MOD113
5.2.2 T2的操作模式114
习题118
第6章 中断系统119
6.1 中断控制方式119
6.1.1 中断的概念119
6.1.2 中断处理过程120
6.2 52系列单片机的中断系统121
6.2.1 中断源类型121
6.2.2 中断请求标志122
6.2.3 中断请求控制123
6.2.4 中断处理过程126
6.3 中断的C51编程128
6.4 外部中断的扩充133
习题134
第7章 串行通信接口135
.1 串行通信的基础知识135
7.1.1 串行通信的基本原理135
7.1.2 RS-232C串行总线137
7.1.3 串并转换和串行接口138
7.2 51系列单片机的串行接口138
7.2.1 标准UART操作基础138
7.2.2 标准UART工作模式141
7.3 串口通信程序的编写145
7.3.1 单片机与PC机通信146
7.3.2 单片机双机通信151
习题155
第8章 A/D转换器和D/A转换器的应用156
8.1 A/D转换器接口156
8.1.1 A/D转换器概述156
8.1.2 8位并行A/D转换器ADC0809157
8.1.3 12位A/D转换器MAX197160
8.1.4 16位A/D转换器AD7705163
8.2 D/A转换器接口170
8.2.1 D/A转换器的主要性能指标170
8.2.2 8位D/A转换器DAC0832170
8.2.3 12位D/A转换器MAX508174
习题177
第9章 常用外围芯片资料与编程178
9.1 实时日历/时钟芯片DS1302178
9.1.1 DS1302的基本组成和工作原理178
9.1.2 DS1302与单片机接口及程序180
9.2 单总线温度传感器DS18B20184
9.3 E-2PROM存储器24C02的应用189
9.3.1 I2C总线简介189
9.3.2 I2C总线上的数据传送190
9.3.3 I2C总线竞争的仲裁192
9.3.4 模拟I2C总线192
9.3.5 24C02的功能192
9.3.6 24C02的总线特性194
9.3.7 硬件连接及程序194
9.4 语音芯片WTV040及其应用199
9.4.1 引脚功能描述200
9.4.2 一线串口控制模式200
9.4.3 一线式串口控制程序202
习题203
第10章 电机控制205
10.1 步进电机概述205
10.2 步进电机原理205
10.2.1 反应式步进电机原理205
10.2.2 感应子式步进电机206
10.3 步进电机应用207
10.4 驱动控制系统209
10.4.1 基于ULN2003的驱动方式209
10.4.2 步进电机细分控制211
10.5 直流电机控制214
10.5.1 PWM技术214
10.5.2 双全桥驱动器L298N215
10.5.3 驱动程序216
习题218
第11章 基于单片机的温度控制系统设计219
11.1 温度控制系统组成及功能219
11.2 温度控制系统硬件设计220
11.2.1 温度传感器及调理电路220
11.2.2 单片机的选择222
11.2.3 电源电路223
11.2.4 人机接口设计223
11.2.5 加热电路设计224
11.3 温度控制系统软件设计225
11.3.1 PID算法简介225
11.3.2 PID控制器的参数整定226
11.3.3 温度控制的程序编写227
参考文献234