第13章AT89S51单片机的应用设计与调试

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第章单片机应用系统的设计与调试112第章单片机应用系统的设计与调试单片机应用系统的设计步骤单片机应用系统设计硬件设计应考虑的问题典型的单片机应用系统系统设计中的总线驱动软件设计考虑的问题软件的总体框架设计单片机应用系统的仿真开发与调试23【内容概要】本章介绍单片机应用系统的设计,内容主要包括:应用系统的设计步骤和方法,应用系统的硬件设计以及应用程序的总体框架设计。此外,还介绍了目前流行的单片机应用系统的仿真开发工具以及如何利用仿真开发工具对单片机应用系统进行开发调试。4单片机应用系统的设计步骤单片机应用系统的设计工作,首先要经过深入细致的需求分析,周密而科学的方案论证才能使系统设计工作顺利完成。一个单片机应用系统设计,一般可分为个阶段。()明确任务和需求分析以及拟定设计方案阶段明确系统所要完成的任务十分重要,它是设计工作的基础,设计方案正确性的保证。需求分析的内容主要包括:被测控参数的形式(电量、非电量、模拟量、数字量等)、被测控参数的范围、性能指标、系统功能、工作环境、显示、报警、打印要求等。5拟定设计方案是根据任务的需求分析,先确定大致方向和准备采用的手段。注意,在进行设计方案确定的时候,简单的方法往往可以解决大问题,切忌“将简单的问题复杂化”()硬件和软件设计阶段根据拟定的设计方案,设计出相应的系统硬件电路。硬件设计的前提是必须能够完成系统的要求和保证可靠性。在硬件设计时,如果能够将硬件电路设计与软件设计结合起来考虑效果会更好。因为当有些问题在硬件电路中无法完成时,可直接由软件来完成(如某些软件滤波、校准功能等);当软件编写程序很麻烦的时候,通过稍稍改动硬件电路(或尽可能不改动)可能会使软件变得十分简单。另外在一些要求56系统实时性强、响应速度快的场合,则往往必须用硬件代替软件来完成某些功能。所以在硬件电路设计时,最好能够与软件的设计结合起来,统一考虑,合理地安排软、硬件的比例,使系统具有最佳的性价比。当硬件电路设计完成后,就可进行硬件电路板的绘制和焊接工作了。接下来的工作就是软件设计。正确的编程方法就是根据需求分析,先绘制出软件的流程图,该环节十分重要。流程图的绘制往往不能一次成功,通常需要进行多次的修改。流程图的绘制可按照由简到繁的方式再逐步细化,先绘制系统大体上需要执行的程序模块,然后将这些模块按照要求组合在一起,在大方向没有问题后,再将每个模块进行细化,最后形成软件流程67图,这样程序的编写速度就会很快,同时程序流程图还会为后面的调试工作带来很多方便,如程序调试中某个模块不正常,就可以通过流程图来查找问题的原因。软件编写者一定要克服不绘制流程图直接在计算机上编写程序的习惯。设计者也可以先使用虚拟仿真开发工具来进行单片机系统的仿真设计。使用完成的单片机系统设计与用户样机在硬件上无任何联系,这是一种完全用软件手段来对单片机硬件电路和软件来进行设计、开发与仿真调试的开发工具。如果一个单片机的软硬件系统,先使用软件虚拟仿真工具进行系统设计并仿真调试通过,虽然还不能完全说78明实际系统就完全通过,但至少在逻辑上是行得通的。系统虚拟仿真通过后,再进行实际的软硬件设计与实现,可大大减少设计上所走的弯路,软件编写调试可与硬件设计同步进行,可大大提高设计效率,这也是目前世界上广泛流行的一种开发设计方法。()硬件与软件联合调试阶段上述的软硬件系统虚拟设计仿真调试通过后,再使用硬件仿真开发工具(在线仿真器)与用户样机来进行实际调试,具体的调试方法和过程,将在本章的后面进行介绍。所有的软件和硬件电路全部调试通过,并不意味着单片机系统的设计成功,还需要通过实际运行来调整系统的运行状89态,例如系统中的转换结果是否正确,如果不正确,是否要调零和调整基准电压等。()资料与文件整理编制阶段当系统全部调试通过后,就进入资料与文件整理编制阶段。资料与文件包括:任务描述、设计的指导思想及设计方案论证、性能测定及现场试用报告与说明、使用指南、软件资料(流程图、子程序使用说明、地址分配、程序清单)、硬件资料(电原理图、元件布置图及接线图、接插件引脚图、线路板图、注意事项)。文件不仅是设计工作的结果,而且是以后使用、维修以及进一步再设计的依据。因此,一定要精心编写,描述清楚,使数据及资料齐全。910单片机应用系统设计本节介绍如何进行单片机应用系统的设计。主要从硬件设计和软件设计两个方面考虑。硬件设计应考虑的问题在硬件设计时,应重点首先考虑以下几个问题。.尽可能采用高集成度功能强的芯片()单片机的选型。随着集成电路技术的飞速发展,单片机的集成度越来越高,许多外围部件都已集成在芯片内,有许多单片机本身就是一个系统,这样可以省去许多外围部件的扩展工作,使设计工作大大简化。在第章中,已经介绍1011了目前较为流行的各种单片机机型,用户可根据任务的需求,选择合适的机型。例如,目前市场上较为流行的美国公司的位单片机,片内集成有通道、两路、两路电压比较器,内置温度传感器、定时器、可编程数字交叉开关和个通用口、电源监测、看门狗、多种类型的串行总线(两个、)等。使用片位单片机,就构成了一个应用系统。再如,如果系统需要较大的驱动能力和较强的抗干扰能力,可考虑选用单片机或单片机。()优先选用片内带有较大容量存储器的产品。例如,使用公司的1112系列产品,公司的(内有的存储器)等,可省去扩展片外程序存储器的工作,减少芯片数量,缩小系统的体积。()容量的考虑。大多数单片机片内的单元有限,当需增强软件数据处理功能时,往往觉得不足,这时可选用片内具有较大容量的单片机,例如。()对端口留有余地。在用户样机研制出来进行现场试用时,往往会发现一些被忽视的问题,而这些问题是不能单靠软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在1213硬件设计之初就多设计留有一些端口,这些问题就会迎刃而解了。()预留和通道。与上述的端口同样的原因,留出一些和通道将来可能会解决大问题。.以软代硬原则上,只要软件能做到且能满足性能要求,就不用硬件。硬件多了不但增加成本,而且系统故障率也会提高。以软件代硬件的实质,就是以时间换空间,软件执行过程需要消耗时间,因此这种替代带来的问题是实时性下降。在实时性满足要求的场合,以软代硬是合算的。1314.工艺设计工艺设计包括机箱、面板、配线、接插件等。必须考虑到安装、调试、维修的方便。另外,硬件抗干扰措施(将在本章的后面介绍)也必须在硬件设计时一并考虑进去。典型的单片机应用系统典型的单片机应用系统框图如图所示。典型的单片机应用系统主要由单片机基本部分、输入部分和输出部分组成。()单片机基本部分基本部分由单片机及其扩展的外设及芯片,如键盘、显示器、打印机、数据存储器、程序存储器以及数字等组成。1415图单片机典型应用系统框图16()输入部分这是“测”的部分,被“测”的信号类型有:数字量、模拟量和开关量。模拟量输入检测的主要包括信号调理电路以及转换器。转换器中都集成了包括多路切换、采样保持、转换等电路,转换器或者直接集成在单片机片内。连接传感器与转换器之间的桥梁是信号调理电路,传感器输出的模拟信号要经过信号调理电路对信号进行放大、滤波、隔离、量程调整等,变换成适合转换的电压信号。信号放大通常由单片式仪表放大器承担。仪表放大器对信号进行放大比普通运算放大器具有更优异的性能。如何根据不同的传感器1617正确地选择仪表放大器来进行信号调理电路的设计,请读者参阅有关资料和文献。()输出部分这部分是应用系统“控”的部分,包括数字量、开关量控制信号的输出和模拟量控制信号(常用于伺服控制)的输出。系统设计中的总线驱动一个单片机应用系统有时往往是多芯片系统,如何实现单片机对多片芯片的驱动的问题。1718在单片机扩展多片芯片时,要注意单片机个并行双向口的~口的驱动能力。下面首先讨论这个问题。的、口通常作为总线端口,当系统扩展的芯片较多时,可能造成负载过重,致使驱动能力不够,系统不能可靠地工作,所以通常要附加总线驱动器或其他驱动电路。因此在多芯片应用系统设计中首先要估计总线的负载情况,以确定是否需要对总线的驱动能力进行扩展。图为单片机总线驱动扩展原理图。口需要单向驱动,常见的单向总线驱动器为。1819图单片机总线驱动扩展原理图20图为引脚图和逻辑图。个三态驱动器分成两组,分别由*和*控制。口作为数据总线,是双向传输,驱动器应为双向驱动、三态输出,并由两个控制端来控制数据传送方向。如图所示,数据输出允许控制端有效时,数据总线输入为高阻态,输出为开通状态;数据输入允许控制端有效时,则状态与上相反。常见的双向驱动器为,图为其引脚和逻辑图。个三态门中每两个三态门组成一路双向驱动。驱动方向由*、两个控制端控制驱动器有效或高阻态,在控制端有效(*)时,控制端控制驱动器的驱动方向,时驱动方向为从至,时则相反。202121图单向驱动器引脚图和逻辑图22图的引脚图和逻辑图23图所示为单片机应用系统总线驱动扩展电路图。口的双向驱动采用,如图()所示;口的单向驱动器采用,如图()所示。口的双向驱动器的*接地,保证芯片一直处于工作状态,而输入输出的方向控制由单片机的数据存储器的“读”控制引脚(*)和程序存储器的取指控制引脚(*)通过与门控制引脚实现。这种连接方法无论是“读”数据存储器中数据(*有效)还是从程序存储器中取指令(*有效),都能保证对口的输入驱动;除此以外的时间(*及*均无效),保证对口的输出驱动。对于口,因为只用作单向的地址输出,故的驱动门控制端*、*接地。232424图单片机应用系统中的总线驱动扩展电路图25软件设计考虑的问题在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相互结合进行。当系统的硬件电路设计定型后,软件的任务也就明确了。一般来说,软件的功能分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度的角色。设计人员在进行程序设计时应从以下几个方面加以考虑。()根据软件功能要求,将系统软件分成若干相对独立的部分,设计出合理的软件总体结构,使其清晰、简洁、流程合理。2526()各功能程序实行模块化、子程序化。既便于调试、链接,又便于移植、修改。()在编写应用软件之前,应绘制出程序流程图。多花一些时间来设计程序流程图,就可以节约几倍于源程序的编辑和调试时间。()要合理分配系统资源,包括、、定时器计数器、中断源等。其中最关键的是片内分配。对单片机来讲,片内指~单元,这个字节的功能不完全相同,分配时应充分发挥其特长,做到物尽其用。例如,在工作寄存器的个单元中,和具有指针功能,是编程的重要角色,避免作为它用;~这个字节2627具有位寻址功能,用来存放各种标志位、逻辑变量、状态变量等;设置堆栈区时应事先估算出子程序和中断嵌套深度及程序中堆栈操作指令使用情况,其大小应留有余量。若系统中扩展了存储器,应把使用频率最高的数据缓冲器安排在片内中,以提高处理速度。当资源规划好后,应列出一张详细的资源分配表,以备编程时查用方便。软件的总体框架设计设计者在软件设计时,感觉比较困难的是如何进行系统软件的总体框架设计。下面给出一个典型的例子,供读者在软件设计时参考。2728【例】有一个单片机的应用系统,假设个中断源都已用到,应用系统的程序框架如下:282929303131上述程序框架仅供参考,当然在实际设计中,个中断源也未必全用。32单片机应用系统的仿真开发与调试当一个单片机应用系统(用户样机)完成了硬件和软件设计,全部元器件安装完毕后,在用户样机的程序存储器中放入编写好的应用程序,系统即可运行。但应用程序运行一次性成功几乎是不可能的,多少会存在一些软件、硬件上的错误,这就需要借助单片机的仿真开发工具(在线仿真器)进行调试,发现错误并加以改正。单片机只是一个芯片,既没有键盘,又没有、显示器,也无法进行软件的开发(如编辑、汇编、调试程序等),因此,必须借助仿真开发工具所提供的开发手段来进行。一般来说,仿真开发工具应具有如下最

1 / 54
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功