您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第13章AT89S51单片机的应用设计与调试
1第13章AT89S51单片机的应用设计与调试1成都理工大学工程技术学院自动化工程系22第13章目录13.1单片机应用系统的设计步骤13.2单片机应用系统设计13.2.1硬件设计应考虑的问题13.2.2典型的单片机应用系统13.2.3系统设计中的地址空间分配与总线驱动13.2.4AT89S51单片机的最小应用系统13.2.5应用设计举例—水温测控系统的硬件设计13.2.6软件设计考虑的问题13.2.7软件的总体框架设计313.3单片机应用系统的仿真开发与调试13.3.1仿真开发系统简介13.3.2用户样机的仿真调试13.4单片机应用系统的抗干扰与可靠性设计13.4.1AT89S51片内看门狗定时器的使用13.4.2指令冗余和软件陷阱13.4.3软件滤波13.4.4开关量输入/输出软件抗干扰设计13.4.5过程通道干扰的抑制措施--隔离413.4.6印刷电路板抗干扰布线的基本原则13.4.7掉电保护设计和硬件“看门狗”13.5单片机应用系统的I/O功率驱动13.5.1AT89S51与外围集成数字驱动电路的接口13.5.2AT89S51与光电耦合器的接口13.5.3AT89S51与集成功率电子开关输出接口5内容概要本章介绍AT89S51单片机应用系统的设计。主要内容:设计步骤和方法,硬件设计,程序的总体框架设计以及设计举例。此外,介绍目前仿真开发工具以及如何利用仿真开发工具对单片机应用系统进行开发调试。最后介绍单片机应用系统的抗干扰和可靠性设计。613.1单片机应用系统的设计步骤以单片机为核心,配以一定的外围电路和软件、能实现用户所要求的测控功能的系统。设计工作,需经过深入细致需求分析,周密科学方案论证才能使系统设计工作顺利完成。需求分析包括:被测控参数的形式(电量、非电量、模拟量、数字量等)、被测控参数的范围、性能指标、系统功能、工作环境、显示、报警、打印要求等。注意,方案确定时候,简单的方法往往可以解决大问题,切忌“简单的问题复杂化”。67一个应用系统设计,一般可分为4个阶段。(1)明确任务和需求分析以及拟定设计方案阶段明确系统要完成的任务十分重要,是设计工作的基础以及系统设计方案正确性的保证。(2)硬件和软件设计阶段根据拟定的方案,设计系统硬件电路。硬件设计的前提是必须能够完成系统的要求和保证可靠性。在硬件设计时,如能将硬件电路设计与软件设计结合起来考虑效果会更好。因为当有些问题在硬件电路中无法完成时,78当软件编写程序很麻烦时,通过稍改动硬件电路(或尽可能不改动)可能会使软件变得简单。另外在要求系统实时性强、响应速度快的场合,往往必须用硬件代替软件来完成某些功能。可直接由软件来完成(如软件滤波、校准功能等)。所以硬件设计时,最好与软件的设计结合起来,统一考虑,合理地安排软、硬件的比例,使系统具有最佳性价比。当硬件电路设计完成后,就可以进行硬件电路板绘制和焊接工作了。接下来介绍软件设计。正确编程方法就是根据需求分89析,先绘制出软件的流程图,该环节十分重要。流程图绘制往往不能一次成功,需多次修改。绘制可由简到繁逐步细化,先绘制系统大体上需要执行的程序模块,然后将这些模块按照要求组合在一起(如主程序、子程序以及中断服务子程序等),在大方向没问题后,再将每个模块细化,最后形成流程图,程序编写速度就会很快,同时为后面的调试工作带来很多方便,如调试中某模块不正常,就可以通过流程图来查找问题的原因。一定要克服不绘制流程图直接在计算机上编写程序的习惯。910设计者也可在上述软硬件设计完成后,先使用单片机的EDA软件仿真开发工具Proteus,来进行仿真设计。用软件仿真开发工具Proteus设计的系统与用户样机在硬件上无任何联系,是一种完全用软件手段来对单片机硬件电路和软件进行设计、开发与仿真调试的开发工具。如果先在软件仿真工具的软环境下进行系统设计并调试通过,虽然还不能完全说明实际系统就完全通过,但至少在逻辑上是行得通的。软件仿真通过后,再进行软硬件设计与实现,可大大减少设计上所走的弯路。这也是目前世界上流行的一种开发方1011法。(3)硬件与软件联合调试阶段下一步就是软硬件的联合调试。需通过硬件仿真开发工具来进行,具体的调试方法和过程,在本章后面介绍。所有软件和硬件电路全部调试通过,并不意味系统设计成功,还需通过运行来调整系统的运行状态,例如系统中的A/D转换结果是否正确,如果不正确,是否要调零和调整基准电压等。(4)资料与文件整理编制阶段系统调试通过,就进入资料与文件整理编制阶段。1112资料与文件包括:任务描述、设计的指导思想及设计方案论证、性能测定及现场试用报告与说明、使用指南、软件资料(流程图、子程序使用说明、地址分配、程序清单)、硬件资料(电原理图、元件布置图及接线图、接插件引脚图、线路板图、注意事项)。文件不仅是设计工作的结果,而且是以后使用、维修以及进一步再设计的依据。因此,要精心编写,描述清楚,使数据及资料齐全。121313.2单片机应用系统设计介绍如何进行系统的设计。主要从硬件设计和软件设计两方面考虑。13.2.1硬件设计应考虑的问题硬件设计时,应重点考虑以下问题。1.尽可能采用功能强的芯片(1)单片机选型。单片机的集成度越来越高,许多外围部件都已集成在芯片内,有的单片机本身就是一个系统,这可省去许多外围部件的扩展工作,使设计工作简化。1314第1章已介绍较为流行的各种单片机,根据需求,选择合适机型。例如,目前市场上较为流行的美国Cygnal公司的C8051F0208位单片机,片内集成有8通道A/D、两路D/A、两路电压比较器,内置温度传感器、定时器、可编程数字交叉开关和64个通用I/O口、电源监测、看门狗、多种类型的串行总线(两个UART、SPI)等。用1片C8051F020单片机,就构成一个应用系统。再如,如系统需要较大的I/O驱动能力和较强的抗干扰能力,可考虑选用AVR单片机。1415(2)优先选片内有闪存的产品。例如,使用ATMEL公司的AT89C5x系列产品,Philips公司的89C58(内有32KB的闪速存储器)等,可省去片外扩展程序存储器的工作,减少芯片数量,缩小系统体积。(3)RAM容量的考虑。多数单片机片内的RAM单元有限,当需增强数据处理功能时,往往觉得不足,这就要求系统配置外部RAM,如6264、62256芯片等。如果处理的数据量大,需要更大的数据存储器空间,可采用数据存储器芯片DS12887,其容量为256KB,内有锂电池保护,保存数据可达10年以上。1516(4)对I/O端口留有余地。在样机研制出来现场试用时,往往会发现一些被忽视的问题,而这些问题是不能单靠软件措施来解决的。如有新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件设计之初就多设计留有一些I/O端口,这些问题就会迎刃而解。(5)预留A/D和D/A通道。与上述I/O端口同样原因,留出一些A/D和D/A通道将来可能会解决大问题。16172.以软代硬原则上,只要软件能做到且能满足性能要求,就不用硬件。硬件多不但增加成本,而且系统故障率也会提高。以软带硬的实质,是以时间换空间,软件执行过程需要消耗时间,因此带来的问题就是实时性下降。在实时性要求不高的场合,以软代硬是很合算的。3.工艺设计包括机箱、面板、配线、接插件等。须考虑到安装、调试、维修方便。另外,硬件抗干扰措施(将在本章后面介绍)也须在硬件设计时一并考虑进去。171813.2.2典型的单片机应用系统典型单片机应用系统框图如图13-1所示。图13-1单片机典型应用系统框图1819主要由单片机基本部分、输入部分和输出部分组成。(1)单片机基本部分由单片机及其扩展的外设及芯片,如键盘、显示器、打印机、数据存储器、程序存储器、数字I/O等组成。(2)输入部分“测”的部分,被“测”的信号类型有:数字量、模拟量和开关量。模拟量输入检测的主要包括信号调理电路以及A/D转换器。A/D转换器中又包括多路切换、采样保持、A/D转换电路,目前都集成在A/D转换器芯片中,或直接集成在单片机片内。1920连接传感器与A/D转换器之间的桥梁是信号调理电路,传感器输出的模拟信号要经信号调理电路对信号进行放大、滤波、隔离、量程调整等,变换成适合A/D转换的电压信号。信号放大通常由单片式仪表放大器承担。仪表放大器对信号进行放大比普通运算放大器具有更优异的性能。如何根据不同的传感器正确地选择仪表放大器来进行信号调理电路的设计,请读者参阅有关资料和文献。(3)输出部分是应用系统“控”的部分,包括数字量、开关量控制信号的输出和模拟量控制信号(常用于伺服控制)的输出。202113.2.3系统设计中的地址空间分配与总线驱动一个AT89S51应用系统有时往往是多芯片系统,这时会遇到两个问题:一是如何把64KB程序存储器和64KB数据存储器的空间分配给各个芯片;二是如何实现AT89S51单片机对多片芯片的驱动。本小节介绍单片机应用系统设计时经常遇到的地址空间分配和总线驱动问题,供设计参考。21221.地址空间分配扩展多片芯片的应用系统,首先应考虑如何把64KB程序存储器和64KB数据存储器的空间分配给各个芯片。第8章已介绍地址空间分配的两种方法:线选法和译码法。下面通过一个例子来说明如何解决这个问题。图13-2所示为一个全地址译码的系统实例。图中所示的AT89S51单片机扩展的各器件芯片所对应的地址见表13-1。222323图13-2全地址译码的系统实例242425因6264、2764都是8KB,故需要13条低位地址线(A12~A0)进行片内寻址,低8位地址线A7~A0经8D锁存器74LS373输出(图中没有画出),其他3条高位地址线A15~A13经3线-8线译码器74LS138译码后作为外围芯片的片选线。图中尚剩余3条地址选择线~,还可扩展3片存储器芯片或外围I/O接口芯片。2.总线驱动扩展多片芯片时,注意AT89S51单片机4个并行双向口的P0~P3口的驱动能力。下面首先讨论这个问题。25Y7Y526AT89S51的P0、P2口通常作为总线端口,当扩展芯片较多,可能造成负载过重,致使驱动能力不够,通常要附加总线驱动器或其他驱动电路。因此在多芯片应用系统设计中首先要估计总线的负载情况,以确定是否需要对总线的驱动能力进行扩展。图13-3为AT89S51单片机总线驱动扩展原理图。P2口需单向驱动,常见的单向总线驱动器为74LS244。图13-4为74LS244引脚图和逻辑图。8个三态驱动器分成两组,分别由1和2控制。262727图13-3AT89S51单片机总线驱动扩展原理图28P0口作为数据总线,双向传输,其驱动器应为双向驱动、三态输出,由两个控制端来控制数传方向。如图13-3所示,数据输出允许控制端DBEO有效时,数据总线输入为高阻状态,输出为开通状态;数据输入允许控制端DBEI有效时,则状态与上相反。常见双向驱动器为74LS245,图13-5为引脚图和逻辑图。驱动方向由、DIR两个控制端控制,控制端控制驱动器有效或高阻态,在控制端有效(=0)时,DIR控制端控制驱动器的驱动方向,DIR=0时驱动方向为从B至A,DIR=1时则相反。28GGGG29图13-6所示为AT89S51系统总线驱动扩展电路图。P0口的双向驱动采用74LS245,如图13-6(a)所示;P2口的单向驱动器采用74LS244,如图13-6(b)所示。图13-4单向驱动器74LS244引脚图和逻辑图293030图13-574LS245的引脚图和逻辑图3131图13-6AT89S51单片机应用系统中的总线驱动扩展电路图32P0口双向驱动器74LS245的接地,保证芯片一直处于工作状态,而输入/输出的方向控制由单片机的数据存储器的“读”控制引脚()和程序存储器的取指控制引脚()通过与门控制DIR引脚实现。无论是“读”数据存储器中数据(有效)还是从程序存储器中取指令(有效),都能保证对P0口的输入驱动;除此以外的时间(及均无效),保证对P0口的输出驱动。对于P2口,因为只用作单向的地址输出,故74LS24
本文标题:第13章AT89S51单片机的应用设计与调试
链接地址:https://www.777doc.com/doc-5176069 .html