单片机串口通信及测控应用实战详解(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-01 18:02:41

点击下载

作者:李江全,聂晶,梁习卉子,刘新英

出版社:信息技术第一出版分社

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

单片机串口通信及测控应用实战详解

单片机串口通信及测控应用实战详解试读:

前言

目前,许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机一般只负责数据的采集和通信。采用单片机的控制系统或装置具有可靠性高、易于控制、系统设计灵活、编程简单、使用方便及性价比高等优点。但是,单片机也有不易显示各种实时图表/曲线和汉字、无良好的用户界面及不便于监控等缺点。而作为上位机的计算机通常以基于图形界面的 Windows 系统为操作平台,可以提供良好的人机界面,进行系统的监控和管理,进行程序编制、参数设定和修改、数据采集和保存等,既能保证系统性能,又能使系统操作简便,便于生产过程的有效监督。这种应用的核心是数据通信,它包括下位机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而下位机和上位机之间数据通信则是整个系统的基础。

因此,要求单片机与计算机、单片机与单片机、单片机与其他智能控制装置之间具有稳定、可靠的数据通信。

本书从应用的角度介绍了单片机串口通信及测控技术。主要内容包括单片机及其控制系统概述,单片机开发板 B 简介;串行通信的基本概念,串行通信的接口标准,个人计算机中的串行端口,单片机中的串行端口,PC编程软件的串行通信开发工具;分别采用汇编语言和C51语言编写单片机端程序;分别采用Visual Basic 和Visual C++语言编写PC 端程序,实现单片机与单片机串口通信,实现单片机与PC模拟量输入与输出、开关量输入与输出,实现单片机测控应用(温度检测、短信收发、智能仪器);采用组态软件KingView实现单片机与PC串口通信。

本书内容丰富,可供自动化、计算机应用、机电一体化等相关专业的大学生、研究生学习单片机通信技术,也可供从事计算机控制系统研发的工程技术人员参考。

为方便读者学习,本书提供了超值配套光盘,内容包括实例源程序、程序运行录屏、系统测试录像、软硬件资源等。

本书由石河子大学聂晶编写第1、2章,梁习卉子编写第3、4章,温宝琴编写第5章,任玲编写第6章,李江全编写第7、8章,塔里木大学刘新英编写第9、11章,廖结安编写第12章,国家电网公司柯义柱编写第14章,宁夏农机推广站万平编写第10、13章,全书由李江全教授担任主编并统稿,聂晶、梁习卉子、刘新英担任副主编。参与编写、程序设计、插图绘制和文字校核工作的人员还有田敏、邓红涛、汤智辉、胡蓉、刘恩博、李宏伟等老师,同时,电子开发网在单片机硬件和软件方面提供了关键技术支持,编者在此对他们致以深深的谢意。

由于编者水平有限,书中难免存在不妥或错误之处,恳请广大读者批评指正。编者第1章单片机及控制系统概述

单片机以其独特的优点,在智能仪表、家用电器、工业控制、数据采集、网络通信等领域得到了广泛的应用。各行各业的工程技术人员都在根据自己的工程任务进行单片机应用系统的开发设计工作,从而改变了传统控制系统的设计思想和设计方法。以前必须由模拟电路或数字电路实现的大部分控制功能,现在已能由单片机通过软件方法来实现了,因此使控制系统的性能大大提高,应用领域更加广泛。

单片机主要用于嵌入式应用,故又被称为嵌入式微控制器,国际上常把单片机称为微控制器(MCU),而国内则习惯称为“单片机”。1.1 单片机概述1.1.1 单片机的组成

单片机又称单片微控制器,它把一个计算机系统集成到一块芯片上,主要包括微处理器(CPU)、存储器(随机访问存储器RAM、只读存储器ROM)和各种输入/输出接口(包括定时器/计数器、并行I/O接口、串行口、A/D转换器以及脉冲宽度调制(PWM)等,如图1-1所示。▲图1-1 单片机组成框图

1.程序存储器(ROM)

ROM用来存放用户程序,分为EPROM、Mask ROM、OTP ROM和Flash ROM等。

EPROM型存储器编程(把程序代码通过一种算法写入程序存储器的操作)后,其内容可用紫外线擦除,用户可反复使用,故特别适用于开发阶段,但EPROM型单片机价格很高。

Mask ROM型单片机价格最低,适用于批量生产。由于Mask ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户更改程序代码十分不便,在产品未成熟时选用此型单片机风险较高。

OTP ROM型(一次可编程)单片机价格介于EPROM和MaskROM型单片机之间,它允许用户对其编程,但只能写入一次。

Flash ROM型单片机可采用电擦除的方法修改其内容,允许用户使用编程工具或在系统中快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。Flash ROM型单片机既可用于开发阶段,也可用于批量生产,随着制造工艺的改进,价格不断下降,使用越来越普遍,已成为现代单片机的发展趋势。

2.中央处理器(CPU)

CPU是单片机的核心单元,通常由算术逻辑运算部件(ALU)和控制部件构成。CPU就像人的大脑一样,决定了单片机的运算能力和处理速度。

3.随机存储器(RAM)

RAM用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百字节。RAM的内容具有易失性(也称为易挥发性),掉电后数据会丢失。最近出现了EEPROM 或Flash ROM 型的数据存储器,方便用户存放不经常改变的数据及其他重要信息。单片机通常还有特殊寄存器和通用寄存器,也属于RAM空间,但它们存取数据速度很快,特殊寄存器还用于充分发挥单片机各种资源的功效,但这部分存储器占用存储空间更小。

4.并行输入/输出(I/O)接口

通常为独立的双向I/O接口,既可以用作输入方式,又可以用作输出方式,通过软件编程设定。现代单片机的I/O接口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。I/O接口是单片机的重要资源,也是衡量单片机功能的重要指标之一。

5.串口输入/输出口

用于单片机和串行设备或其他单片机的通信。串行通信有同步和异步之分,这可以用硬件或通用串行收发器件实现。不同的单片机可2能提供不同标准的串行通信接口,如 UART、SPI、IC、MicroWire等。

6.定时器/针数器(T/C)

用于单片机内部精确定时或对外部事件(输入信号如脉冲等)进行计数,通常单片机内部有2个或2个以上的定时/计数器。

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)存储器:包括程序存储器和数据存储器,程序存储器空间较大,字节数一般从几KB到几十KB,另外还有不同的类型,如ROM、2EPROM、EPROM、Flash ROM和OTP ROM型。数据存储器的字节数则通常为几十字节到几百字节之间。程序存储器的编程方式也是用户考虑的一个重要因素,有的是串行编程,有的是并行编程,新一代的单片机有的还具有在系统编程(ISP, In-System-Programmable)或在应用再编程(IAP,In-Application re-Programmable)功能;有的还有专用的ISP编程接口JTAG口。(3)I/O接口:即输入/输出接口,一般有几个到几十个,用户可以根据需要进行选择。(4)速度:指的是 CPU 的处理速度,以每秒执行多少条指令来衡量,常用单位是 MIPS(百万条指令每秒),目前最快的单片机可达到100MIPS。单片机的速度通常是和系统时钟(相当于PC的主频)相联系的,但并不是频率高的处理速度就一定快,但对于同一种型号的单片机来说,采用频率高的时钟一般比频率低的速度要快。(5)工作电压:通常工作电压是5V,范围是±5%或±10%;也有3V/3.3V电压的产品;更低的可在1.25V工作。现代单片机又出现了宽电压范围型,在2.5V~6.5V内都可正常工作。(6)功耗:低功耗是现代单片机所追求的一个目标,目前低功耗单片机的静态电流可以低至μA或nA级。有的单片机还具有等待、关断、睡眠等多种工作模式,以此来降低功耗。(7)温度:单片机根据工作温度可分为民用级(商业级)、工业级和军用级3种。民用级的温度范围是 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、87513个基本型和对应的低功耗型80C31、80C51、87C51。

MCS-51系列及80C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有所区别。最常用的51系列单片机是8051和AT89C51(如图1-2所示)等。2

AT89C51具有片内EPROM,是真正的单片机,由于不需要外接EPROM,所以应用非常普遍。8031、8051片内没有EPROM,但它价格很低,软硬件系统开发成熟,所以应用也非常广泛。目前51系列的产品大多是8031、8051和AT89C51等。

除了Intel公司,还有Atmel、Winbond、Philips、TEMIC、ISSI和LG等公司都生产兼容80C51的产品。

宏晶公司生产的STC89C5lRC单片机为低电压、高性能的CMOS 8 位单片机,片内含2Kbyte的可反复擦写的只读程序存储器(PEROM)和128byte的随机存取数据存储器(RAM),工作电压为2.7V~6V,还含有2个16位的定时器,6 个内部中断源,可编程的串口 UART,兼容标准 MCS-51 指令系统。片内置有通用 8 位中央处理器和Flash存储单元,封装只有40针,体积比较小,工作温度为-40℃~+85℃。

STC89C5lRC单片机可以利用STC-ISP软件方便地实现在线烧写程序。本书使用的实验开发板采用的就是STC89C5lRC单片机。▲图1-2 AT89C51系列单片机产品示意图

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μA~5μA,HALT(关断)模式下小于1μA,而其功能却并不逊色。MSM64K系列单片机片内集成了LCD(液晶显示器)驱动器,可方便地与液晶显示器连接,且具有片内掩模(Mask)的程序存储器,有些型号还带有串口、RC振荡器、看门狗、模数转换器(ADC)、脉宽调制(PWM)等,几乎不需要外扩芯片即可满足应用,其工作温度范围可达-40℃~85℃,提供PGA封装和裸片。该系列微控制器应用广泛,适用于使用LCD显示、电池供电的设备,如掌上游戏机、便携式仪表(体温计、湿度计)、智能探头、定时器(时钟)等低成本、低功耗的产品。

4.ST公司的ST62系列单片机

美国ST微电子公司是一家独立的全球性公司,专门从事半导体集成电路的设计、生产、制造和销售,以及生产各种微电子应用中的分立器件。应用领域涉及电子通信系统、计算机系统、消费类产品、汽车应用、工业自动化和控制系统等。ST公司可提供满足各种需要的单片机或微控制器,其中ST62系列8位单片机以其简单、灵活、价低格等特点,特别适用于汽车、工业、消费领域的嵌入式微控制系统。ST62系列提供多种不同规格的单片机以满足各种需要,存储器从221KB到8KB,有ROM、OTP、EPROM、EPROM、Flash EPROM,I/O接口从9个到22 个,引脚从16 个到42个,还有 ADC、LCD 驱动、看门狗、定时器、串行口、电压监控等部件。ST62 单片机采用独特的制造工艺和技术,大大提高了抗干扰能力,能适应于各种恶劣环境。

5.AD公司的带A/D与D/A转换器的单片机

ADμC812是AD公司推出的全集成12位数据采集系统,片内集成了8路12位高性能的自校准ADC、2路12位DAC和与80C51指令兼容的8位MCU。AD公司最近又推出了16位和24位ADC的ADμC816和ADμC824,其他性能特性与ADμC812基本相同。

ADμC812 MCU 包括8KB的Flash程序存储器、640B 的Flash数据存储器、256B 的RAM和与80C51 兼容的内核。并且具有看门狗定时2器、电源监视器及ADC 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等类似的存储器中。系统软件包括以下内容。

① 监控(监督)程序或操作系统。

监控(监督)程序是一种低级计算机的管理程序。它的功能是扫描键盘,实现人机对话,接收用户程序,显示、调试、修改用户程序,显示和修改存储器中的内容。通电后立即进入监控(监督)程序,各种程序均在监控程序控制下运行。一般在设计单片机智能化仪器、仪表及设备时要自己编制监控(监督)程序。编制用户程序时,同时可以调用监控程序中的一些子程序,节省用户应用程序的存储空间。

操作系统是微型计算机的一款大型管理程序,是在监控程序的基础上进一步扩展许多控制程序形成的,其主要功能是实现人机对话,管理微型机、存储器、操作台、外部设备(磁盘驱动器、C RT、打印机及其他外围设备)、文件和作业进程。它控制各种软件,如汇编程序、解释程序、编译程序、I/O驱动程序、连接程序等。不同的计算机系统可能有不同的操作系统,如CP/M、CDOS等。

② 汇编程序、解释程序和编译程序。

汇编程序用于把汇编语言程序翻译为计算机能够识别和执行的机器语言程序(也称为目标程序)。例如MCS-51单片机仿真器里有MCS-51汇编程序,用户可以把用汇编语言编写的程序送入仿真器,然后把它变为机器语言程序,再把这些机器语言程序固化到EPROM中,EPROM中的程序就可以在用户系统中执行。解释程序的功能是把用某种程序设计语言编写的源程序,翻译成机器语言的目标程序,此目标程序是可执行程序,解释程序翻译一句执行一句。编译程序的功能是把用高级语言编写的源程序,编译成某中间语言或机器目标程序。(2)应用软件

单片机实时控制系统的应用软件是服务于实时控制的程序集合,由单片机实时控制系统的设计者编写。因控制系统的复杂程度和功能差别很大,所以应用软件的差别也很大。应用软件的设计应当留有余地、易于扩展和更改。为此,应用软件宜采用模块化结构,一个程序模块就是一个子程序。主程序的主要任务是调用这些子程序,总的来说,这些子程序可分为两类,分别为通用软件和专用软件。

① 通用软件。

不管控制规模有多大,按什么规律控制,也不管被控对象是什么,一般情况下,有些软件常会被用到,这些软件称为通用软件。如数制转换程序,包括二进制数与BCD码之间相互转换程序等;运算程序,包括加、减、乘、除、乘方、开方、函数运算等;数字滤波程序,用于对数据进行处理;工程量程序,在工程显示时往往用到这类程序;查表程序,例如查找热电势对应的温度值;报警程序等。

② 专用软件。

这是针对某一具体控制系统和不同控制规律编制的程序,主要有:数据采集程序、A/D转换程序、D/A转换程序、键盘扫描程序、显示程序,以及各种控制算法程序,例如PID程序、纯滞后补偿算法程序、自适应控制程序等。1.2.3 单片机应用系统的开发过程

单片机应用系统是为了完成某项任务而研制开发的用户系统,每个系统针对不同的应用,具有不同的功能,但总体设计方法和研制步骤基本相同。本小节简要介绍单片机应用系统的一般开发、研制方法。

与一般的计算机系统一样,单片机的应用系统也是由硬件和软件组成。硬件指单片机、扩展的存储器、输入/输出设备、控制设备、执行部件等组成的系统,软件是各种工作程序的总称。硬件和软件只有紧密配合,协调一致,才能组成高性能的单片机应用系统。

在系统的研制过程中,软硬件的功能总是在不断地调整,以便相互适应、相互配合,达到最佳性价比。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计、系统总体调试等4个阶段,但它们不是绝对分开的,有时是交叉进行的,其开发流程图如图1-8所示。▲图1-8 单片机应用系统开发流程图

目前,单片机应用系统的设计方法一般是针对具体任务选用合适的单片机,配以必要的存储器、接口芯片和外围设备来构成系统。这类系统中的硬件配置和软件设计完全是按照应用系统的功能进行的。因而系统结构简单、投资少,软硬件资源能够得到最充分的利用。由于设计人员必须编制必要的系统监控或监督程序、应用功能程序等,所以软件设计和硬件制作的工作量很大,要求设计人员要有一定的软硬件开发能力。

1.总体设计

在进行系统设计之前,首先应根据系统的功能要求及其应用环境等,确定合理、具体的功能和技术指标,对应用系统的可靠性、通用性、先进性、可维护性及成本等进行综合考虑,根据单片机性能及开发工具等因素选择合适的单片机机型。接下来要根据系统中可能涉及的传感器、模拟电路、I/O接口、存储器、打印机和显示器等器件和设备进行器件选择,使之符合系统在精度、速度和可靠性等方面的要求。最后确定硬件和软件的功能划分,由于在系统设计中某些功能用硬件和软件都能实现,在设计中应综合考虑研制周期和成本等因素,并依此具体划分软、硬件功能。

2.系统硬件设计

硬件系统设计的任务是根据总体设计要求,在所选择的单片机型的基础上,确定系统扩展所需的存储器、I/O电路、A/D及D/A电路和相关的外围电路等,然后设计出系统的电路原理图。下面分别介绍硬件设计的各个环节。(1)程序存储器的选用

单片机内部没有程序存储器或存储器容量不够时,需扩展外部程序存储器。可当程序存储器使用的芯片有多种非易失存储器,如2EPROM、EPROM、快擦写Flash存储器和OTP等,从它们的价格和性能特点上考虑,对于批量生产的已成熟的应用多选用OTP型,其他情况可选用快擦写存储器等。由于目前单片机片内存储器的容量越来越大,若设计的应用系统所需的存储器空间比较小,就没必要扩充程序存储器。(2)数据存储器的选用

数据存储器由RAM构成。对于数据存储器的容量要求,各个系统之间差别比较大。有的测量仪器和仪表只需少量的RAM即可,此时应尽量选用容量能符合要求的单片机。对于要求较大容量RAM的系统,对RAM芯片的选择原则是尽可能减少芯片的数量。例如选一片62256(32K)比选用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。

系统扩展和配置设计遵循的原则如下。

① 尽可能选择典型通用的电路,并符合单片机的常规用法。

② 系统的扩展与外围设备配置的水平应充分满足应用系统当前的功能要求,并留有适当余地,便于需要时进行功能扩充。

③ 系统中相关的器件性能要匹配。例如,选用的晶振频率较高时,存储器的存取时间就短,应选择存取速度较快的芯片;选择CMOS芯片单片机构成低功耗系统时,系统中的所有芯片都应选择低功耗产品。如果系统中相关的器件不匹配,系统的综合性能将降低,甚至不能正常工作。

④ 硬件系统设计时,要尽可能充分地利用单片机的片内资源,使设计的电路向标准化、模块化靠拢。

硬件设计结束后,应编写出硬件电路原理图及硬件设计说明书。

3.系统软件设计

单片机应用系统是一个整体。软件设计和硬件设计应统一,系统的硬件电路设计定型后,软件的功能也就基本明确了。

一个应用系统中的软件一般由系统监控程序和应用程序两部分组成。其中,应用程序是用来完成如测量、计算、显示、打印、输出控制等各种实质性功能的软件;系统监控程序是控制单片机系统按预定操作方式运行的程序,负责组织调度各应用程序模块,完成系统自检、初始化、处理键盘命令、处理接口命令、处理条件触发和显示等功能。

软件设计通常分为系统定义、软件结构设计和程序设计3个步骤。(1)系统定义

系统定义的目的就是根据系统软、硬件的功能分工,确定出软件应完成什么功能,其具体步骤如下。

① 定义说明各输入/输出接口的功能,确定信息交换的方式、与系统接口方式、所占接口地址、读取和输出方式等。比如编写实现控制功能的软件时,应明确控制对象、控制信号及控制时序;编写实现处理功能的软件时,应明确输入是什么,要做什么样的处理(即处理算法),产生何种输出。

② 在程序存储器和数据存储器区域中,合理分配存储空间。其中包括系统主程序、常数表格、数据暂存区域、堆栈区域和入口地址等。

③ 对面板控制开关、按键等输入量及显示、打印等输出量也必须予以定义,以此作为编程依据。

④ 针对可能出现的由干扰引起的错误进行容错设计,给出错误处理方案,以达到提高软件可靠性的目的。其中一种最简单的错误处理就是软件引导重新启动系统。

⑤ 明确所设计的用户程序应达到的精度、速度指标。(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/)专为单片机初学者设计并开发的一种实验兼开发板,研制该产品的目的是为了帮助单片机初学者快速学会单片机技术。在自学单片机的过程中,通过做一系列的实验,从而比较容易地领会单片机学习中遇到的枯燥、难懂的专业术语,而且这款实验开发板弥补了市场上常见的单片机实验板的一些不足,有针对性地面向最终的实用控制功能,包括模拟量输入与输出接口、数字量输入与输出接口等,增加了实用的继电器接口,可以使实验板能够直接用于控制各种负载,成为一个实用化的嵌入式控制系统。单片机开发板B的实物图如图1-9所示。▲图1-9 单片机开发板B实物图

单片机开发板 B 可以做很多实验,如模拟电压输入与输出、开关量输入与输出,以及红外线遥控器编码分析仪、通用频率计、温度测控等。

本书所有实例均采用单片机开发板B。

PC与单片机开发板B组成的数据采集与控制系统如图1-10所示。▲图1-10 PC与单片机开发板组成的数据采集与控制系统框图

工作过程:作为下位机的单片机实时采集测量到的电压值,并将采集的电压值显示在数码管上,同时采集的电压值通过串口传送到上位机 PC。上位机 PC 收到下位机传送来的电压值,在显示屏上显示。上位机PC设置电压值,通过串口发送到单片机系统,单片机数码管显示该电压,并通过模拟电压输出端口输出。上位机PC发出开关指令传送给单片机系统,驱动继电器动作。电气开关产生开关信号,发送到PC显示。1.3.2 单片机开发板B的主要电路

单片机开发板 B 的电路主要包括电源电路、时钟电路、复位电路、数码管显示电路、串口驱动电路和继电器驱动电路等。

1.电源电路

选择输出直流电压为10V~15V之间电源,并且插头极性为内正外负。稳压电源输出的直流电压通过专门的电源插座 J1 把直流电压引入实验开发板。电源分两路,一路直接提供 12V的直流电源,主要供继电器使用;另一路通过三端稳压芯片LM7805稳压成5V直流电源供单片机系统(包括数码管)使用。

电源电路如图1-11所示。电容C1、C2和C3是12V电源的滤波电容,C1、C2是低频滤波,容量为 470 μF,C3 是高频滤波,容量为 0.1μF。通过这两个电容的进一步滤波,最后得到的是纯净的直流,这对数字电路起到了很好的保护作用。电阻R1和LED1组成5V电源的工作指示电路,只要电源部分正常,LED1就会点亮,我们可以据此来判断整个电源部分是否工作正常。▲图1-11 电源电路

2.时钟电路

给STC89C51RC提供一定的时钟频率后,STC89C51RC才能开始工作。时钟电路如图1-12所示。▲图1-12 时钟电路

这个振荡电路与 STC89C51RC 内部的时钟振荡器一起组成完整的时钟频率发生电路,X1 为STC89C51RC内部时钟振荡器的输入端;X2为STC89C51RC内部时钟振荡器的输出端;Y1为晶振,起到选择振荡频率的作用。这里使用的时钟频率为11.0592 MHz。C1、C2为振荡补偿电容,起到放宽起振频率,让时钟容易起振的作用。

3.复位电路

要使 STC89C51RC 单片机正常工作,还要给单片机增加上电复位电路和外接一个晶振。为STC89C51RC供电时,需要对STC89C51RC进行一次复位操作。复位操作将STC89C51RC的工作环境置成初始状态,并从程序的开始进行运行。

根据STC89C51RC的管脚定义,上电复位是通过给STC89C51RC的9号管脚发一个瞬时高电平来完成的,电路如图1-13 所示。上电的瞬间,电流有一个突发的向上尖峰脉冲,因此电流能通过C1电容到达STC89C51RC的复位端口RESET,从而对STC89C51RC进行复位。尖峰脉冲过后,电流平稳,电容C1阻止电流的通过,这样可以防止对STC89C51RC反复进行复位。电阻R2是用于给Cl放电的,并将9号管脚拉低,防止RESET端口上持续高电平。▲图1-13 复位电路

判断单片机芯片及时钟系统是否正常工作,有一个简单的办法,就是用万用表测量单片机晶振引脚(18、19脚)的对地电压。

以正常工作的单片机为例:18脚对地约2.24V,19脚对地约2.09V。对于可能由于复位电路故障而不能正常工作的单片机,也可以采用模拟复位的方法来判断,单片机正常工作时9脚对地电压为零,可以用导线短时间和+5V连接一下,模拟一下上电复位,如果单片机能正常工作,说明这个复位电路有故障。

4.数码管显示电路

数码管显示电路起到让数码管发光的作用,如图1-14所示。所有发光二极管都是共阴极接法, P2口作为数码管的选通线,当给P2口相应位置低电平时,相应的数码管选通。P0口为数码管的数据线,从P0口输出相应的字形码即可显示数字。

本设计中,将P0口作为字形码输出控制口,P0.1~P0.7分别与各数码管的笔画段A~G连接。排阻 RB1为 P0口输出的上拉电阻,阻值定为 1.5kΩ,作用是使数码管的默认状态为不点亮。排阻RB1起限流作用,对数码管进行保护。如果没有这个电阻,数码管可能因电流较大而被烧坏。

单片机开发板B的其他电路将在后续章节介绍。▲图1-14 数码管显示电路1.3.3 单片机开发板B的功能测试程序

购买成品板的用户拿到的是焊接好的经过测试的产品。不管是购买套件还是成品单片机实验开发板,用户得到的单片机中都已经烧录了一个测试程序,测试程序主要是用来测试 51 试验板的单片机和相关外围元件的好坏,如果这个程序能够顺利运行,说明实验板的各方面都很正常。

测试程序的功能:接通电源后P0口的8个发光二极管依次从下往上点亮,然后蜂鸣器鸣叫一声,两个继电器轮流动作一次,数码管的个位显示“8”,再换成十位显示“8”,然后不断循环,如果这时按下红外遥控器的按键,蜂鸣器立即发出“嘀嘀嘀”的提示音,同时将这个按键的键值通过串口在电脑屏幕上显示出来(需要运行串口调试软件),通过这个程序可以判断单片机实验开发板的各个部分的硬件和软件是否完好。

1.Keil C51软件的使用

Keil C51 软件是最优秀的单片机应用开发软件之一,它集编辑、编译、仿真于一体,支持汇编语言、PLM语言和C语言的程序设计,界面友好,易学易用。

启动Keil C51,几秒钟后出现编辑界面, 如图1-15 所示。

Keil C51 的基本操作如下。(1)建立一个新工程

单击“Project”菜单,在弹出的下拉菜单中选中“New Project”选项,出现“Create New Project”对话框。然后选择要保存的路径,输入工程文件的名字,如pc_com(后缀名默认),单击“保存”按钮。这时会弹出一个“Select Device for Target ‘Target 1’”对话框,要求选择单片机的型号,可以根据使用的单片机来选择,Keil C51几乎支持所有的51核的单片机。这里选择Atmel 的89C51。选择89C51之后,右边一栏是对这个单片机的基本的说明,然后单击“确定”按钮。(2)编写程序

单击“File”菜单,在下拉菜单中单击“New”选项。此时光标在编辑窗口闪烁,这时可以输入用户的应用程序,但笔者建议首先保存该空白文件。▲图1-15 Keil C51编辑界面

单击菜单上的“File”,在下拉菜单中选中“Save As”选项,在“文件名”栏右侧的编辑框中,输入欲使用的文件名,同时,必须输入正确的扩展名,如pc_com.c,然后,单击“保存”按钮(如果用汇编语言编写程序,则扩展名为“.asm”)。

回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出菜单,然后单击“Add File to Group‘Source Group 1’”。

选中pc_com.c,然后单击“Add ”按钮,再单击“Close ”按钮。此时“Source Group 1”文件夹中多了一个子项“pc_com.c”。子项的多少与所增加的源程序的多少相同。

现在,请输入 C 语言或汇编语言源程序。在输入程序时,读者可能已经看到了事先保存待编辑的文件的好处,即 Keil C51 会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。(3)编译程序

单击“Project”菜单,在下拉菜单中单击“Options for Target‘Target 1’”选项,出现对话框,选择Output选项卡,选中“Create HEX Files”,单击“确定”按钮。

再单击“Project”菜单,在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),进行编译。若有错误会在output窗口提示,可根据此提示,找出错误并修改,直至编译通过。

至此,用Keil C51 做了一个完整工程,其中,生成了一个编程器烧写文件:pc_com.hex。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载