单片机数据通信及测控应用技术详解(含DVD光盘1张)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-23 10:01:56

点击下载

作者:李江全,刘荣,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

单片机数据通信及测控应用技术详解(含DVD光盘1张)

单片机数据通信及测控应用技术详解(含DVD光盘1张)试读:

前言

单片机以其独特的优点,在智能仪表、家用电器、工业控制、数据采集、网络通信等领域得到广泛的应用。各行各业的工程技术人员正在根据自己的任务进行单片机应用系统的开发设计工作,从而改变了传统控制系统的设计思想和设计方法。以前必须由模拟电路或数字电路实现的大部分控制功能,现在已能由单片机通过软件方法来实现了,这使控制系统的性能大大提高,应用领域更加广阔。目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信。采用单片机的控制系统或装置具有可靠性高、易于控制、系统设计灵活、编程简单、使用方便、性价比高等优点;但是,单片机也有不易显示各种实时图表/曲线和汉字、无良好的用户界面、不便于监控等缺点。而计算机作为上位机通常以基于图形界面的 Windows 系统为操作平台,可以提供良好的人机界面,进行系统的监控和管理,进行程序编制、参数设定和修改、数据采集和保存等,既能保证系统性能,又能使系统操作简便,便于生产过程的有效监督。这种应用的核心是数据通信,它包括单片机和上位机之间、客户端和服务器之间,以及客户端和客户端之间的通信,而单片机和上位机之间的数据通信则是整个系统的基础。本书从应用的角度介绍了单片机数据通信与测控技术。内容包括单片机及其控制系统概述,单片机开发板B简介;串行通信的基本概念,串行通信的接口标准,个人计算机中的串行端口,单片机中的串行端口,PC 编程软件的串行通信开发工具;单片机与单片机、单片机与 GSM 短信模块、单片机与无线数传模块串口通信编程实例,采用组态软件 KingView实现单片机与PC串口通信;采用Visual C++、Delphi和LabVIEW编写单片机与PC串口通信程序,实现单片机模拟量输入与输出、开关量输入与输出;最后介绍了单片机的典型应用——智能仪器温度测量。本书内容丰富,可供各类自动化、计算机应用、机电一体化等专业的大学生、研究生学习单片机通信技术,也可供计算机控制系统研发的工程技术人员参考。为方便读者学习,本书提供超值配套光盘,内容包括实例源程序、程序运行录屏、系统测试录像、软硬件资源等。本书由塔里木大学王建平编写第 1、2 章;湖南大学贺浩编写第 3、5 章,石河子大学刘荣编写第4、6章,刘长征编写第7、8章,王玉巍编写第9、10章,李江全编写第11、12章。全书由李江全教授担任主编并统稿,刘荣、贺浩、王玉巍担任副主编。电子开发网在单片机硬件和软件方面提供了关键技术支持,在此表示感谢。由于编者水平有限,书中难免存在不妥或错误之处,恳请广大读者批评指正。编著者2011年8月第1章 单片机及控制系统概述目前,单片机以其独特的优点,在智能仪表、家用电器、工业控制、数据采集、网络通信等领域得到广泛的应用。各行各业的工程技术人员正在根据自己的任务进行单片机应用系统的开发设计工作,从而改变了传统控制系统的设计思想和设计方法。以前必须由模拟电路或数字电路实现的大部分控制功能,现在已能由单片机通过软件方法来实现了,这使控制系统的性能大大提高,应用领域更加广阔。单片机主要用于嵌入式应用,故又称嵌入式微控制器,国际上常把单片机称为微控制器(MCU),而国内则比较习惯称为“单片机”。1.1 单片机概述1.1.1 单片机的组成单片机又称单片微控制器,它把一个计算机系统集成到一块芯片上,主要包括微处理器(CPU)、存储器(随机访问存储器 RAM、只读存储器 ROM)和各种输入/输出接口(包括定时器/计数器、并行I/O接口、串行口、A/D转换器,以及脉冲宽度调制器等),如图1-1所示。图1-1 单片机组成框图1.程序存储器(ROM)ROM用来存放用户程序,可分为EPROM、Mask OTPROM和Flash ROM等。EPROM 型存储器编程(把程序代码通过一种算法写入程序存储器的操作)后,其内容可用紫外线擦除,用户可反复使用,故特别适用于开发过程,但EPROM型单片机价格很高。Mask ROM型存储器的单片机价格最低,适用于大批量生产。由于Mask ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户更改程序代码十分不便,在产品未成熟时选用此型单片机风险较高。OTP ROM型(一次可编程)单片机价格介于EPROM和Mask ROM型单片机之间,它允许用户自己对其编程,但只能写入一次。Flash ROM型单片机可采用电擦除的方法修改其内容,允许用户使用编程工具或在系统中快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。Flash ROM型单片机既可用于开发过程,也可用于批量生产,随着制造工艺的改进,价格不断下降,使用越来越普遍,已成为现代单片机的发展趋势。2.中央处理器(CPU)CPU是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成。CPU就像人的大脑一样,决定了单片机的运算能力和处理速度。3.随机存储器(RAM)RAM 用来存放程序运行时的工作变量和数据,由于 RAM 的制作工艺复杂,价格比ROM 高得多,所以单片机的内部RAM 非常宝贵,通常仅有几十到几百字节。RAM 的内容具有易失性(也称易挥发性),掉电后会丢失。最近出现了 E2PROM 或 FlashROM 型的数据存储器,方便用户存放不经常改变的数据及其他重要信息。单片机通常还有特殊寄存器和通用寄存器,也属于 RAM 空间,但它们在单片机中存取数据速度很快,特殊寄存器还具有充分发挥单片机各种资源的功效,但这部分存储器占用存储空间更小。4.并行输入/输出(I/O)接口通常为独立的双向 I/O 接口,任何接口既可以用做输入方式,又可以用做输出方式,通过软件编程设定。现代单片机的 I/O 接口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。I/O 接口是单片机的重要资源,也是衡量单片机功能的重要指标之一。5.串行输入/输出接口用于单片机和串行设备或其他单片机的通信。串行通信有同步和异步之分,可以用硬件或通用串行收发器件实现。不同的单片机可能提供不同标准的串行通2信接口,如 UART、SPI、IC、MicroWire等。6.定时器/计数器(T/C)用于单片机内部精确定时或对外部事件(输入信号,如脉冲)进行计数,通常单片机内部有两个或两个以上的定时器/计数器。7.系统时钟通常需要外接石英晶体或其他振荡源提供时钟信号输入,也有的使用内部 RC 振荡器。系统时钟相当于PC中的主频。以上只是单片机的基本构成,现代的单片机又加入了许多新的功能部件,例如模拟/数字(A/D)转换器、数字/模拟(D/A)转换器、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等。此时的单片机才属于真正的单片化,内部的RAM和ROM的容量也越来越大,ROM寻址空间甚至可达64KB,可以说,单片机发展到了一个全新的阶段,应用领域也更为广泛,许多家用电器均走向利用单片机控制的智能化发展道路。1.1.2 单片机的分类和指标单片机从用途上可分成专用型单片机和通用型单片机两大类。专用型单片机是为某种专门用途而设计的,如 DVD 控制器和数码摄像机控制器芯片等。在用量不大的情况下,设计和制造这样的专用芯片成本很高,而且设计和制造的周期也很长。通常所用的都是通用型单片机,通用型单片机把所有资源(如ROM、I/O接口等)全部提供给用户使用。当今通用型单片机的生产厂家已不下几十家,种类有几百种之多。下面对单片机的几个重要指标进行介绍。(1)位数:是单片机能够一次处理的数据的宽度,有 1 位机(如 PD7502)、4 位机(如MSM64155A)、8位机(如MCS-51)、16位机(如MCS-96)、32位机(如IMST414)。(2)存储器:包括程序存储器和数据存储器。程序存储器空间较大,字节数2一般从几千字节到几十千字节,另外还有不同的类型,如ROM、EPROM、E PROM、Flash ROM和OTPROM 型。数据存储器的字节数则通常在几十字节到几百字节之间。程序存储器的编程方式也是用户选择的一个重要因素,有的是串行编程,有的是并行编程,新一代的单片机有的还具有在系统编程( ISP ,In-System-Programmable )或在应用再编程( IAP ,In-Applicationre-Programmable)功能,有的还有专用的ISP编程接口JTAG口。(3)I/O接口:即输入/输出接口,一般有几个到几十个,用户可以根据自己的需要进行选择。(4)速度:指的是CPU的处理速度,以每秒执行多少条指令来衡量,常用单位是MIPS(百万条指令每秒),目前最快的单片机可达到 100MIPS。单片机的速度通常是和系统时钟(相当于PC的主频)相联系的,但并不是频率高的处理速度就一定快;对于同一种型号的单片机来说,采用频率高的时钟一般比频率低的速度要快。(5)工作电压:通常工作电压是 5V,范围是±5%或±10%,也有 3V/3.3V 电压的产品,更低的可在1.25V工作。现代单片机又出现了宽电压范围型,即在2.5~6.5V内都可正常工作。(6)功耗:低功耗是现代单片机所追求的一个目标,目前低功耗单片机的静态电流可以低至μA或nA级。有的单片机还具有等待、关断、睡眠等多种工作模式,以此来降低功耗。(7)温度:单片机根据工作温度可分为民用级(商业级)、工业级和军用级三种。民用级的温度范围是 0℃~70℃,工业级是−40℃~85℃,军用级是−55℃~125℃(不同厂家的划分标准可能不同)。(8)附加功能:有的单片机有更多的功能,用户可根据自己的需要选择最适合自己的产品。例如,有的单片机内部有 A/D、D/A、串口、LCD 驱动等,使用这种单片机可减少外部器件,提高系统的可靠性。1.1.3 常用的单片机系列1.MCS-51系列及与之兼容的80C51系列单片机在我国使用最多的是Intel公司的MCS-51系列单片机。MCS-51系列单片机虽然是8位单片机,但它品种齐全、兼容性强、性能价格比高,且软硬件应用设计资料丰富,已为广大工程技术人员所熟悉,因此在我国得到了广泛的应用。MCS是Intel 公司的注册商标。凡Intel 公司生产的以8051 为核心单元的其他派生单片机都可以称为 MCS-51 系列,有时简称 51 系列。MCS-51 系列单片机包括三个基本型8031、8051、8751和对应的低功耗型80C31、80C51、87C51。MCS-51 系列及 80C51 单片机有多种产品。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。最常用的51系列单片机是8051和AT89C51(见图1-2)等。图1-2 AT89C51系列单片机产品示意图2AT89C51 具有片内 EPROM,是真正的单片机,由于不需要外接 EPROM,所以应用非常普遍。8031、8051 片内没有 EPROM,但它在市场上价格很低,软硬件系统开发成熟,所以应用也非常广泛,目前开发的51系列的产品大多是8031、8051和AT89C51等。除了 Intel 公司,还有 Atmel、Winbond、Philips、TEMIC、ISSI 和 LG 等公司都生产兼容80C51的产品。宏晶公司生产的STC89C5lRC单片机为低电压、高性能的CMOS 8位单片机,片内含2KB的可反复擦写的只读程序存储器(EPROM)和128B的随机存取数据存储器(RAM),工作电压为2.7~6V,还含有两个16位的定时器,6个内部中断源,可编程的串口UART,兼容标准MCS-51指令系统。片内置有通用8位中央处理器和Flash存储单元,封装只有40针,体积比较小,工作温度为−40~+85℃。STC89C5lRC单片机可以利用STC-ISP软件方便地实现在线烧写程序。本书使用的实验开发板采用的就是STC89C5lRC单片机。2.TI公司的超低功耗Flash型MSP430系列单片机关于超低功耗单片机,有业界最佳“绿色微控制器(Green MCUs)”称号的TI公司的MSP430 Flash系列单片机,是目前业界所有内部集成闪速存储器(Flash ROM)产品中功耗最低的,消耗功率仅为其他闪速微控制器(Flash MCUs)的1/5。在3V工作电压下其耗电电流低于 350μA/MHz,待机模式仅为 1.5μA/MHz,具有 5 种节能模式。该系列产品的工作温度范围为−40~85℃,可满足工业应用要求。MSP430 微控制器可广泛地应用于煤气表、水表、电子电度表、医疗仪器、火警智能探头、通信产品、家庭自动化产品、便携式监视器及其他低耗能产品。由于 MSP430 微控制器的功耗极低,可设计出只需一块电池就可以使用长达10年的仪表应用产品。MSP430 Flash系列的确是不可多得的高性价比单片机。3.OKI公司的低电压低功耗单片机OKI 公司的高性价比 4 位机 MSM64K 系列也是低功耗低电压的微控制器,其工作电压可低至1.25V,使用32kHz的工作频率,典型工作电流可低至3~5μA,HALT(关断)模式下小于 1μA,而其功能却并不逊色,片内集成了 LCD(液晶显示器)驱动器,可方便的与液晶显示器接口,具有片内掩模(Mask)的程序存储器,有些型号还带有串口、RC 振荡器、看门狗、ADC(模数转换器)、PWM(脉宽调制)等,几乎不需要外扩芯片即可满足应用,工作温度范围可达−40~85℃,提供PGA封装和裸片。该系列微控制器应用广泛,适用于使用 LCD 显示、电池供电的设备,如掌上游戏机、便携式仪表(体温计、湿度计)、智能探头、定时器(时钟)等低成本、低功耗的产品。4.ST公司的ST62系列单片机美国 ST 微电子公司是一家独立的全球性公司,专门从事应用于半导体集成电路的设计、生产、制造和销售,以及生产各种微电子应用中的分立器件。应用领域涉及电子通信系统、计算机系统、消费类产品、汽车应用、工业自动化和控制系统等。ST 公司可提供满足各种场合的单片机或微控制器,其中 ST62 系列 8 位单片机以其简单、灵活、低价格等特点,特别适用于汽车、工业、消费领域的嵌入式微控制系统。ST62 系列提供多种不同规格的单片机以满足各种需要,存储22器从 1KB 到 8KB,有 ROM、OTP、EPROM、EPROM、Flash E PROM,I/O 接口从 9 个到 22 个,引脚从 16 个到 42 个,还有 ADC、LCD 驱动、看门狗、定时器、串行口、电压监控等部件。ST62 单片机采用独特的制造工艺和技术,大大提高了抗干扰能力,能适应于各种恶劣环境。5.AD公司的带A/D与D/A转换器的单片机ADC812是AD公司推出的全集成12位数据采集系统,片内集成了8路12位高性能的自校准ADC、2路12位DAC和与80C51指令兼容的8位MCU。AD公司最近又推出了16位和24位ADC的ADC816和ADC824,其他性能特性与AD C812基本相同。ADC812 MCU包括8KB的Flash程序存储器、640B的Flash数据存储器、256B的RAM 和与 80C51 兼容的内核,并且具有看门狗定时器、电源监视器,以及 2ADC DMA 功能,32 个可编程 I/O 接口、IC/SPI 兼容和标准 UART 串行通信接口。芯片具有正常、空闲和掉电三种工作模式,非常适合低功耗应用的电源管理方案,例如,智能传感器、电池供电系统(可移动PC、手持仪器、终端)、瞬时捕捉系统、DAS和通信系统等。1.1.4 单片机的开发工具1.仿真器单片机的仿真器本身就是一个单片机系统,具有与所要开发的单片机应用系统相同的单片机芯片。当一个单片机应用系统电路连接完毕,由于自身无调试能力,无法检验好坏,这时可以将系统中的单片机拔掉,插上在线仿真器提供的仿真头。仿真头是一个 40 脚插头,它是仿真器的单片机信号的延伸,即单片机应用系统与仿真器共用一块单片机芯片,当在开发工具上通过在线仿真器调试单片机应用系统时,就像使用应用系统中真实的单片机一样,这种替代称为仿真。在线仿真器是由一系列硬件构成的设备。开发工具中的在线仿真器应能仿真应用系统中的单片机,并能模拟应用系统中的ROM、RAM和I/O接口的功能,使在线仿真的应用系统的运行环境和脱机运行的环境完全一致,以实现单片机应用系统的一次性开发。2.编程语言开发单片机的编程语言主要是汇编语言和C语言。采用汇编语言编程必须对单片机的内部资源和外围电路非常熟悉,尤其是对指令系统的使用必须非常熟练,故对程序开发者的要求是比较高的。用汇编语言开发软件是比较辛苦的,这是因为程序量通常比较大,方方面面均需要考虑,一切问题都需要由程序设计者安排,其实时性和可靠性完全取决于程序设计人员的水平。采用汇编语言编程主要适用于功能比较简单的中小型应用系统。采用C语言编程时,只需对单片机的内部结构基本了解,对外围电路比较熟悉,而对指令系统则不必非常熟悉。用C语言开发软件相对比较轻松,很多细节问题无须考虑,编译软件会替设计者安排好。因此,C 语言在单片机软件开发中的应用越来越广,使用者越来越多。当开发环境为基于操作系统编程时,编程语言通常采用C语言。单纯采用C语言编程也有不足之处,在一些对时序要求非常苛刻或对运行效率要求非常高的场合,只有汇编语言能够很好地胜任。因此在很多情况下,采用C语言和汇编语言混合编程是最佳选择。从编程难度来看,汇编语言比C语言要难得多,但作为一个立志从事单片机系统开发的科技人员,必须熟练掌握汇编语言程序设计方法。在熟练掌握汇编语言编程之后,学习C语言编程将是一件比较轻松的事情,并且能够将C语言和汇编语言非常恰当地融合在一起,以最短的时间和最低的代价,开发出高质量的软件。当系统调试结束,确认软件无故障时,应把用户应用程序固化到 EPROM 中。EPROM写入器就是完成这种任务的专用设备,也是单片机开发工具中的重要组成部分。1.1.5 单片机的特点及应用1.单片机的特点单片机具有如下特点:(1)集成度高。单片机把 CPU、RAM、ROM、I/O 接口及定时器/计数器都集成在一个芯片上,和常规的计算机系统相比,它具有体积小、集成度高的特点。如 MCS-51 系列单片机,具有16位的定时器/计数器和4个并行I/O接口,此外还有串行接口。(2)存储量大。采用16位地址总线的8位单片机可寻址外部64KB数据存储器和64KB程序存储器。此外,大部分单片机还有片上 RAM 和内部 ROM,在大多数情况下,内部存储器就已经足够了,从而减少了器件的使用数量,降低了成本。(3)性能高、速度快。为了提高速度和执行效率,单片机使用 RISC 体系结构、并行流水线操作和DSP等设计技术,指令运行速度大幅提高。一般单片机的时钟频率可以达到12MHz。(4)抗干扰性高。单片机的各种功能部件都集成在一块芯片上,特别是存储器也集成在芯片内部,因此单片机布线短,大都在芯片内部传送数据,因此不易受到外部的干扰,增强了抗干扰能力,系统运行更加可靠。(5)指令丰富。单片机一般都有传送指令、逻辑运算指令、转移指令,以及加、减运算指令、位操作指令。(6)实时控制能力强。实时控制又称过程控制,是指及时地检测设备、采集数据信息,并按最佳方案对设备进行自动调节和控制。单片机具有很强的逻辑操作、位处理和判断转移功能,运行速度快,特别适合于工业系统实时控制。(7)应用开发周期短。单片机结构简单,硬件组合、软件编程都很方便,又容易进行模拟试验,因此付诸实际应用快。2.单片机的应用单片机由于其体积小、功耗低、价格低廉,且具有逻辑判断、定时计数、程序控制等多种功能,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。以下简单介绍一些典型的应用。1)单片机在智能仪表中的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比采用电子或数字电路更加强大,提高了其性能价格比,如精密的测量设备(功率计、示波器、各种分析仪)。2)单片机在机电一体化中的应用机电一体化是机械工业发展的方向。机电一体化产品是指集机械技术、微电子技术、计算机技术、传感器技术于一体,具有智能化特征的机电产品,如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。可编程控制器也是一个典型的机电控制器,其核心常常就是由一个单片机构成的。3)单片机在实时控制中的应用单片机广泛地应用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,能使系统保持在最佳工作状态,提高系统的工作效率和产品质量。再如机器人,每个关节或动作部位都是一个单片机实时控制系统。4)单片机在分布式多机系统中的应用在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机应用系统组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。5)消费类电子产品控制该应用主要反映在家电领域,例如,洗衣机、空调器、汽车电子与保安系统、电视机、录像机、DVD机、音响设备、电子秤、IC卡、手机、BP机等。在这些设备中使用单片机机芯之后,其控制功能和性能大大提高,并实现了智能化、最优化控制。6)终端及外部设备控制计算机网络终端设备,如银行终端、商业 POS(自动收款机)、复印机等,以及计算机外部设备,如打印机、绘图机、传真机、键盘和通信终端等。在这些设备中使用单片机,使其具有计算、存储、显示、输入等功能,具有和计算机连接的接口,使计算机的能力及应用范围大大提高,更好地发挥了计算机的性能。可以毫不夸张地说:“凡是能想到的地方,单片机都可以用得上”。全世界单片机的年产量数以亿计,应用范围之广,花样之多,一时难以详述。单片机应用的意义不仅限于它的广阔的应用范围,以及所带来的经济效益,更重要的还在于从根本上改变了传统的控制系统设计思想和设计方法。从前,必须由模拟电路或数字电路实现的大部分控制功能,现在可以使用单片机通过软件方法实现。这种以软件取代硬件并能提高系统性能的控制技术称为微控制技术。微控制技术标志着一种全新概念,随着单片机应用的推广普及,微控制技术必将不断发展和日趋完善,而单片机的应用必将更加深入、更加广泛。1.2 单片机应用系统概述1.2.1 单片机应用系统的种类根据单片机应用场合及系统控制的要求不同,在规模、结构上存在很大不同,根据使用功能器件的种类和数量,可分为基本系统和扩展系统。1.基本系统基本系统中,包括一个单片机,在该单片机中含有程序存储器和数据存储器,仅在外部配置了维持系统运行的基本部件,如电源、输入/输出设备,除了这些,还包括不扩充程序存储器、数据存储器、I/O接口,以及其他功能部件,因此也称为最小系统,其结构示意图如图1-3所示。图1-3 单片机最小系统结构示意图2.扩展系统在大多数系统中,由于需要实现一些特殊的功能,采用最小系统无法满足系统的控制要求,所以要扩展特殊功能部件,弥补单片机内部资源的不足。单片机扩展系统通过并行 I/O接口或者串行接口做总线,在外部扩展了程序存储器、数据存储器、A/D 转换等特殊部件,以满足控制系统的特殊要求,其结构示意图如图1-4所示。图1-4 单片机扩展系统结构示意图1.2.2 单片机控制系统的组成单片机控制系统是由单片机与其他器件和装置适当连接起来的硬件,在软件的操作下协调运行以执行预定的测量或测量控制任务,这些硬件和软件的总体就是单片机测量和控制系统,简称单片机控制系统。顾名思义,单片机测量系统的功能是对某些参数进行测量;单片机控制系统的任务是对生产过程或某些物理量进行控制。要控制就必须要测量,因此,可以认为单片机测量系统是单片机控制系统的一个特例。像一般的计算机系统一样,单片机的控制系统也是由硬件和软件组成的。硬件是指单片机、扩展的存储器、输入/输出设备、控制设备、执行部件等组成的系统,软件是各种工作程序的总称。硬件和软件只有紧密配合,协调一致,才能组成高性能的单片机控制系统。1.单片机控制系统的硬件组成1)单片机测量系统单片机测量系统是以单片机为核心,单纯以“检测”或“测试”为目的的系统。它是单片机控制系统的一个特例。一般用来对被测过程中的一些物理量进行测量并获得相应的精确测量数据,因此,又称为数据采集系统,其基本组成框图如图1-5所示。图1-5 单片机测量系统框图被测参数经传感器转换成模拟信号,再由模拟输入通道进行信号调理和数据采集,转换成单片机要求的数据格式送入单片机进行必要的处理,再送到磁带机、打印机等数据记录器记录下来,这样就得到了供进一步分析和处理的测量数据记录。为了对测量过程进行集中实时监视,模拟输出通道将单片机处理后的测量数据转换成模拟信号在示波器或图示仪等模拟显示器上显示出来。在某些对生产过程进行检测的场合,当被测参数超过规定限度时,单片机还将及时启动报警器发出报警信号。目前,在野外现场广泛使用的各种存储式测试记录仪就属于这一类系统,只不过结构比较简单(一般只包括传感器、模拟输入通道、单片机和数据记录仪几部分)。2)单片机开环控制系统单片机开环控制系统是以单片机为核心,单纯以程序控制为目的的系统,其组成框图如图1-6所示。图1-6 单片机开环控制系统框图程序控制的基本思想是将被控对象的动作次序和各类参数输入单片机,单片机执行固定的程序,一步一步地控制被控对象的动作,以达到预期的目的,其实质上是一种顺序控制,如机床的单片机控制,预先输入切削量、裕量、进给量、工件尺寸和加工步骤等参数,运行时由单片机控制刀具的动作,最后加工出成品。3)单片机闭环控制系统单片机闭环控制系统是以单片机为核心的测控一体化系统,这种系统对被控对象的控制是依据对被控对象的测量结果而定的,其基本组成框图如图1-7所示。图1-7 单片机闭环控制系统框图图1-7左侧的输入、输出通道,称为过程通道,它是单片机与测控对象的连接通道,分为模拟量输入通道、模拟量输出通道、数字量输入通道和数字量输出通道,其中模拟量输入通道和数字量输入通道统称为前向通道,模拟量输出通道和数字量输出通道统称为后向通道。2.单片机控制系统的软件组成单片机控制系统的软件指的是它的全部程序,包括系统软件和应用软件两大类。1)系统软件购置的现成计算机,在计算机出厂之前,已把系统软件装入到 ROM 中,计算机的用户只需熟悉和使用,不能改变。对于自行设计的微机化智能系统,系统软件也需要自行设计,然后固化在EPROM等类似的存储器中。系统软件包括以下内容。(1)监控(监督)程序或操作系统监控(监督)程序是一种低级计算机的管理程序。它的功能是扫描键盘,实现人机对话,接收用户程序,显示、调试、修改用户程序,显示和修改存储器中的内容。通电后立即进入监控(监督)程序,各种程序均在监控程序控制下运行。一般在设计单片机智能化仪器、仪表及设备时要自己编制监控(监督)程序。同时在编制用户程序时,可以调用监控程序中的一些子程序,节省用户应用程序的存储空间。操作系统是一种微型计算机的大型管理程序,是在监控程序的基础上进一步扩展许多控制程序而形成的,其主要功能是实现人机对话,管理微型机、存储器、操作台、外部设备(磁盘驱动器、CRT、打印机及其他外围设备)、文件和作业进程。它控制各种软件,例如,汇编程序、解释程序、编译程序、I/O 驱动程序、连接程序等。不同的计算机系统可能有不同的操作系统,如CP/M、CDOS等。(2)汇编程序、解释程序和编译程序汇编程序用于把汇编语言程序翻译为计算机能够识别和执行的机器语言程序(也称目标程序)。例如,MCS-51单片机仿真器里有MCS-51汇编程序,用户可以把自己用汇编语言编写的程序送入仿真器,然后把它变为机器语言程序,再把这些机器语言程序固化到 EPROM中,EPROM 中的程序就可以在用户系统中执行。解释程序能把用某种程序设计语言编写的源程序,翻译成机器语言的目标程序,此目标程序是可执行程序。解释程序翻译一句执行一句。编译程序能把用高级语言编写的源程序,编译成某中间语言或机器目标程序。2)应用软件单片机实时控制系统的应用软件是服务于实时控制的程序集合,由单片机实时控制系统的设计者编写。因控制系统的复杂程度和功能差别很大,所以应用软件的差别也很大。应用软件的设计应当留有余地、易于扩展和更改。为此,应用软件宜采用模块化结构,一个程序模块就是一个子程序。主程序的主要任务是调用这些子程序,总的来说,这些子程序可分为两类,分别为通用软件和专用软件。(1)通用软件不管控制规模有多大,按什么规律控制,也不管被控对象是什么,一般情况下,有些软件常会被用到,这些软件称为通用软件。例如,数制转换程序,包括二进制数与 BCD 码之间的相互转换程序;运算程序,包括加、减、乘、除、乘方、开方、函数运算等;数字滤波程序,用于对数据进行处理;工程量程序,在工程显示时往往用到这类程序;查表程序,如查找热电势对应的温度值;报警程序。(2)专用软件专用软件是针对某一具体控制系统和不同控制规律编制的程序,主要有数据采集程序、A/D 转换程序、D/A 转换程序、键盘扫描程序、显示程序、各种控制算法程序(如 PID 程序、纯滞后补偿算法程序、自适应控制程序等)。1.2.3 单片机应用系统的开发过程单片机应用系统是为了完成某项任务而研制开发的用户系统,每个系统针对不同的应用具有不同的功能,但总体设计方法和研制步骤基本相同。本节简要介绍单片机应用系统的一般开发、研制方法。与一般的计算机系统一样,单片机的应用系统也是由硬件和软件组成的。硬件指单片机、扩展的存储器、输入/输出设备、控制设备、执行部件等组成的系统,软件是各种工作程序的总称。硬件和软件只有紧密配合,协调一致,才能组成高性能的单片机应用系统。在系统的研制过程中,软、硬件的功能总是在不断地调整,以便相互适应、相互配合,达到最佳性能价格比。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计、系统总体调试四个阶段,但它们不是绝对分开的,有时是交叉进行的,其开发流程图如图1-8所示。图1-8 单片机应用系统开发流程图目前,单片机应用系统的设计方法一般是针对具体任务选用合适的单片机,配以必要的存储器、接口芯片和外围设备来构成系统。这类系统中的硬件配置和软件设计完全是按照应用系统的功能进行的。因而系统结构简单、投资少,软、硬件资源能够得到最充分的利用。因为设计人员必须编制必要的系统监控或监督程序、应用功能程序等,所以,软件设计和硬件设计的工作量很大,要求设计人员要有一定的软、硬件开发能力。1.总体设计在进行系统设计之前,首先应根据对系统的功能要求及其应用环境等确定合理、具体的功能和技术指标,对应用系统的可靠性、通用性、先进性、可维护性及成本等进行综合考虑,以尽量合理并符合单片机性能及开发工具等因素选择合适的单片机机型。接下来要根据系统中可能涉及的传感器、模拟电路、I/O 接口、存储器、打印机、显示器等器件和设备进行器件选择,使之符合系统在精度、速度和可靠性等方面的要求。最后确定硬件和软件的功能划分,由于在系统设计中某些功能用硬件和软件都能实现,在设计中应综合考虑研制周期和成本等因素具体划分软、硬件功能。2.系统硬件设计硬件系统设计的任务是根据总体设计要求,在所选择的单片机型的基础上,确定系统扩展所要用的存储器、I/O 接口电路、A/D 及 D/A 电路和有关的外围电路等,然后设计出系统的电路原理图。下面分别介绍硬件设计的各个环节。1)程序存储器的选用单片机内部没有程序存储器或存储器容量不够时需扩展外部程序存储器。可作为程序存储器的芯片有多种非易失存储器,如 EPROM、E2PROM、快擦写 Flash 存储器和 OTP 等。从它们的价格和性能特点上考虑,对于大批量生产的已成熟的应用多选用 OTP 型,其他情况可选用快擦写存储器等。由于目前单片机片内存储器的容量越来越大,如设计的应用系统所需的存储器空间比较小,就没有必要扩充程序存储器了。2)数据存储器的选用数据存储器由 RAM 构成。对于数据存储器的容量要求,各个系统之间差别比较大。有的测量仪器和仪表只需少量的 RAM 即可,此时应尽量选用容量能符合要求的单片机。对于要求较大容量 RAM 的系统,对 RAM 芯片的选择原则是尽可能减少芯片的数量。例如,选一片62256(32KB)比选用4片6264价格低得多,连线也简单。3)I/O接口电路的设计由于外设多种多样,这使得单片机与外设之间的接口电路也各不相同。因此,I/O 接口电路常常是单片机应用系统中设计最复杂也是最困难的部分之一。在设计 I/O 接口电路时应从体积、价格、功能、负载等几方面考虑。I/O 接口大致可归类为并行接口、串行接口、数据采集通道(接口)、模拟输出通道(接口)等。目前,有些单片机已将上述各接口集成在单片机内部,使 I/O 接口的设计大大简化。系统设计时,可以选择含有所需接口的单片机。如要设计专用接口,根据系统的输入/输出要求,也可选用TTL和CMOS芯片进行接口电路的设计。对于A/D和D/A电路芯片的选择,原则上应根据系统对它的精度、速度和价格的要求而定。此外,还要考虑和系统中的传感器、放大器相匹配等问题。4)译码电路的设计所有的需要扩展外部存储器和输入/输出接口设计的单片机系统都需要设计译码电路,译码电路的作用是为外设提供片选信号,也就是为它们分配独一无二的地址空间。译码电路在设计时要尽可能简单,这就要求存储器空间分配合理、译码方式选择得当。考虑到修改方便与保密性强,译码电路除了可以利用常规的门电路、译码器实现外,还可以利用只读存储器与可编程门阵列来实现。5)总线驱动器的设计如果单片机外部扩展的器件较多,负载过重,就要考虑设计总线驱动器。例如,MCS-51单片机的P0口负载能力为8个LSTTL逻辑门,P2口负载能力为4个LSTTL逻辑门。如果 P0、P2 口实际连接的逻辑门数超出上述定额,系统便不能可靠地工作,此时就必须在P0、P2 口增加总线驱动器来提高它们的驱动能力。P0 口通常使用双向数据总线驱动器74LS245,P2口可使用单向总线驱动器74LS244。系统扩展和配置设计遵循的原则如下:(1)尽可能选择典型通用的电路,并符合单片机的常规用法。(2)系统的扩展与外围设备配置的水平应充分满足应用系统当前的功能要求,并留有适当余地,便于以后进行功能扩充。(3)整个系统中相关的器件要性能匹配。例如,选用晶振频率较高时,存储器的存取时间就短,应选择存取速度较快的芯片;选择 CMOS 芯片单片机构成低功耗系统时,系统中的所有芯片都应选择低功耗产品。如果系统中相关的器件差异很大,系统的综合性能将降低,甚至不能正常工作。(4)应注意在硬件系统设计时,要尽可能充分地利用单片机的片内资源,使自己设计的电路向标准化、模块化靠拢。硬件设计结束后,应编写出硬件电路原理图及硬件设计说明书。3.系统软件设计单片机应用系统是一个整体。软件设计和硬件设计应统一,系统的硬件电路设计定型后,软件的功能也就基本明确了。一个应用系统中的软件一般是由系统监控程序和应用程序两部分组成的。其中,应用程序用来完成如测量、计算、显示、打印、输出控制等各种实质性功能的软件;系统监控程序是控制单片机系统按预定操作方式运行的程序,负责组织调度各应用程序模块,完成系统自检、初始化、处理键盘命令、处理接口命令、处理条件触发和显示等功能。软件设计通常分为系统定义、软件结构设计和程序设计三个步骤。1)系统定义系统定义的目的就是根据系统软、硬件的功能分工,确定出软件应完成什么功能,其具体步骤如下:(1)定义说明各输入/输出接口的功能,确定信息交换的方式、与系统接口方式、所占接口地址、读取和输出方式等。如在编写作为实现控制功能的软件时,应明确控制对象、控制信号及控制时序;作为实现处理功能的软件应明确输入是什么,要做什么样的处理(处理算法),产生何种输出。(2)在程序存储器和数据存储器区域中,合理分配存储空间,其中包括系统主程序、常数表格、数据暂存区域、堆栈区域和入口地址等。(3)对面板控制开关、按键等输入量,以及显示、打印等输出量也必须给予定义,以此作为编程依据。(4)针对可能出现的由干扰引起的错误进行容错设计,给出错误处理方案,以达到提高软件可靠性的目的。一种最简单的错误处理就是软件引导重新启动系统。(5)明确所设计的用户程序应达到的精度、速度指标。2)软件结构设计合理的软件结构是设计出一个性能优良的单片机应用系统软件的基础,必须予以充分重视。由系统的定义,可以把整个工作分解为几个相对独立的操作,根据这些操作的相互联系及时间关系,设计出一个合理的软件结构。对于简单的应用系统,通常采用顺序设计的方法,这种系统软件由主程序和若干个中断服务程序所构成。根据系统各个操作的性质,指定哪些操作由主程序完成,哪些操作由中断服务程序完成,并指定各中断的优先级。对于复杂的实时控制系统,应采用实时多任务操作系统,这种系统往往要求对多个对象同时进行实时控制,要求对各个对象的实时信息以足够快的速度进行处理并作出快速响应。这就要求提高系统的实时性、并行性。因此,实时多任务操作系统应具备任务调度、实时控制、实时时钟、输入/输出和中断控制、系统调用、多个任务并行运行等分功能。在程序设计方法上,模块程序设计是单片机应用中最常用的程序设计技术。这种方法是把一个完整的程序分解为若干个功能相对独立的较小的程序模块,对各个程序模块分别进行设计、编制和调试,最后将各个调试好的程序模块连成一个完整的程序。这种方法的优点是单个程序模块的设计和调试比较方便、容易完成,一个模块可以为多个程序所共享。缺点是各个模块的连接有时有一定难度。还有一种方法是自上而下设计程序。此方法是先从主程序开始设计,主程序编好后,再编制各从属的程序和子程序。这种方法比较符合人们的日常思维。其缺点是上一级的程序错误将对整个程序产生影响。3)程序设计在软件结构设计确定之后就可以进入程序设计了,一般设计过程首先根据问题的定义,描述出各输入变量和输出变量之间的数学关系,即建立数学模型。然后根据系统功能及操作过程,先列出程序的简单功能流程框图(粗框图),再对粗框图进行扩充和具体化,即对存储器、寄存器、标志位等工作单元作具体的分配和说明。把功能流程图中每一个粗框转变为具体的存储单元、寄存器和I/O接口的操作,从而绘制出详细的程序流程图(细框图)。在完成流程图设计以后,便可编写程序。单片机应用程序可以采用汇编语言,也可以采用某些机器语言,如可通过Keil C51软件来编写C语言等。编写完成后均须汇编成80C51的机器码,经调试正常运行后,再固化到非易失性存储器中去,完成系统的设计。4.系统总体调试单片机应用系统的总体调试是系统开发的重要环节。当完成了单片机应用系统的硬件、软件设计和硬件组装后,便可进入单片机应用系统调试阶段。系统调试的目的是要查出用户系统中硬件设计与软件设计中存在的错误及可能出现的不协调问题,以便修改设计,最终使用户系统能正确、可靠地工作。系统调试包括硬件调试、软件调试和软、硬件联调。根据调试环境不同,系统调试又分为模拟调试与现场调试。各种调试所起的作用是不同的,它们所处的时间段也不一样,不过它们的目的都是为了查出用户系统中存在的错误或缺陷。通常是先排除明显的硬件故障后再和软件结合起来进行调试。常见的硬件故障有逻辑错误、元器件失效、可靠性差和电源故障等。在进行硬件调试时先进行静态调试,用万用表等工具在样机加电前根据原理图和装配图仔细检查线路,核对元器件的型号、规格和安装是否正确,然后加电检查各点电位是否正常。接下来再借助仿真开发仪器进行联机调试,分别测试扩展的RAM、I/O接口、I/O设备、程序存储器,以及晶振和复位电路,改正其中的错误。软件调试就是检查系统软件中的错误。常见的软件错误有程序失控、中断错误(不响应中断或循环响应中断)、输入/输出错误和处理结果错误等类型。通常是把各个程序模块分别进行调试,调试通过后再组合到一起进行综合调试,达到预定的功能技术指标后即可将软件固化。1.3 单片机开发板B简介1.3.1 单片机开发板B的功能单片机开发板 B 是电子开发网(http://www.dzkfw.com)专为单片机初学者设计并开发的一种实验兼开发板,研制这个产品的目的是为了帮助单片机初学者快速学会单片机技术。在自学单片机的过程中,通过做一系列的实验,从而比较容易地领会单片机那些枯燥、难懂的专业术语,而且这款实验开发板弥补了市场上常见的单片机实验板的一些不足,有针对性地面向最终的实用控制功能,包括模拟量输入与输出接口、数字量输入与输出接口,增加了实用的继电器接口,可以使实验板能够直接用于控制各种负载,成为一个实用化的嵌入式控制系统。图1-9所示是单片机开发板B的实物图。图1-9 单片机开发板B的实物图单片机开发板B可以做很多实验,例如,模拟电压输入与输出、开关量输入与输出、红外线遥控器编码分析仪、通用频率计、温度测控等。PC与单片机开发板B组成的数据采集与控制系统如图1-10所示。图1-10 PC与单片机开发板B组成的数据采集与控制系统框图工作过程如下:作为下位机的单片机实时采集测量到的电压值,并将采集的电压数据显示在数码管上,同时采集的电压值通过串口传送到上位机 PC。上位机收到下位机传送来的电压数据,在显示屏上显示。上位机 PC 设置电压值,通过串口发送到单片机系统,单片机数码管显示该电压,并通过模拟电压输出端口输出。上位机 PC 发出开关指令传送给单片机系统,驱动继电器动作。电气开关产生开关信号,发送到上位机PC显示。1.3.2 单片机开发板B的主要电路单片机开发板B的电路主要包括电源电路、时钟电路、复位电路、数码管显示电路、串口驱动电路和继电器驱动电路等。1.电源电路选择输出直流电压为 10~15V 之间的电源,并且插头极性为内正外负。稳压电源输出的直流电压通过专门的电源插座 J1 把直流电压引入实验开发板。电源分两路,一路直接提供 12V 的直流电源,主要是提供给继电器使用;另一路通过三端稳压芯片 LM7805 稳压成5V直流电源提供给单片机系统(包括数码管)使用。电源电路如图1-11所示。电容C1、C2和C3是12V电源的滤波电容,C1、C2是低频滤波,容量为470;C3是高频滤波,容量为0.1。通过这两个电容的进一步滤波,最后得到的是纯净的直流,这对数字电路起到很好的保护作用。电阻 R1 和 LED1 组成 5V 电源的工作指示电路,只要电源部分正常,LED1就会点亮,可以根据这个LED来判断整个电源部分是否工作正常。图1-11 电源电路2.时钟电路给STC89C51RC提供一定的时钟频率以后,STC89C51RC才能开始工作。图1-12所示电路提供时钟频率。这个振荡电路与 STC89C51RC 内部的时钟振荡器一起组成完整的时钟频率发生电路, X1 为 STC89C51RC 内部时钟振荡器的输入端,X2 为 STC89C51RC 内部时钟振荡器的输出端,Y1 为晶振,起到选择振荡频率的作用。这里使用的时钟频率为 11.0592MHz。C1、C2为振荡补偿电容,起到放宽起振频率,让时钟容易起振的作用。3.复位电路要使 STC89C51RC 单片机工作,主要是给单片机增加上电复位电路和外接一个晶振。给 STC89C51RC 加电时,需要对 STC89C51RC 进行一次复位操作。复位操作将STC89C51RC的工作环境置成初始状态,并从程序的开始进行运行。根据STC89C51RC的管脚定义,上电复位是通过给STC89C51RC的9脚发一个瞬时高电平来完成的,电路如图 1-13 所示。上电的瞬间,电流有一个突发的向上尖峰脉冲,因此,电流能通过C1电容到达STC89C51RC的复位端口RESET对STC89C51RC进行复位。尖峰过后,电流平稳,电容C1阻止电流的通过,这样可以防止对STC89C51RC反复进行复位。电阻R2是用于给Cl放电的,并将第9脚拉低,防止RESET端口上持续高电平。图1-12 时钟电路判断单片机芯片及时钟系统是否正常工作有一个简单的办法,就是用万用表测量单片机晶振引脚(18、19脚)的对地电压。以正常工作的单片机用数字万用表测量为例,18脚对地约2.24V,19脚对地约2.09V。对于怀疑是复位电路故障而不能正常工作的单片机也可以采用模拟复位的方法来判断,单片机正常工作时第 9 脚对地电压为零,可以用导线短时间和+5V 连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路有问题。图1-13 复位电路4.数码管显示电路数码管显示电路起到让某个数码管发光的作用,电路如图 1-14 所示。所有发光二极管都是共阴极接法,P2 口作为数码管的选通线,当给 P2 口相应位置低电平时,相应的数码管选通。P0口作为数码管的数据线,从P0口输出相应的字形码即可显示数字。图1-14 数码管显示电路在本设计中,将P0口作为字形码输出控制口,P0.1~P0.7分别与各数码管的笔画段A~G连接。排阻RB1作为P0口输出的上拉电阻,阻值定为作用是使数码管的默认状态为不点亮。排阻 RB1 起限流作用,对数码管进行保护。如果没有加这个电阻,数码管有可能因电流较大而被烧坏。单片机开发板B的其他电路将在后续章节介绍。1.3.3 单片机开发板B的功能测试对于购买成品板的用户拿到的是经过焊接好的产品,并且经过测试完好。不管是购买套件还是成品单片机实验开发板的用户得到的单片机中都已经烧写了一个测试程序,测试程序主要是用来测试 51 试验板的单片机和相关外围元件的好坏,如果这个程序能够顺利运行,说明实验板的各方面都很正常。测试程序的功能是,接通电源后 P0 口的 8 个发光二极管依次从下往上点亮,然后蜂鸣器鸣叫一声,两个继电器轮流动作一次,数码管的个位显示 8,再换成十位显示 8,然后不断循环,如果这时按下红外遥控器的按键时,蜂鸣器立即发出“嘀嘀嘀”的提示音,同时将这个按键的键值通过串口在计算机屏幕上显示出来(需要运行串口调试软件)。通过这个程序可以判断单片机实验开发板的各个部分的硬件和软件都是完好的。1.Keil C51软件的使用Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编语言、PLM语言和C语言的程序设计,界面友好,易学易用。启动Keil C51,几秒钟后出现编辑界面,如图1-15所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载