本书主要介绍了51单片机系统中常用模块的具体运用,这些模块包括:内部模块、常用算法和函数模块、扩展外围模块、I/O引脚模块、用户输入通道模块、LED显示模块、液晶显示模块、 语音和打印输入模块、驱动和执行机构、A/D模块、D/A模块、时钟传感器模块、温度传感器模块、常用其他传感器模块、有线通信模块、无线通信模块、小容量存储模块,以及51单片机的大容量存储模块。
本书适合具有初步单片机基础的单片机工程师使用,也可供高等院校电子类专业的学生和单片机爱好者参考阅读。
第1章 51单片机的内部模块 1
1.1 51单片机及其应用系统概述 1
1.1.1 51单片机应用系统的构成和设计流程 2
1.1.2 “最小”51单片机应用系统 4
1.2 51单片机内部模块的基础应用 5
1.2.1 内部模块基础 5
1.2.2 并行I/O模块 6
1.2.3 定时计数器模块 7
1.2.4 中断系统和外部中断模块 13
1.2.5 串行通信模块 18
1.3 51单片机内部模块的高级应用 24
1.3.1 使用定时计数器扩展外部中断 24
1.3.2 使用I/O端口模拟串行通信端口 25
1.3.3 串行通信模块的波特率自适应 29
1.3.4 使用软件扩展多级中断应用 32
1.3.5 定时计数器的可控PWM输出 36
第2章 51单片机的常用算法和函数模块 39
2.1 51单片机的库函数基础 39
2.1.1 函数库和头文件分类 39
2.1.2 自定义库 40
2.1.3 库函数的使用 41
2.2 51单片机常用函数模块 41
2.2.1 内部函数_crol_() 41
2.2.2 内部函数_nop_() 42
2.2.3 输入/输出函数putchar() 44
2.2.4 输入/输出函数printf() 45
2.2.5 随机数生成函数rand()和srand() 48
2.3 51单片机的常用算法模块 52
2.3.1 统计字节中1的个数 52
2.3.2 软件延时/定时 53
2.3.3 排序算法 53
第3章 扩展51单片机外围模块的方法 55
3.1 地址—数据总线扩展 55
3.2 串行通信模块扩展 58
3.3 I2C总线扩展 58
3.3.1 I2C总线基础 58
3.3.2 I2C总线接口扩展的驱动库函数 61
3.4 SPI总线扩展 67
3.4.1 SPI总线基础 67
3.4.2 SPI总线接口扩展的驱动库函数 69
3.5 1-wire总线扩展 70
3.5.1 1-wire总线扩展原理 70
3.5.2 1-wire总线扩展的驱动库函数 72
第4章 51单片机的I/O引脚模块 75
4.1 译码器模块 75
4.1.1 译码器模块的应用场合 75
4.1.2 译码器模块的应用基础 76
4.1.3 译码器模块的应用实例——简易流水灯 78
4.2 锁存器模块 79
4.2.1 锁存器模块的应用场合 80
4.2.2 锁存器模块的应用基础 80
4.2.3 锁存器模块的应用实例——秒表 82
4.3 三态门模块 84
4.3.1 三态门模块的应用场合 84
4.3.2 三态门模块的应用基础 84
4.3.3 三态门模块的应用实例——地址输入 86
4.4 串行输入并行输出模块 88
4.4.1 串行输入并行输出模块的应用场合 88
4.4.2 串行输入并行输出模块的应用基础 88
4.4.3 串行输入并行输出模块的应用实例——秒计时 90
4.5 并行输入串行输出模块 93
4.5.1 并行输入串行输出模块的应用场合 93
4.5.2 并行输入串行输出模块的应用基础 93
4.5.3 并行输入串行输出模块的应用实例——读取拨码开关状态 95
4.6 可编程I/O扩展芯片Intel8255 96
4.6.1 可编程I/O扩展芯片Intel8255的应用场合 96
4.6.2 可编程I/O扩展芯片Intel8255的应用基础 97
4.6.3 可编程I/O扩展芯片Intel8255的应用实例——扩展输入/输出 100
4.7 I/O引脚模块的应用实例——电子抽奖系统 102
4.7.1 电子抽奖系统的需求分析 103
4.7.2 电子抽奖系统的电路设计 103
4.7.3 电子抽奖系统的应用代码 105
第5章 51单片机的用户输入通道模块 111
第6章 51单片机的LED显示模块 151
第7章 51单片机的液晶显示模块 201
第8章 51单片机的语音和打印输出模块 259
第9章 51单片机的驱动和执行机构 297
第10章 51单片机的A/D模块 339
第11章 51单片机的D/A模块 407
第12章 51单片机的时钟传感器模块 451
第13章 51单片机的温度传感器模块 485
第14章 51单片机的常用其他传感器模块 515
第15章 51单片机的有线通信模块 567
第16章 51单片机的无线通信模块 613
第17章 51单片机的小容量存储模块 637
第18章 51单片机的大容量存储模块 711
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月
在我看来,要真正掌握一门技术,光有理论是不够的,更重要的是要有实践的支撑,而实践的起点往往是掌握各种“工具”和“模块”的使用。尤其是在51单片机这样一种广泛应用于嵌入式系统初学和入门的平台上,如何快速有效地利用各种外围模块来构建功能,是决定学习效率和项目成功率的关键。《51单片机常用模块设计查询手册(第2版)》这本书,恰恰满足了这一需求。它并没有像传统的教材那样,从抽象的指令集和架构开始,而是直接切入51单片机中最常用、最实用的模块,例如如何控制LED灯的亮灭,如何读取按键的按下状态,如何驱动数码管显示数字,如何使用ADC进行模数转换等等。这本书的优点在于,它不仅仅是罗列代码,而是将每一个模块的“设计”过程进行了系统的梳理。它会先解释这个模块的基本原理,然后给出相应的硬件连接方式,接着提供一套完整的、可以运行的代码,并且对代码中的关键部分进行详细的解释,让你明白“为什么”要这么写。这种“由表及里”的讲解方式,非常有助于理解和掌握。我特别喜欢书中关于通信模块(如UART、SPI、I2C)的讲解。这些模块在实际项目中非常常见,但配置起来往往比较复杂。书中通过清晰的图示和代码示例,将这些复杂的通信协议变得直观易懂,让我能够比较容易地将它们应用到自己的项目中。我最近就在尝试用51单片机连接一个LCD12864显示屏,书里正好有详细的关于LCD12864的驱动章节,跟着书中的指导,我很快就成功地在屏幕上显示了自己想要的文字和图形,这种成就感是学习过程中非常宝贵的动力。总而言之,这本书就像是51单片机的“瑞士军刀”,提供了一个丰富的功能集,让你能够快速地应对各种设计挑战。
评分说实话,我之前对51单片机一直持有一种“敬而远之”的态度。总觉得它虽然经典,但毕竟是“老技术”了,而且网上的教程更是五花八门,质量参差不齐,很容易让人产生畏难情绪。但是,我身边的一些朋友都在玩这个,而且一些小的物联网项目确实也离不开它,所以我也就硬着头皮开始尝试。结果,我意外地发现《51单片机常用模块设计查询手册(第2版)》这本书,简直是为我这种“小白”量身定做的。它没有一开始就抛出很多晦涩的概念,而是从最基础的、最直观的模块入手,比如怎么让LED灯闪烁,怎么让按键产生响应,这些都是最能激发学习兴趣的部分。而且,书中对每一个模块的讲解都非常细致,就像是一位耐心的老师手把手地教你。比如,要点亮一个LED,它会告诉你需要连接什么电阻,需要给哪个IO口发送什么样的电平信号,然后给出对应的C语言代码,并且把代码的每一行都解释得明明白白,让你知道为什么这么做。我特别喜欢它对于一些常用模块的“查询”功能。当我遇到一个问题,比如“我想用51单片机读取一个温度传感器的数据”,我就可以直接翻到相关的章节,书里会告诉我需要用到哪个传感器,需要什么样的接口电路,以及相应的通信协议和程序代码。它不是那种让你死记硬背的书,而是通过大量的实例,让你在实践中去理解和掌握知识。我最近跟着书里的例子,成功地实现了用IO口控制一个舵机,这让我非常有成就感。以前觉得单片机编程很难,现在感觉也没有那么可怕了。这本书就像是一张通往单片机世界的“地图”,它指明了方向,并且提供了详细的“路线图”,让我能够更轻松、更自信地去探索。
评分我是一名在嵌入式领域摸爬滚打多年的工程师,手上接触过各种单片机平台,但51系列由于其经典地位和广泛的应用,至今仍然是许多项目的首选。在长期的实践中,我发现虽然有很多优秀的单片机开发书籍,但专门针对“模块化设计”进行系统性梳理和查询的资料却相对稀缺。很多时候,遇到一个具体的功能需求,我需要翻阅大量的资料,从不同的技术文档、论坛帖子中零散地搜集信息,拼凑出一个可行的解决方案,这不仅耗时耗力,而且容易遗漏关键细节。而这本《51单片机常用模块设计查询手册(第2版)》的出现,正好填补了这一空白。它以“查询手册”的定位,提供了一种高效的信息检索和参考模式。书中将51单片机常用的各个模块(例如,数码管显示、矩阵键盘、LCD1602、RTC时钟、ADC/DAC转换、UART通信、SPI/I2C接口等)进行了逻辑清晰的划分,每一类模块都提供了一个相对完整的“设计方案”,包括了硬件接口的说明、关键寄存器的配置、典型的工作流程以及配套的代码示例。最让我赞赏的是,书中不仅仅提供了“怎么做”,更深入地解析了“为什么这么做”,对于一些核心的原理和需要注意的细节,都有深入的阐述。例如,在讲解PWM输出时,它不仅给出了代码,还详细解释了定时器的工作模式、计数方式以及如何通过调整重载值和比较值来控制占空比,这对于理解和优化设计至关重要。这种深入的分析,能够帮助工程师快速理解模块的本质,从而在实际项目中做出更优化的设计选择。这本书更像是一本“活字典”,在项目开发过程中,当我遇到一个特定的模块需求时,可以快速翻阅到相应的章节,获取到最直接、最有效的指导,大大提高了开发效率和项目的成功率。
评分这本书我真的太需要了!作为一名刚刚接触单片机不久的学生,我总是被各种模块搞得头晕眼花。网上零散的资料多如牛毛,但往往不成体系,而且很多都只讲了理论,缺乏实际操作的指导。当我拿到这本《51单片机常用模块设计查询手册(第2版)》时,感觉像是找到了救星。它不像那些晦涩难懂的专业书籍,而是用一种非常接地气的方式,把复杂的模块拆解开来,一步一步地教你如何理解和应用。书中涵盖的模块非常全面,从最基础的LED、按键,到稍微复杂一点的ADC、DAC、定时器,再到一些进阶的通信模块,比如串口、SPI、I2C,甚至还有一些传感器接口的讲解。每一章都配有清晰的电路图和详细的代码示例,这对我这种动手能力比理论基础强的学习者来说,简直是福音。我尤其喜欢的是,它不仅仅提供了代码,还对代码的每一部分都进行了详细的注释和解释,让你知道每一行代码的作用是什么,为什么要这么写。这种“授人以渔”的方式,让我能够举一反三,而不是仅仅停留在复制粘贴的层面。我最近在尝试做一个温湿度传感器的数据采集系统,书里正好有关于DHT11和DS18B20的详细讲解,我跟着书里的步骤,很快就完成了硬件连接和程序编写,并且成功显示了读数。这种成就感是无与伦比的。总而言之,如果你也在为51单片机的各种模块而苦恼,这本书绝对是你的不二之选。它就像一位经验丰富的老朋友,耐心地引导你一步一步地走进单片机的世界,让你不再害怕那些复杂的硬件和代码。
评分作为一名已经从事多年嵌入式开发工作的老兵,我见证了单片机技术的飞速发展,从8位到32位,从简单控制到复杂系统。然而,在我看来,51单片机作为一种基础的微控制器,其核心的原理和设计思想至今仍然具有极高的学习价值和实际应用意义。在日常工作中,我们常常需要处理各种外设接口和功能模块的集成,而《51单片机常用模块设计查询手册(第2版)》这本书,则提供了一个非常高效的参考平台。它系统地梳理了51单片机在实际应用中最常见的各种模块,如各类显示模块(LED、LCD)、输入模块(按键)、定时器/计数器应用、中断系统、ADC/DAC转换、串行通信(UART、SPI、I2C)等,并为每个模块提供了精炼的设计思路和实现方案。这本书最大的亮点在于其“查询手册”的定位,这意味着它更侧重于解决实际工程中的具体问题,而非进行大篇幅的理论推导。在遇到某个功能需求时,开发者可以快速定位到对应的模块章节,获取到详细的硬件连接示意图、关键寄存器配置说明,以及一段经过验证、可直接移植或借鉴的代码示例。尤其值得称赞的是,书中对于一些关键的设计细节和潜在的陷阱进行了深入的剖析,例如在多任务环境下处理中断的策略,或者在高速通信中如何避免信号干扰等,这些都是在实际项目开发中能够大大提升效率和减少调试时间的宝贵经验。对于初学者而言,它是一本能够快速入门、上手实践的“工具书”;对于有经验的工程师而言,它则是一本能够随时查阅、解决疑难问题的“知识库”。这本书以其高度的实用性和针对性,在我的案头占据了一席之地。
评分好
评分活动时候买了一大堆书,还没看。
评分还没看,厚厚的,看上去比较有东西的样子
评分不错 好评
评分活动时候买了一大堆书,还没看。
评分1234567890
评分非常好物有所值.……………………………
评分不错不错不错不错
评分好评
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有