51单片机工程应用实例唐继贤作者简介、书籍目录、内容摘要、编辑推荐
本书是以单片机工程应用实例为重点的技术书,在简述了51单片机的软硬件基础之后,重点通过一系列工程应用实例,详细介绍了单片机的软硬件开发和调试方法,包括自制单片机编程器的方法,单片机的串口通信、定时/计数器、键盘输入、LED和LCD显示器等内外资源的使用和编程,在汇编程序中调用C程序的方法。实例中使用了很多当前流行的单片机智能外围芯片,包括实时钟、数字温度传感器、DDS波形发生器、无线数传模块、FM收音机和USB接口芯片等。书中用一章专题介绍了这些芯片所采用的单总线、IIC总线、SPI总线和USB总线等新型总线技术的原理;两个实例中还详细讲解了单片机与上位机RS232串口通信的高级语言编程方法以及用IJSB接口通信的方法。 本书附带光盘,内有实例程序的源代码。实例中所用的器材,取材容易,适合读者自己动手来做,特别适合电子技术类专业的大学生作为动手实践的教材,弥补他们在就业时缺乏实践经验的不足。本书涉及了电子工程应用的诸多方面,可作为各类单片机应用开发工程师的参考书。
作者简介
唐继贤,高级工程师,1982年毕业于西安交通大学信息与控制工程系无线电工程学士。长期在电子设备制造业工作,担任过总工、副总经理等。曾参加过秦山核电站北京正负电子对撞机等国家重点工程配套电子设备的研制工作近年来对单片机应用技术具有浓厚的兴趣,开发出多种基于单片机和微电脑的应用产品。2006年底在EDN电子设计技术上开始博客写作,全部为作者原创主要是单片机应用技术以及电子电路、设备维修等方面的内容受到了读者的欢迎,多次入选EDN博客名人堂,并获得最佳博客三等奖,是EDN博客首位写书的网友。作者还是一位资深的业余无线电爱好者,个人呼号BD9AH,在新浪上有一个记录个人业余生活的博客。
书籍目录
第1章 C51系列单片机的硬件结构 1.1 AT89C51单片机 1.1.1 AT89C51单片机的内部结构 1.1.2 AT89C51单片机的封装和引脚 1.1.3 AT89C51单片机的存储器 1.1.4 AT89C51单片机定时/计数器 1.1.5 AT89C51单片机的串口 1.1.6 AT89C51单片机的中断 1.1.7 AT89C51单片机的时钟电路和时序 1.1.8 AT89C51的工作方式 1.1.9 AT89C51的程序封锁位 1.2 AT89C2051单片机 1.3 STC51单片机 1.3.1 STC51单片机的特点 1.3.2 典型代表型号性能简介 1.3.3 STC51单片机的编程第2章 C51单片机的指令系统和汇编语言程序设计 2.1 指令组成 2.2 寻址方式 2.3 指令说明 2.4 汇编语言程序设计 2.4.1 汇编语言程序的格式 2.4.2 伪指令 2.4.3 汇编语言程序示例 2.5 集成开发环境μVision2 2.5.1 μVision2的窗口界面和功能 2.5.2 创建项目 2.5.3 调试第3章 单片机的总线扩展 3.1 并行总线的扩展 3.1.1 用锁存器扩展并行口 3.1.2 用三态门扩展并行口 3.1.3 用串行口扩展并行口 3.2 IIC总线 3.2.1 IIC总线的工作原理 3.2.2 IIC总线的工作时序 3.2.3 IIC总线的数据传送格式 3.2.4 IIC总线的寻址方式 3.2.5 在MCS-51单片机中软件模拟IIC总线的方法 3.3 DALLAS公司的单总线 3.3.1 硬件结构和连接 3.3.2 单总线的工作原理 3.3.3 单总线通信协议 3.3.4 单总线命令编程 3.4 SPI总线 3.4.1 SPI总线的接口信号 3.4.2 SPI总线的工作原理 3.4.3 SPI总线在8051单片机系统中的应用 3.5 USB总线 3.5.1 USB系统硬件 3.5.2 USB系统的软件设计第4章 采用LED显示的电子钟 4.1 数字钟的硬件组成 4.2 实时钟电路PCF8563简介 4.2.1 PCF8563的封装和引脚功能 4.2.2 PCF8563的内部资源和寄存器 4.2.3 PCF8563的应用电路 4.2.4 PCF8563程序设计 4.3 设置当前时间的方法 4.4 六位LED显示器的工作原理 4.4.1 硬件电路 4.4.2 汇编程序 4.5 数字钟编程 4.5.1 程序流程 4.5.2 汇编程序第5章 电容电感测量仪 5.1 LCD1602液晶显示器简介 5.1.1 LCD1602的引脚功能 5.1.2 LcD1602与单片机的连接 5.1.3 LCD1602的指令集 5.1.4 LCD1602的应用编程 5.2 用单片机测量频率的方法 5.3 电容电感测量仪的测量原理 5.3.1 电容量测量的一般原理 5.3.2 本机的测量原理 5.4 电容电感测量仪的制作 5.4.1 测量仪的硬件原理 5.4.2 测量仪的编程第6章 DDS波形发生器 6.1 DDS原理与特点 6.2 AD9835的应用与编程 6.2.1 内部原理 6.2.2 引脚及功能 6.2.3 内部寄存器、控制字和编程 6.2.4 AD9835的基本应用电路 6.3 矩阵键盘的使用 6.4 用AD9835和单片机制作的波形发生器 6.5 调试方法 6.5.1 硬件电路的调试 6.5.2 软件调试第7章 自制简单的51编程器 7.1 8051系列单片机编程器的基本原理 7.2 编程器的硬件电路 7.3 上位机程序 7.3.1 串口通信控件MScomm的使用 7.3.2 上位机程序窗口说明 7.3.3 VB程序源码及说明 7.4 监控单片机程序 7.4.1 编程函数及编程方法 7.4.2 主函数流程图 7.4.3 监控单片机程序 7.5 使用USB接口的编程器 7.5.1 USB接口芯片CH341简介 7.5.2 CH341的应用电路 7.5.3 CH341在编程器中的应用第8章 温度数据无线传输系统 8.1 DS18820数字温度传感器简介 8.1.1 DS18820的引脚封装和性能 8.1.2 DS18820的内部结构 8.1.3 DS18820在单片机系统中的应用 8.1.4 DS18820的功能命令 8.1.5 DS18820的编程 8.2 nRF905无线数传芯片 8.2.1 芯片内部结构 8.2.2 nRF905的封装和引脚 8.2.3 工作模式 8.2.4 nRF905的配置 8.2.5 应用电路 8.3 NewMsg-RF905SE无线收发模块 8.3.1 用户接口 8.3.2 NewMsg-RF905SE与单片机的连接 8.4 系统的硬件结构 8.5 单片机编程 8.6 上位机编程第9章 熔断时间测试仪 9.1 慢熔型片式熔断器 9.2 电流传感器 9.3 测试仪的硬件结构 9.4 测试仪的编程第10章 FM收音机 10.1 FM广播系统的基础知识 10.1.1 调频广播系统 10.1.2 调频广播收音机的原理 10.2 TEA5767HN单片FM调谐器 10.2.1 TEA5767HN的性能 10.2.2 TEA5767HN的引脚和封装 10.2.3 TEA5767HN的内部结构和功能 10.2.4 TEA5767HN的总线接口和控制寄存器 10.2.5 TEA5767HN的典型应用电路 10.3 FM收音模块 10.4 使用单片机和FM收音模块制作FM收音机 10.4.1 收音机硬件电路的说明 10.4.2 收音机的编程 10.5 调试方法和有关问题附录 附录A 51指令码速查表 附录B ASCII码表 附录C 实验电路板 附录D 英汉名词对照参考文献后记
章节摘录
插图:第1章 C51系列单片机的硬件结构美国INTEL公司于1980年在MCs一48单片机的基础上推出了MCS-51系列单片机。该系列单片机与前者相比,其结构更先进,功能更强大,并在原有的基础上增加了更多的电路单元和指令。它有四个8位并行端口,一个全双工串口,两个16位定时/计数器,五个中断源,两种省电工作模式;指令多达111条,有单独的乘除法指令,各有一个独立的64 KB程序存储器和数据存储器空间等。MCS-51单片机优异的性能使得它迅速得到了广泛的应用,成为8位单片机事实上的工业标准,通过专利互换或专利许可,世界上许多著名的半导体公司例如PHlLIPS、DALLAS、ATMEL等也大量生产与之兼容的产品。尽管近年来出现了很多其他类型的8位单片机,但是,以MCS一51为核心的各类单片机仍然是市场的丰流产品。最初的MCS-51系列单片机主要包括8031、8051和8751三个品种,其实它们早已被性能更加优良、与之兼容的产品所取代。现在所说的C51单片机泛指与其兼容的所有采用MCS-51内核的单片机。目前使用较多的是ATMEL公司的产品,主要有AT89C51/52、AT89C2051和AT89Sxx等。其主要特点是采用了可反复擦写的闪速存储器(flash memory),便于用户反复调试程序。新型的AT89Sxx系列产品还具有在系统可编程功能ISP(1n—System Program—mable),给用户提供了更大的方便。本章将主要以AT89C51为例,讲解C51系列单片机的硬件结构。AT89C51是一种内含4 KB闪速存储器、低电压、高性能的8位CMOS微控制器。它采用了ATMEL公司的高密度非易失存储器制造技术,与工业标准的MCS-51指令集和输出引脚完全兼容。由于将多功能8位CPU和闪速存储器组合在一个芯片中,使其具有方便易用、性价比高的显著特点。因此,成为C51系列兼容单片机中最受欢迎的品种。它的简化版AT89C2051也因价廉物美、体积小、功能强而受到用户的特别青睐。
后记
在本书即将出版之际,我想再就学习单片机的方法说说我的体会,作为本书的后记。单片机因其优异的性能得到了越来越广泛的应用。现在几乎所有的电子产品都用到它,因此学习单片机的人越来越多。随着技术的进步,单片机的种类层出不穷,不断有新型高性能的单片机出现,令学习者眼花缭乱、目不暇接。经常有人询问应该学习哪一种单片机,也经常听到抱怨说,我的sTM32还没用呢,ARM又来了,于是他们又买了ARM,结果他们不停地使用各种各样先进的单片机重复做着“跑马灯”实验,他们也一直停留在单片机学习的初级阶段,而不能达到学习单片机技术的真正目的一用单片机开发电子新产品,这样一个主题上来。首先要明确学习单片机的目的是什么。对于大多数学习者来说,学习单片机的目的应该是应用,应该将它运用到你所在的行业或产品中去。单片机对于你的工作来说,只是一个工具或部件,那么在应用中选用单片机的标准是什么呢?只有四个字——“够用就行”。可以说,对于现在应用系统中的绝大部分项目,最简单的8位C51单片机就可以胜任。现在真正需要高档单片机的项目为数不多,老板们不会投入多余的钱去选用你推荐的所谓高级单片机,大部分人都遵循“只买对的不买贵的”这样理性的原则,理性的人不会盲目追随比尔·盖茨操作系统的不断升级,因为这些东西一方面有技术发展的需求,但是也有相当一部分是老板们为了追求更大商业利益的炒作。因此我还是说,如果没有学过C51单片机的话,还是要学C51单片机。为什么?原因很简单,因为它是单片机的祖宗,后来的单片机都是在其基础上开发出来的,是它的儿孙。它也最容易学,更适合初学者。它功能强大,物美价廉,对于大部分应用项目来说都够用,所以没有必要选用高档的。当你学会C51之后,如果确实需要使用其他单片机,对于使用C语言编程的人来说,学习其他单片机很容易,而且将51单片机上的程序移植到其他单片机上也不是难事,它们都是相通的,本书中的几个程序实例,原来用的是AVR单片机,后来改成了C51。因此,对于大部分应用来说,使用哪一种单片机并不重要。
编辑推荐
《51单片机工程应用实例》附带光盘,内有实例程序的源代码。实例中所用的器材,取材容易,适合读者自己动手来做,特别适合电子技术类专业的大学生作为动手实践的教材,弥补他们在就业时缺乏实践经验的不足。《51单片机工程应用实例》涉及了电子工程应用的诸多方面,可作为各类单片机应用开发工程师的参考书。