版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9.1单片机应用系统设计过程与方法9.1.1单片机应用系统的开发过程通常,开发一个单片机应用系统需要经过以下几个过程:(1)系统需求调查。(2)可行性分析。(3)系统方案设计。(4)系统建造。(5)系统调试。(6)系统方案局部修改、再调试。(7)生成正式产品。一、系统需求调查下一页返回9.1单片机应用系统设计过程与方法做好详细的系统需求调查是对研制新系统准确定位的关键。当你建造一个新的单片机应用系统时,首先要调查市场或用户的需求,了解用户对未来新系统的希望和要求,通过对各种需求信息进行分析综合,得出市场或用户是否需要新系统的结论。其次,应对国内外同类系统的状况进行调查。调查的主要内容包括:原有系统的结构、功能以及存在的问题;国内外同类系统的最新发展情况以及与新系统有关的各种技术资料;同行业中哪些用户已经采用了新的系统,它们的结构、功能、使用情况以及所产生的经济效益。经过需求调查,整理出需求报告,作为系统可行性分析的主要依据。显然,需求报告的准确性将左右可行性分析的结果。上一页下一页返回9.1单片机应用系统设计过程与方法二、可行性分析可行性分析将对新系统开发研制的必要性及可实现性给出明确的结论,根据这一结论决定系统的开发研制工作是否进行下去。可行性分析通常从这些方面进行论证:市场或用户需求;经济效益和社会效益;技术支持与开发环境;现在的竞争力与未来的生命力。三、系统方案设计系统方案设计是系统实现的基础,这项工作要十分仔细,考虑周全。方案设计的主要依据是市场或用户的需求、应用环境状况、关键技术支持、同类系统经验借鉴及开发人员设计经验等。主要内容包括:系统结构设计;系统功能设计;系统实现方法。上一页下一页返回9.1单片机应用系统设计过程与方法系统结构设计包括硬件设计和软件设计。硬件设计:硬件设计主要是指硬件电路图和PCB版图的设计,通常是将整个系统划分为许多单元电路,先完成各个单元电路,然后进行整合,最终统调。软件设计:主要包括这几个步骤:程序总体设计;绘制程序流程图;编制程序;上机调试;系统模拟调试;在线仿真调试;程序固化。四、系统构建这一阶段的工作是将前面产生的系统方案付诸实施,将硬件框图转化为具体电路,软件流程用程序加以实现。设计硬件电路时,单片机的选用对电路结构及复杂度有较大影响。一个合适的单片机将会最大限度地降低其外围连接电路,从而简化整个系统的硬件。上一页下一页返回9.1单片机应用系统设计过程与方法五、系统调试系统调试检验所设计系统的正确性与可靠性,从中发现组装问题或设计错误。这里所指的设计错误,是指设计过程中所出现的小错误或局部错误,决不允许出现重大错误。六、系统方案局部修改、再调试对于系统调试中发现的问题或错误以及出现的不可靠因素要提出有效的解决方法,然后对原方案做局部修改,再进入调试。七、生成正式系统(或产品)上一页下一页返回9.1单片机应用系统设计过程与方法作为正式系统(或产品),不仅要提供一个能正确可靠运行的系统(或产品),而且还应提供关于该系统(或产品)的全部文档。这些文档包括系统设计方案、硬件电原理图、软件程序清单、软/硬件功能说明、软/硬件装配说明书、系统操作手册等。在开发产品时,还要考虑到产品的外观设计、包装、运输、促销、售后服务等商品化问题。9.1.2单片机应用系统的开发方法一、单片机应用系统的基本原则单片机应用系统的基本设计原则是:可靠性高、性能价格比高、操作简便、设计周期短。1.可靠性高上一页下一页返回9.1单片机应用系统设计过程与方法高可靠性是系统应用的前提,在系统设计的每一个环节,都应该将可靠性作为首要的设计准则,高可靠性可从以下5个方面进行考虑。(1)使用可靠性高的元器件。(2)严格安装硬件设备及电路。(3)采取必要的抗干扰措施,以防止环境干扰(如空间电磁辐射、强电设备启停、酸碱环境腐蚀等)、信号串扰、电源或地线干扰等影响系统的可靠性。(4)请专家和有经验的设计人员对系统的设计方案严格把关上一页下一页返回9.1单片机应用系统设计过程与方法(5)作必要的冗余设计或增加自诊断功能。2.性能价格比高单片机除体积小、功耗低等特点外,最大的优势在于高性能价格比。3.操作简便如果所设计的产品人机交互过多,必然会给用户操作带来一定困难,也不利于最大限度地降低劳动强度。4设计周期短只有缩短设计周期,才能有效地降低设计费用,充分发挥新系统的技术优势,及早占领市场并具有一定的竞争力。二、单片机应用系统的一般方法上一页下一页返回9.1单片机应用系统设计过程与方法在进行单片机应用系统方案设计时,可以下述一般设计方法作为指导。1.确定系统功能与性能由需求调查可以确定出单片机应用系统的设计目标,这一目标包括系统功能与性能。系统功能主要有数据采集、数据处理、输出控制等。2.确定系统基本结构单片机应用系统结构一般是以单片机为核心外部扩展相关电路的形式。确定了系统中的单片机、存储器分配及输入/输出方式就可大体确定出单片机应用系统的基本组成。(1)单片机的选择。在系统详细方案设计时,先要确定单片机的型号。所选单片机的型号不同,组成的系统结构也就不同。上一页下一页返回9.1单片机应用系统设计过程与方法8位机:MCS-51系列Intel(美国英特尔公司)。SUPER8,Z8系列Zilog(美国)。F8,3870系列Fairchild(美国仙童公司)。68HC05,68HC11系列Motorola(美国摩托罗拉公司)。6500/1系列Rockwell(美国洛克威尔公司)。TMS700系列TI(美国得克萨斯仪器公司)。NS8070系列NS(美国国家半导体公司)。CDP1800系列RCA(美国无线电公司)。MN6800系列National(日本松下公司)。上一页下一页返回9.1单片机应用系统设计过程与方法μCOM87(μPD7800)系列NEC(日本电气公司)。HD6301,HD6305,HD63L05Hitachi(日本日立公司)。AT89C系列ATMEL公司等。16位机:8096(8098)系列Intel(美国英特尔公司)。MK68200系列Mostek(美国莫斯特公司)。TMS-9900系列TI公司。HPC1604系列NS公司。
μPD78300系列NEC公司等上一页下一页返回9.1单片机应用系统设计过程与方法(2)存储器分配。不同的单片机具有不同的存储器组织。MCS-51单片机的程序存储器与数据存储器空间相互独立,工作寄存器与内部数据存储器共用一个存储空间,I/O端口则与外部数据存储器共用一个存储空间。(3)I/O方式。采用不同的输入/输出方式,对于单片机应用系统的软、硬件结构有直接的影响。在单片机应用系统中,常用的I/O方式主要有:无条件传送方式(同步传送方式)。查询方式。中断方式。上一页下一页返回9.1单片机应用系统设计过程与方法3硬件设计单片机应用系统的硬件设计是围绕着单片机作外部功能扩展而展开的,其结构如图9-1
所示,它主要涉及以下扩展部分的设计。(1)程序存储器。若单片机内无片内程序存储器或存储容量不够时,需外部扩展程序存储器。外部扩展的存储器通常选用EPROM或EEPROM。EPROM集成度高、价格便宜,EEPROM则编程容易。当程序量较小时,使用EEPROM较方便;当程序量较大时,采用EPROM更经济。(2)数据存储器。上一页下一页返回9.1单片机应用系统设计过程与方法数据存储器利用RAM构成。大多数单片机都提供了小容量的片内数据存储区,只有当片内数据存储区不够用时才扩展外部数据存储器。存储器的设计原则是:在存储容量满足的前提下,尽可能减少存储芯片的数量。建议使用大容量的存储芯片以减少存储器芯片数目,但应避免盲目地扩大存储容量。(3)I/O接口。由于外设多种多样,使得单片机与外设之间的接口电路也各不相同。因此,I/O接口常常是单片机应用系统中设计最复杂也是最困难的部分之一。(4)译码电路。上一页下一页返回9.1单片机应用系统设计过程与方法当需要外部扩展电路时,就需要设计译码电路。译码电路要尽可能简单,这就要求存储器空间分配合理,译码方式选择得当。(5)总线驱动器。如果单片机外部扩展的器件较多,负载过重,就要考虑设计总线驱动器(6)抗干扰电路。针对可能出现的各种干扰,应设计抗干扰电路。在单片机应用系统中,一个不可缺少的抗干扰电路就是抗电源干扰电路。最简单的实现方法是在系统弱电部分(以单片机为核心)的电源入口处对地跨接1个大电容(100μF左右)与1个小电容(0.1μF左右),在系统内部各芯片的电源端对地跨接1个小电容(0.01~0.1μF)。4软件设计上一页下一页返回9.1单片机应用系统设计过程与方法软件是单片机应用系统中的一个重要组成部分。一般计算机应用系统的软件包括系统软件和用户软件,而单片机应用系统中的软件只有用户软件,即应用系统软件。软件设计的关键是确定软件应完成的任务及选择相应的软件结构。(1)任务确定。根据系统软、硬件的功能分工,确定出软件应完成什么功能。作为实现控制功能的软件应明确控制对象、控制信号及控制时序;作为实现处理功能的软件应明确输入是什么、要做什么样的处理(即处理算法)、产生何种输出。(2)软件结构设计。上一页下一页返回9.1单片机应用系统设计过程与方法软件结构设计与程序设计技术密切相关。程序设计技术则提供了程序设计的基本方法。在单片机应用系统中,最常用的程序设计方法是模块程序设计。模块程序设计具有结构清晰、功能明确、设计简便、程序模块可共享、便于功能扩展及便于程序维护等特点。为了编制模块程序,先要将软件功能划分为若干子功能模块,然后确定出各模块的输入、输出及相互间的联系。上一页下一页返回9.1单片机应用系统设计过程与方法三、单片机应用系统的调试单片机应用系统调试是系统开发的重要环节。当完成了单片机应用系统的硬件、软件设计和硬件组装后,便可进入单片机应用系统调试阶段。系统调试的目的是要查出用户系统中硬件设计与软件设计中存在的错误及可能出现的不协调问题,以便修改设计,最终使用户系统能正确可靠地工作。最好能在方案设计阶段就考虑系统调试问题,如采取什么调试方法、使用何种调试仪器等,以便在系统方案设计时将必要的调试方法综合进软、硬件设计中,或提早做好调试准备工作。上一页下一页返回9.1单片机应用系统设计过程与方法1硬件调试硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),通过执行开发系统有关命令或运行适当的测试程序(也可以是与硬件有关的部分用户程序段),检查用户系统硬件中存在的故障。硬件调试可分静态调试与动态调试两步进行。静态调试:静态调试是在用户系统未工作时的一种硬件检查;动态调试:动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件间连接逻辑错误等的一种硬件检查。由于单片机应用系统的硬件动态调试是在开发系统的支持下完成的,故又称为联机仿真或联机调。上一页下一页返回9.1单片机应用系统设计过程与方法2软件调试软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。软件调试的一般方法是先独立后联机、先分块后组合、先单步后连续。3系统联调系统联调是指让用户系统的软件在其硬件上实际运行,进行软、硬件联合调试,从中发现硬件故障或软、硬件设计错误。这是对用户系统检验的重要一关。系统联调主要解决以下问题:①软、硬件能否按预定要求配合工作,如果不能,那么问题出在哪里?如何解决?上一页下一页返回9.1单片机应用系统设计过程与方法②系统运行中是否有潜在的设计时难以预料的错误,如硬件延时过长造成工作时序不符合要求、布线不合理造成有信号串扰等。③系统的动态性能指标(包括精度、速度参数)是否满足设计要求。4现场调试一般情况下,通过系统联调后,用户系统就可以按照设计目标正常工作了。但在某些情况下,由于用户系统运行的环境较为复杂(如环境干扰较为严重、工作现场有腐蚀性气体等),在实际现场工作之前,环境对系统的影响无法预料,只能通过现场运行调试来发现问题,找出相应的解决办法;或者虽然已经在系统设计时考虑到抗环境干扰的对策,但是否行之有效,还必须通过用户系统在实际现场的运行来加以验证。上一页返回9.2单片机应用系统抗干扰技术9.2.1单片机系统干扰概述单片机应用系统一个重要的参数是稳定性,实际单片机系统在各种工作环境中都有可能受到一些干扰,这些干扰轻则使单片机系统出错,重则导致单片机系统崩溃。一、干扰的分类常见的干扰源的分类见表9-1。1内部干扰内部干扰是应用系统本身引起的各种干扰,包括固定干扰和过渡干扰两种。固定干扰是指信号间的相互串扰、长线传输阻抗失配时反射噪声、负载突变噪声以及馈电系统的浪涌噪声等。过渡干扰是指电路在动态工作时引起的干扰。下一页返回9.2单片机应用系统抗干扰技术2外部干扰外部干扰是由系统外部窜入到系统内部的各种干扰。包括某些自然现象(如闪电、雷击、地球或宇宙辐射等)引起的自然干扰和人为干扰(如电台、车辆、家用电器、电器设备等发出的电磁干扰,以及电源的工频干扰)。一般来说,自然干扰对系统影响不大,而人为干扰则是外部干扰的关键。单片机内部和外部干扰示意图如图9-2所示。①装置开口或隙缝处进入的辐射干扰(辐射)。②电网变化干扰(传输)。③周围环境用电干扰(辐射、传输、感应)。④传输线上的反射干扰(传输)。上一页下一页返回9.2单片机应用系统抗干扰技术⑤系统接地不妥引入的干扰(传输、感应)。⑥外部线间串扰(传输、感应)。⑦逻辑线路不妥造成的过渡干扰(传输)。⑧线间串扰(感应、传输)。⑨电源干扰(传输)。⑩强电器引入的接触电弧和反电动势干扰(辐射、传输、感应)。一、输入输出隔离1脉冲电路的应用上一页下一页返回9.2单片机应用系统抗干扰技术门电路将不同电位的信号,加到光电耦合器上,构成简单的逻辑电路,可方便地用于各种逻辑电路相连的输入端,能把信号送到输出端,而输入端的噪声不会送出。2整形放大在测量微弱电流时,常常采用由光电耦合器构成的整形放大器。若放大器中使用机械换流器(或场效应管)时,响应速度慢,有尖峰干扰,影响电路工作。采用光电耦合器就没有这样的问题,尖峰噪声可以去掉。二、采用硬件滤波电路分离元件一般由RC和LC构成的各种滤波器,为了提高滤波的质量,很多场合往往使用集成滤波器。上一页下一页返回9.2单片机应用系统抗干扰技术三、过压保护电路在输入通道上采用一定的过压保护电路,以防引入高压,损坏系统电路。过压保护电路由限流电阻和稳压管组成,稳压值以略高于最高传送信号电压为宜。对于微弱信号(0.2V以下),采用两支反并联的二极管,也可起到过压保护作用。四、调制解调技术有时,有效信号的频谱与干扰的频谱相互交错,使用一般硬件滤波很难分离,可采用调制解调技术。先用已知频率的信号对有效信号进行调制,调制后的信号频谱应远离干扰信号的频谱区域。传输中各种干扰信号很容易被滤波器滤除,被调制的有效信号经解调器解调后,恢复原状。有时,不用硬件解调,运用软件中的相关算法,也可达到解调的目的。上一页下一页返回9.2单片机应用系统抗干扰技术五、抗干扰稳压电源一个具有抗干扰能力强的稳压电源,对提高整个单片机控制系统的稳定性起着至关重要的作用。六、数字信号采用负逻辑传输干扰源作用于高阻线路上,容易形成较大幅度的干扰信号,而对低阻线路影响要小一些。在数字系统中,输出低电平时内阻较小,输出高电平时内阻较大。如果我们采用负逻辑传输,就可以减少干扰引起的误动作,提高数字信号传输的可靠性。七、采用屏蔽技术上一页下一页返回9.2单片机应用系统抗干扰技术为防止外界磁场的干扰,系统中某些敏感的器件通常需要加上屏蔽措施。八、正确接地正确的接地方法是:交流接地与直流接地分离、大功率接地与小功率接地分离、数字接地与模拟接地分离。9.2.3软件抗干扰技术在程序执行过程中,如系统受到干扰,PC指针容易出错,使得整个程序执行的顺序打乱,导致系统错误,严重时可能致使整个软件系统瘫痪。PC指针的这种错误,我们形象地称之为“程序跑飞”,也叫“程序脱轨”。为使程序“跑飞”后能够回到正常轨道,往往在适当的地方设置“软件陷阱”,来捕捉“跑飞”的程序。上一页下一页返回9.2单片机应用系统抗干扰技术下面三条指令即组成一个“软件陷阱”:NOPNOPLJMPERR一、设置“软件陷阱”1未使用的中断向量区MCS-51单片机的中断向量区为0003H~002FH,如果系统程序未使用完全部中断向量区,则可在剩余的中断向量区安排“软件陷阱”,以便能捕捉到错误的中断。上一页下一页返回9.2单片机应用系统抗干扰技术如某系统使用了两个外部中断INT0、INT1和一个定时器溢出中断T0,它们的中断服务子程序入口地址分别为FUINT0、FUINT1和FUT0,即可按下面的方式来设置中断向量区:ORG0000H0000HSTART:LJMPMAIN;引向主程序入口0003HLJMPFUINT0;INT0中断服务程序入口0006HNOP;冗余指令0007HNOP0008HLJMPERR;陷阱上一页下一页返回9.2单片机应用系统抗干扰技术0013HLJMPFUT0;T0中断服务程序入00EHNOP;冗余指令000FHNOP0010HLJMPERR;陷阱0013HLJMPFUINT1;INT1中断服务程序入口0016HNOP;冗余指令0017HNOP0018HLJMPERR;陷阱001BHLJMPERR;未使用T1中断,设陷阱001EHNOP;冗余指令上一页下一页返回9.2单片机应用系统抗干扰技术001FHNOP0020HLJMPERR;陷阱0023HLJMPERR;未使用串口中断,设陷阱0026HNOP;冗余指令0027HNOP0028HLJMPERR;陷阱002BHLJMPERR;未使用T2中断,设陷阱002EHNOP;冗余指令002FHNOP0030HMAIN:…;主程序上一页下一页返回9.2单片机应用系统抗干扰技术2未使用的大片EPROM空间程序一般都不会占用EPROM芯片的全部空间,对于剩余未编程的EPROM空间,一般都维持原状,即其内容为0FFH。0FFH对于MCS-51单片机的指令系统来说是一条单字节的指令:MOVR7,A如果程序“跑飞”到这一区域,则将顺利向后执行,不再跳跃(除非又受到新的干扰)。因此在这段区域内每隔一段地址设一个陷阱,就一定能捕捉到“跑飞”的程序。3表格上一页下一页返回9.2单片机应用系统抗干扰技术有两种表格:一类是数据表格,供“MOVCA,@A+PC”指令或“MOVCA,@A+DPTR”指令使用,其内容完全不是指令。另一类是散转表格,供“JMP@A+DPTR”指令使用,其内容为一系列的3字节指令LJMP或2字节指令AJMP。由于表格的内容与检索值有一一对应的关系,在表格中间安排陷阱会破坏其连续性和对应关系,因此只能在表格的最后安排陷阱。如果表格区较长,则安排在最后的陷阱不能保证一定能捕捉“跑飞”的程序,有可能在中途再次“跑飞”,这时只好指望别处的陷阱或冗余指令来捕捉。4程序区上一页下一页返回9.2单片机应用系统抗干扰技术程序区是由一系列的指令构成的,不能在这些指令中间任意安排陷阱,否则会破坏正常的程序流程。但是,在这些指令中间常常有一些断点,正常的程序执行到断点处就不再往下执行了,这类指令有LJMP、SJMP、AJMP、RET、RETI,这时PC的值应发生正常跳变。如果在这些地方设置陷阱就有可能捕捉到“跑飞”的程序。例如,对一个累加器A的内容的正、负和零的情况进行三分支的程序,软件陷阱安排如下:JNZXYZ…;零处理AJMPABC;断点上一页下一页返回9.2单片机应用系统抗干扰技术NOPNOPLJMPERR;陷阱XYZ:JBACC7,UVW
…;正处理AJMPABC;断点NOPNOPLJMPERR;陷阱UVW:…;负处理上一页下一页返回9.2单片机应用系统抗干扰技术ABC:MOVA,R2;取结果RET;断点NOPNOPLJMPERR;陷阱二、WATCHDOG(俗称看门狗)如果“跑飞”的程序落到一个临时构成的死循环中,冗余指令和软件陷阱都将无能为力,这时可采取WATCHDOG(俗称“看门狗”)措施。上一页下一页返回9.2单片机应用系统抗干扰技术WATCHDOG有如下特性:(1)本身能独立工作,基本上不依赖于CPU。CPU只在一个固定的时间间隔内与之打一次交道,表明整个系统“目前尚属正常”。(2)当CPU落入死循环后,能及时发现并使整个系统复位。看门狗可分为硬件看门狗和软件看门狗。图9-3是硬件WATCHOOG电路。也可以用软件程序来形成WATCHDOG。例如,可以采用8031的定时器T0来形成WATCHDOG。将T0的溢出中断设为高优先级中断,其他中断均设置为低优先级中断,若采用6MHz的时钟,则可用以下程序使T0定时约10ms来形成软件WATCHDOG:上一页下一页返回9.2单片机应用系统抗干扰技术MOVTMOD,#01H;置T0为定时器SETBET0;允许T0中断SETBPT0;设置T0为高优先级中断MOVTH0,#0E0H;定时约10msSETBTR0;启动T0SETBEA;开中断三、系统的复位上一页下一页返回9.2单片机应用系统抗干扰技术如用软件WATCHDOG使系统复位时,程序出错有可能发生在中断子程序中,中断激活标志已经置位,它将阻止同级的中断响应,由于软件WATCHDOG是高级中断,它将阻止所有的中断响应。由此可见清除中断激活标志的重要性。在所有的指令中,只有RETI指令能清除中断激活标志。前面提到的出错处理程序ERR主要是完成这一功能。这部分程序如下:ORG3000HERR:CLREA;关中断MOVDPTR,#ERR1;准备返回地址上一页下一页返回9.2单片机应用系统抗干扰技术PUSHDPLPUSHDPHRETI;清除高优先级中断激活标志ERR1:MOV66H,#0AAH;重建上电标志MOV67H,#55HCLRA;准备复位地址PUSHACC;压入复位地址RETI;清除低级中断激活标志上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表以简易数字电压表为例,介绍一个单片机应用系统的设计方法。一、总体设计方案1任务书利用51单片机和模数转换器设计一简易数字电压表。2设计要求①电压测量范围:0~5V;②分辨率为:50mV,且相对误差小于5%;③4个数码管、两位小数显示,单位为V;④响应时间小于0.5s。3机型和器件的选择上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表系统以常用的AT89C51单片机作为中心处理部件。模数转换芯片可选用我们比较熟悉的ADC0809,因为ADC0809为8位的A/D转换器件,其最小分辨率为1/256,如果电压参考端REF(+)接+5V,REF(-)接GND,则其最小电压分辨率为:5×1/256≈0.02V,能够满足要求。ADC0809模数转换器作为转换器件,关于ADC0809的具体性能参数在前面的章节有详细的介绍。二、硬件设计上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的,例如ADC0809转化时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用这个延时子程序,延迟时间一到,转换肯定已经完成,接着就可进行数据传送。本系统即采用这种方式,可简化硬件电路。系统采用4位数码管显示,选用驱动电路74LS245,注意基准电压一定要选用精度较高的稳压芯片,否则将会产生较大的系统误差。选用通道IN0作为测试电压输入端。按照图9-4可知,ADC0809的地址为:0100H(注意:此地址不是唯一的,只要保证P2.0为1即可)。上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表三、软件设计软件设计一般是先把程序划分为各个功能模块,规划出总的控制流程图。再进行各个功能模块的程序设计。现把整个程序分为ADC0809转换模块、十六进制转十进制程序、数码显示程序模块、延时模块四大模块。1.ADC0809转换模块这部分程序主要是通过单片机送控制信号,启动ADC0809开始进行模数转换。2十六进制转十进制模块上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表因通过模数转换器送入单片机的数据是十六进制,不能直接送到数码管显示,必须将十六进制数(包括整数和小数)转换为我们熟悉的十进制数(BCD码),转换后再送到相关的显示缓冲区,才能显示出正确的电压数值。3.数码显示模块4位数码管采用动态显示,这种显示方式的特点是需要不停地来回扫描,本系统中,每个数码管扫描的间隔时间为2ms左右,当然该时间是可以改变的,但循环一次的扫描时间应不大于40ms,否则显示就会有闪烁感。上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表4延时模块主要为数码管动态显示提供延时服务。系统参考程序如下:;-------程序说明---;堆栈区为30H~40H;显示缓冲区为45H~48H;模数转换数据的暂存区为4AHDIS_SHIEQU45H;显示的十位数缓冲区DIS_GEEQU46H;显示的个位数缓冲区DIS_SHIFEQU47H;显示的十分位数缓冲区上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表DIS_BAIFEQU48H;显示的百分位数缓冲区;------------------------0000HLJMPMAINORG0030H;-------------------主程序---MAIN:MOVSP,#30H;设置堆栈区MOV4AH,#00H;将数据暂存区清零MOVR0,#45HMOVR7,#04H上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表CLR0:;将显示缓冲区清零MOV@R0,#00HINCR0DJNZR7,CLR0LCALLDISPLAY;调用一次显示子程序MAIN_LOOP:LCALLADC0809;调用模数转换子程序LCALLDATA_CHANG;调用数据转换子程序MOV7FH,#25上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表LOOP1:LCALLDISPLAY;调用显示子程序DJNZ7FH,LOOP1SJMPMAIN_LOOP;总体循环;------------ADC0809转换子程序--ADC0809:;读取模数转换子程序MOVDPTR,#0100HCLRP20NOPNOPSETBP20上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表NOPNOPNOPCLRP20NOPNOPMOVX@DPTR,A;ADC0809的转换时间为100μs左右LCALLDISPLAY;调用显示子程序来延时,保证了显示的亮度。上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表SETBP21NOPNOPMOVR0,#00HMOVXA,@R0MOV4AH,ACLRP21RET;--------------数据转换子程序-DATA_CHANG:;数据转换子程序上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表MOVB,#05;转化为十进制BCD码数字电压值MULABMOVR2,AMOV50H,BLCALLHBD2MOVA,R2MOV51H,AMOVC,F0上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表MOVA,50HADDCA,#00HMOVB,#10DIVABMOVDIS_SHI,AMOVDIS_GE,BMOVA,51HANLA,#0FHMOVDIS_BAIF,AMOVA,51HANLA,#0F0H上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表SWAPAMOVDIS_SHIF,ARET;-----------十六进制转换为BCD码子程序--;标号:HBD2功能为单字节十六进制小数转换成单字节BCD码小数;入口条件:待转换的双字节十六进制小数在R2中。;出口信息:转换后的双字节BCD码小数仍在R2、R3中。;影响资源:PSW、A、B、R2、R3、R4、R5堆栈需求为6字节HBD2:上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表MOVR4,#3;获取三位十进制码HBD3:MOVA,R2;原小数扩大十倍MOVB,#10MULABMOVR2,APUSHB;保存溢出的一位十进制码DJNZR4,HBD3;计算完四位十进制码POPACC;取出千分位MOVR3,APOPACC;取出百分位上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表MOVR2,APOPACC;取出十分位SWAPAORLA,R2;拼装成高字节BCD码小数MOVR2,ACJNER3,#05,HBD4;若千分位≥5,则向前进位,;小于5则舍去JCHBD5ADDA,#01H上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表DAAMOVR2,AMOVF0,CHBD5:RET;-------------显示子程序---DISPLAY:;显示子程序MOVDPTR,#SHUMA;注意采用的是动态显示的方式,需要对数码管进行逐个扫描MOVA,DIS_SHI上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表MOVCA,@A+DPTRMOVP1,ASETBP3.0ACALLY2MSCLRP3.0MOVA,DIS_GEMOVCA,@A+DPTRANLA,#7FHMOVP1,ASETBP3.1ACALLY2MS上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表CLRP3.1MOVA,DIS_SHIFMOVCA,@A+DPTRMOVP1,ASETBP3.2ACALLY2MSCLRP3.2MOVA,DIS_BAIFMOVCA,@A+DPTRMOVP1,ASETBP3.3上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表ACALLY2MSCLRP3.3RET;--------------延时2ms子程序-Y2MS:;延时2ms子程序MOVR7,#10Y2MS1:MOVR6,#47Y2MS2:上一页下一页返回9.3单片机应用系统设计实例———简易数字电压表DJNZR6,Y2MS2NOPDJNZR7,Y2MS1MOVR6,#07Y2MS3:DJNZR6,Y2MS3RET;-------------数码管代码---SHUMA:;共阳数码代码。DB0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h;0~9上一页返回9.4USB在线编程器单片机是一门实践性非常强的课程,只有长时间进行实践的训练,才能掌握单片机系统的设计与开发。单片机的在线编程器为我们的实践训练提供了很大的方便。目前,市面上关于各种单片机的下载器很多,价格一般较贵,主要针对开发人员。学生可根据下面提供的电路图,自己动手做一做在线编程器和实验电路板,一方面节约了经费,另一面锻炼了动手实践能力。一、电路图下一页返回9.4USB在线编程器该编程器制作简单,使用方便。该下载器可以通过USB下载线将大部分AVR单片机及AT89S51和AT89S52单片机的HEX程序通过SPI线路下载到目标单片机中。在设计上采用ATmega8单片机作控制器,它与计算机的通信采用USB通信技术,对目标芯片编程采用ISP技术,从而可以方便地在所有具有USB接口的计算机上进行AVR单片机系统及其他支持在线编程单片机系统的开发。经测试该下载器能够对单片机在线编程,在速度,可靠性等方面较并口下载器有较大的提高。上一页下一页返回9.4USB在线编程器图9-5为USB在线编程器电路,图9-6
是AT89S51单片机实验电路板,可完成一般的单片机实验教学内容,同学们可以按照下面的电路图自己动手焊接实验电路板,再与上面的USB编程器连接,配合相关的软件,不需外接电源,就能方便地实现程序的烧写。二、烧写软件上述的USB在线编程器可通过progisp软件进行程序的烧写,该软件可以从网络上下载。图9-7
为软件的界面上一页下一页返回9.4USB在线编程器操作步骤:(1)选择编程器及接口,这里我们使用的是USBASP。(2)选择正确的芯片类型,如图9-7选择AT89S51。(3)调入FLASH文件,文件的后缀名为“HEX”,调入“HEX”文件后,点击左上角编程按钮,可查看刚刚导入的“HEX”文件,如图9-8
所示。(4)调节好编程速度,一般选择默认即可。(5)选择右下角的编程选项,通常可选择芯片擦除、编程FLASH、校验FLASH三项操作。上一页下一页返回9.4USB在线编程器(6)最后点击右下角的自动按钮,如没有弹出错误对话框,则下载成功。三、仿真软件单片机的仿真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 19691-2026地理标志产品质量要求狗牯脑茶
- T/ZJSEE 0027-2024氢储能电站运行维护安全导则
- T/ISEAA 009-2024信息安全技术 网络安全等级保护区块链安全测评扩展要求
- T/CMEAS 081-2026医疗机构药品集中带量采购管理规范
- T/CASME 2090-2025陆上风力发电场土地利用效率评估规范
- T/CSHE 0004-2022水库温室气体净排放量评估技术导则
- GB/T 19866-2026焊接工艺规程及评定的一般原则
- AI在华文教育中的应用
- PHP企业面试笔试真题(含详细答案解析)
- 制鞋车间胶粘剂防毒通风方案
- GB/T 19866-2026焊接工艺规程及评定的一般原则
- GB/T 48666-2026电子病历版式文档技术要求
- 2026年体育用品设备出租行业市场深度调研报告及未来五至十年技术路径与产业化前景
- 医学生基础医学重症肌无力查房课件
- 小小科学家《生物》模拟试卷(附答案)
- 2026-2031年中国降钙素行业市场调查研究及发展前景预测报告
- 计量管理基础知识课件
- 人教版九年级上册数学《习题29.2》教学课件(新教材)
- 消能减震阻尼器安装施工方案及技术措施
- 3.4 G71指令讲解及应用
- 集中供电智能应急照明疏散指示系统施工方案
评论
0/150
提交评论