您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机原理与C51程序设计基础教程 教学资料
单片机原理与C51语言程序设计基础教程重点内容:单片机系统的基本开发过程系统的优化设计本章小结第13章51单片机系统开发基础单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程1、系统开发概述单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程1、系统开发概述应用系统研制主要可以分为如下几个主要阶段:(1)总体方案的确定:主要包括可行性调研、技术指标的确定、器件的选择和软硬件功能的划分等。(2)系统设计:主要包括硬件设计和软件设计。其中硬件设计主要包括键盘、显示、A/D电路等外围扩展电路的设计和地址译码、总线驱动等电路的设计。软件设计则主要包括定义系统功能、画出程序流程图和编写代码等。另外特别重要的是,作为实际的产品,除了满足基本的功能外,还必须考虑可靠性设计的问题。(3)系统调试:主要包括硬件调试、软件调试以及软硬件的联合调试。硬件的调试主要包括静态调试和动态调试。软件调试则主要是在线的仿真调试。调试中一般软件和硬件不可能完全分开,软件调试和硬件调试通常要协同完成。(4)固化和运行:完成系统调试之后,反复运行正常则可将用户系统程序固化到EPROM之类的存储器上,单片机脱离开发系统独立工作,并在试运行阶段观测所设计的系统是否满足设计要求。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程2、总体方案设计(1).可行性调研可行性调研的目的,是分析完成这个项目的可能性。进行这方面的工作,可参考国内外有关资料,看是否有人进行过类似的工作。若有,则分析他人是如何进行这方面工作的,达到了什么样的技术水平,有什么样的优点,还存在什么样的缺点,是否可以借鉴等;若没有,则需要进一步调研,首先从理论上分析用户所提的技术指标是否具有实现的可能性。然后还要充分了解用户的需求及应用系统可能的工作环境,确定项目能否立项。在可行性调研完成之后,必须明确任务,确定产品的技术指标,包括产品必须具有哪些功能。这是产品设计的依据和出发点,它将贯穿于产品设计的全过程,也是整个研制工作成败、好坏的关键。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程2、总体方案设计(2).器件选型在产品设计任务和技术指标确定以后,应在此基础上选择所需的器件。器件的选择首先是确定最核心的芯片即单片机。单片机芯片的选择应适合于应用系统的要求,不仅要考虑单片机芯片本身的性能是否能够满足系统的需要,如:执行速度、中断功能、I/O驱动能力与数量、系统功耗以及抗干扰性能等,同时还要考虑开发和使用是否方便、市场供应情况与价格、封装形式等其它因素。如果要求研制周期短,则应选择熟悉的机种,并尽量利用现有的开发工具。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程2、总体方案设计(3).方案设计明确任务要求并选定合适的器件之后,要编写任务书,将应用系统要完成的各项任务转换为对单片机的各种输入输出。将一个大的系统划分为多个子系统,明确各个子系统之间的电气接口和通信协议。合理安排人员,确定工作进度。在方案设计时,特别要注意合理协调软硬件的任务。因为。单片机嵌入式系统中的硬件和软件具有一定的互换性,有些功能可以用硬件实现,也可以用软件来实现,因此,在方案设计阶段要认真考虑软、硬件的分工和配合。采用软件实现功能可以简化硬件结构,降低成本,但软件系统则相应的复杂化,增加了软件设计的工作量。而用硬件实现功能则可以缩短系统的开周期,使软件设计简单,相对提高了系统的可靠性,但可能提高了成本。在设计过程中,软、硬件的分工与配合需要取得协调,才能设计出好的应用系统。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程3、硬件设计单片机应用系统典型的硬件结构如图13.2所示。硬件设计的主要任务是根据总体设计要求,在所选器件的基础上,确定系统扩展所要用的存储器、I/O电路、A/D及有关外围电路等。另外,为了使系统稳定可靠地工作,在满足功能之余,还必须进行硬件的可靠性设计。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程3、硬件设计硬件设计的具体步骤如下:(1)绘制硬件框图:根据给定的总体任务,确定数字电路和模拟电路所需要的模块,画出总体的硬件框图,确定硬件的总体方案。(2)确定数据输入输出的方式:确定各输入输出数据的传送方式是中断方式、查询方式还是无条件方式等。(3)硬件资源分配:各输入输出信号分别使用哪个并行口、串行口、中断、定时器/计数器等。(4)绘制原理图:根据以上各步的分析结果完成硬件的电气连接原理图。(5)制作电路板:根据绘制的电路原理图,绘制出PCB图,并送厂家生产,得到实际的电路板。(6)器件焊接:将所有的元器件焊接到制出的电路板上。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程3、硬件设计在单片机应用系统硬件设计中,还应注意下列事项:(1)尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。(2)系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。(3)硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑原则是:软件能实现的功能尽可能由软件实殃,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程3、硬件设计(4)系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品。如果即有CMOS电路,又有TTL电路时,要设计相应的电平兼容和转换电路。当有RS-232,RS-485接口时,还要实现电平兼容和转换。常用的集成电路有MAX232,MAX485等。(5)要考虑负载容限问题。单片机总线的负载能力是有限的。如MCS-51的P0口的负载能力为4mA,最多驱动8个TTL电路,P1~P3口的负载能力为2mA,最多驱动4个TTL电路。若外接负载较多,则应采取总线驱动的方法提高系统的负载容限。常用驱动器有:单向驱动器74LS244,双向驱动器74LS245等。(6)尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。随着单片机片内集成的功能越来越强,在设计中尽量选择性能更优、功能更强的芯片。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程4、软件设计单片机系统软件的总体结构如图13.3所示。一般来说,单片机中的软件功能可分为两大类:一类是执行软件,它完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;另一类是监控软件,它专门用来协调各执行模块和操作者之间的关系,充当组织调度的角色。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程4、软件设计在软件设计中,还应注意如下列事项:(1)根据软件功能要求,将系统软件分成若干个相对独立的部分。根据它们之间的联系和时间上的关系,设计出合理的软件总体结构,使其清晰、简洁、流程合理。(2)培养结构化程序设计风格,各功能程序实行模块化、自程序化。既便于调试、连接,又便于移植、修改。(3)为提高软件设计的总体效率,以简明、直观的方法对任务进行描述,在编写应用软件前,应绘制出程序流程图。这不仅是程序设计的一个重要组成部分,而且是决定成败的关键部分。从某种意义上讲,多花一份时间来设计程序流程图,就可以节约几倍源程序编辑调试时间。(4)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断源等。其中最关键的是片内RAM分配。当各种资源规划好后,应列出一张资源详细分配表,以备编程查用。(5)注意在程序的有关位置写上功能注释,提高程序的可读性。单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程5、系统调试(1).硬件调试当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段。硬件调试的常用工具包括仿真器、万用表、逻辑笔、函数信号发生器、逻辑分析仪、示波器等。硬件调试可按静态调试和动态调试两步进行。●静态调试静态调试是指在系统加电前的检查,主要是排除明显的硬件故障。静态调试的内容包括:(1)排除逻辑故障:这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。(2)排除元器件失效:造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。(3)排除电源故障:在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,有时会使应用系统中的集成块发热损坏。5、系统调试单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程●动态调试动态调试又称为联机调试,主要是在静态调试的基础上排除硬件系统中存在的其他问题。联机前先断电,将单片机仿真器的仿真头插到样机的单片机插座上,检查一下仿真器与样机之间的电源、接地是否良好。通电后执行开发机的读写指令,对用户样机的存储器、I/O端口进行读写操作、逻辑检查,若有故障,可用示波器观察有关波形(如选中的译码器输出波形、读写控制信号、地址数据波形以及有关控制电平)。通过对波形的观察分析,寻找故障原因,并进一步排除故障。可能的故障有:线路连接上有逻辑错误、有开路或短路现象、集成电路失效等。在用户系统的样机(主机部分)调试好后。可以插上用户系统的其他外围部件如键盘、显示器、输出驱动板、A/D、D/A板等,再将这些电路进行初步调试。5、系统调试单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程(2).软件调试软件调试与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,则逐个模块分别调试。调试各子程序时一定要符合现场环境,即入口条件和出口条件。调试的手段可采用单步或设断点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检查程序执行结果是否符合设计要求。通过检测可以发现程序中的死循环错误、机器码错误及转移地址的错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中不断调整用户系统的软件和硬件,逐步通过一个一个程序模块。各模块通过以后,可以把有关的功能块联合起来一起进行综合调试。在这个阶段若发生故障,可以考虑各子程序在运行时是否5、系统调试单片机原理与C51语言程序设计基础教程一、单片机系统的基本开发过程破坏现场,缓冲单元是否发生冲突,标志位的建立和清除在设计上有没有失误,堆栈区域有无溢出,输入设备的状态是否正常等等。若用户系统是在开发机的监控程序下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。单步和断点调试后,还应进行连续调试,这是因为单步运行只能验证程序的正确与否,而不能确定定时精度、CPU的实时响应等问题。待全部调试完成后.应反复运行多次,除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求、安排的用户操作是否合理等,必要时再作适当的修正。如果采用实时多任务操作系统,一般是逐个任务进行调试.调试方法与上基本相似,只是实时多任务操作系统的应用程序是由若干个任务程序组成,—般是逐个任务进行调试,在调试某一个任务时,同时也调试相关的子程序、中断服务程序和一些操作系统的程序。调试好以后,再使各个任务程序同时运行,如果操作系统无错误,一般情况下系统就能正常运转。5、系统
本文标题:单片机原理与C51程序设计基础教程 教学资料
链接地址:https://www.777doc.com/doc-3862637 .html