图书前言

51单片机具有体积小、功能强、价格低的特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域有着广泛的应用,其应用可以大大提高生产、生活的自动化水平。51单片机的应用系统是一个用于实现某种目的、以51单片机为核心的软件和硬件综合体;在应用系统中,除了51单片机之外通常还会涉及一些其他的模块和器件,本书介绍了这些包括51单片机内部模块在内的常用模块和器件的典型应用方法。

本书内容简介

全书分为18章,以下是各章内容的概述。

第1章  51单片机的内部模块

本章介绍了51单片机应用系统的构成和设计流程,并且介绍了51单片机的并行I/O、定时计数器、串行通信模块等内部模块的基础和高级使用方法。

第2章  51单片机的常用算法和函数模块

在51单片机的应用系统中,有很多功能模块是会被反复使用的,如果每个应用系统都单独为这些功能模块编写相应的代码,一方面会大大增加开发的工作量,另一方面从某种意义上来说也降低了系统的可靠性,此时如果将这些功能模块做成库函数,则可以高效便捷地完成相应的设计。本章介绍了C51语言提供的函数和一些常用的用户自定义函数。

第3章  扩展51单片机外围模块的方法 

本章介绍了在51单片机应用系统中扩展外围模块的方法,包括使用地址—数据总线扩展、使用串行通信模块扩展、使用I2C总线扩展、使用SPI总线扩展和使用1-wire总线扩展。

第4章  51单片机的I/O引脚模块

在实际使用系统中可能出现51单片机的I/O引脚不够的情况,本章介绍了如何使用译码器、锁存器、三态门等扩展51单片机的I/O引脚的方法。在本章的最后提供了一个电子抽奖系统的应用实例。

第5章  51单片机的用户输入通道模块

在51单片机应用系统中,常常需要用户通过输入对系统进行控制或者给系统提供一些参数,此时需要使用一些器件使得用户完成相应的操作,这些器件被称为51单片机的用户输入通道,包括按键、拨码开关、键盘等。本章详细介绍如何在51单片机的应用系统使用用户输入通道。在本章的最后提供了一个带计时功能计算器的应用实例。

第6章  51单片机的LED显示模块

LED显示模块是51单片机应用系统中最常用的两种显示模块之一,包括发光二极管、单位数码管、多位数码管等。本章详细介绍了它们的使用方法。在本章的最后提供了一个简易频率计的应用实例。

第7章  51单片机的液晶显示模块

液晶显示模块是51单片机应用系统中最常用的两种显示模块之一,本章介绍了数字字符液晶1602、汉字图形液晶12864、点阵液晶显示模块等的使用方法。在本章的最后提供了一个俄罗斯方块游戏的应用实例。

第8章  51单片机的语音和打印输出模块

51单片机应用系统除了使用显示模块来和用户进行数据交互之外,还可以使用语音和文字信息来提供应用系统需要输出的信息。本章详细介绍了包括蜂鸣器、录放音芯片ISD2560、文本语音芯片SYN6188等的使用方法。在本章的最后提供了一个简易电子琴的应用实例。

第9章  51单片机的驱动和执行机构

在51单片机的应用系统中,常常需要驱动物体进行物理位移或者驱动物体进行开启和闭合操作,完成这些动作的模块被称为51单片机的驱动和执行结构。本章介绍了包括三极管、达林顿管、光电隔离器、继电器等的使用方法。在本章的最后提供了一个天车控制系统的应用实例。

第10章  51单片机的A/D模块 

在51单片机的应用系统中,某些信号是以模拟电压的形式给出的,此时需要使用外扩的A/D(模拟/数字变换)模块将这些连续的模拟电压信号转换为数字信号才能被51单片机所识别。本章介绍了A/D模块的工作原理和常见的A/D模块的使用方法,包括MAX197、TLC2543、ADS1100等。在本章的最后提供了一个太阳能电池监控系统的应用实例。

第11章  51单片机的D/A模块 

在51单片机的应用系统中,常常需要通过单片机控制一些模拟量如模拟电压、模拟电流驱动一些外部设备,此时需要将51单片机内部的数字信息转化为模拟信号,需要使用被称为D/A芯片或者DAC(Digital Analog Converter)的数字—模拟转换模块。本章介绍了D/A模块的工作原理和常见的D/A模块的使用方法,包括DAC0832、TLC5615等,还介绍了信号发生器模块MAX038的使用方法。在本章的最后提供了一个简易波形发生器的应用实例。

第12章  51单片机的时钟传感器模块

时钟传感器是指能给51单片机的应用系统提供当前时间和日期信息的模块,其具有不占用单片机内部资源(需要占用引脚)、软件相对简单、时间精度较高和掉电不会丢失数据的优点。本章介绍了包括DS12C887、PCF8563等在内的时钟传感器的使用方法。在本章的最后提供了一个简易数字时钟的应用实例。

第13章  51单片机的温度传感器模块

在51单片机的应用系统中,可能需要测量当前系统所处环境的温度,此时可以扩展相应温度传感器来获取相应的信息,这些温度传感器通常可以自主地将温度数据转换为对应的数字量,然后通过相应的数据接口发送给51单片机。本章将介绍在51单片机应用系统中获取温度的方法以及包括DS18B20、TC77等在内的温度传感器的使用方法。在本章的最后提供了一个多点温度采集系统的应用实例。

第14章 51单片机的常用其他传感器模块

除了温度和时间之外,51单片机的应用系统中常常还会涉及其他一些物理量的测量,包括温度、压力、当前位置等;在实际应用中同样可以使用对应的传感器来对这些物理量进行测量。本章介绍51单片机的这些传感器的使用方法,包括湿度传感器SHT75、压力传感器MPX4115、数字罗盘传感器HMR3000等。在本章的最后提供了一个手持倾角仪的应用实例。

第15章  51单片机的有线通信模块

51单片机应用系统常常需要和其他系统进行数据交换,如PC、ARM嵌入式应用系统等,此时需要一个数据通道来提供对应的数据流操作,这个数据通道可以按照物理载体的不同分为有线和无线两种。常见的有线数据通道芯片包括RS-232总线芯片、RS-485总线芯片、CAN总线芯片、USB桥接口芯片等,通过对这些芯片的使用可以组成一个有51单片机应用系统参与的有线网络。在本章的最后提供了一个远程仓库湿度监测系统的应用实例。

第16章  51单片机的无线通信模块

当51单片机的应用系统不方便使用电缆等有线物理通道和其他系统进行数据交换时,可以使用无线电波进行通信,这种通道被称为无线数据通道。常见的无线数据通道模块包括红外收发芯片和基于433MHz无线数据通信模块PTR8000,通过对这些芯片和模块的使用可以组成一个有51单片机应用系统参与的无线网络。

第17章  51单片机的小容量存储模块

本章介绍了在51单片机应用系统中常用的小容量存储模块的使用方法,包括单口和双口RAM、E2PROM、加密IC卡和非接触射频卡等。

第18章  51单片机的大容量存储模块

本章介绍了在51单片机应用系统中常用的大容量存储模块的使用方法,包括Nand Flash芯片K9F5608、U盘扩展芯片CH376、SD卡。

本书特点

本书涵盖了51单片机从内部资源到用户输入通道、A/D信号采集、温度/湿度传感芯片、有线/无线通信模块、数字罗盘和GPS模块等常用的外围器件/模块,对于相应的器件或者模块的介绍,都按照原理讲解、应用电路分析、操作步骤分析和应用实例循序渐进的方式,并且在最后点评了其使用要点。

本书提供了大量的实际应用电路和代码,并且给出了相当多器件/模块的51单片机驱动库函数,读者可以修改这些电路和代码或者直接应用于自己的实际工程项目中。

感谢

本书由程国钢、文坤、王祥仲、尹辉主持编写,此外,许小荣、陈作聪、张泽、刘荣、张璐、王统、王东、周艳丽、刘波、苏静、贾东永、王松年、祁招娣、王龙、陈可汤、蔡娜等也参与了本书的编写和修改,在此,向他们致以诚挚的谢意!

作者受学识水平所限,而且本书程序和图表较多,加上时间仓促,书中疏漏甚至谬误之处难免,希望读者批评、指正。

编  者  

2015年12月