毕业设计(论文)译文及原稿译文题目:51单片机在编程电路中的应用原稿题目:AT89C51In-CircuitProgramming原稿出处:浙江工业大学之江学院毕业设计(论文)外文翻译151单片机在编程电路中的应用本应用指南说明了AtmelAT89C51是可在线可编程的微控制器。它为电路编程提出了相应的例子,程序的修改需要在线编程的支持。这类显示方法在应用程序中的AT89C51单片机可通过电话线远程控制。该应用指南所描述的电路只支持5v电压下编程。此应用软件可以到Atmel进行下载。总论当不在进行程序设计的时候,在电路设计中的AT89C51设计将变得透明化。在编程期间必须重视EA/VPP这一脚。在不使用外部程序存储器的应用程序中,这脚可能会永久接到VCC。应用程序使用的外部程序存储器要求这一脚为低电平才能正常运行。RST在编程期间必须为高电平。应该提供一种方法使得电路通入电源以后,使RST代替主要的复位电路起到复位的作用。在编程过程中,PSEN必须保持低电平,在正常运行期间绝不能使用。ALE/PROG在编程过程中输出低电平,在正常运行期间绝不能使用。在编程过程中,AT89C51的I/O端口是用于模式应用程序,地址和数据选择的,可能需要该控制器从应用的电路隔离。如何做到这一点取决于应用程序。输入端口在编程过程中,控制器必须与应用电路的信号来源隔离。带有三个输出状态的缓冲区会在应用程序之间插入电路和控制器,同时在编程时缓冲区输出三种状态。一个多路复用器可用于信号源之间进行选择,适用于任何一方的应用电路或编程控制器电路的信号。输出端口如果应用的电路可以允许端口在编程过程中的状态变化,则不需要改变电路。如果应用电路的状态,必须事先在编程过程中的保持不变,可能在控制器和应用电路中插入锁存。锁存在编程期间是可用的,并保存应用程序的电路状态。应用实例应用是该AT89C51一个移动的显示情况。此应用程序有在电路重新编程时将结果以图表的形式显示的简单能力。文本显示被设计作为其硬件的一部分,不能在无改编情况下变化。显示的文本可在4位DIP开关选择两种模式之一中进行。在第一种模式的时候,进入一个字符从右边显示和快速移动,通过每个元素显示其在最后的装配位置的左侧。在第二个模式,信息在信息窗口中右到左移动显示。这种模式与常常在股票价格的浙江工业大学之江学院毕业设计(论文)外文翻译2显示器所使用的方法类似。输出包括四个DL1414T,4位17段的积分解码器和驱动程序的字母数字显示器。这就产生了16名显示元素,每个数字有0-9的显示能力,是大写字母,标点符号和一些字符。可显示字符的ASCII码,范围为20H-5FH。上电复位电路和一个6MHz的晶体振荡器完成应用软件程序。无论外部程序存储器或外部数据存储器都时可用的。支持应用程序的修改据推测,编程器在休眠时,既不会驱动,也不会加载应用程序。由于应用程序不使用外部程序存储器,EA/VPP脚接VCC电源。复位电路被两种转换器改变状态,此转换器允许编程时RST接高电平。在基本应用时未使用的PSEN和ALE/PROG,是被程序员直接控制的。编程器的编程需要获得所有数据表中记录的AT89C51的I/O端口。编程器是与那些应用程序未使用的控制器的引脚相连的,而这些应用程序的引脚需要最低有效位的四所产生的地址是可获得的,如下段所述。由编程器生成的最小的四位地址是与DIP转换的数据在控制器的端口多路复用的请注意,加在开关上的四个电阻在基本应用中并不是必须的,因为AT89C51的端口上提供一个内部上拉电阻。在应用程序的正常运作时,控制器端口0,1个分别在显示器上提供数据和控制信号。在编程和程序验证时,编程受端口0和端口2的一部分控制。程序设计器连接端口0和1,没有缓冲,因为,在不活动时,它的存在不影响应用程序的正常运作。透明锁存器被加在了控制器的两个端口之间做输入控制。锁存持有的显示控制信号在编程过程中不反应,从而消除端口0和2由于程序控制器的活动造成操作失误。显示数据输入是不能被孤立的,因为数据应用到输入被忽略时,控制信号无效。AT89C51单片机复位电路,输入多路复用器和输出锁存器是由程序控制器生成一个单一的信号来控制的。在编程过程中,复位键生效,多路开关信号输入,以及冻结显示锁存控制线。为确保控制线显示在已知的状态前锁定,AT89C51的外部中断是用来允许程序控制器在复位之前向应用程序发出信号。应用程序固件响应中断显示一条消息,关闭显示控制线。编程后,当复位生效,当锁存可视控制器端口输出高电平。由于显示控制输入不为高电平,直到新的程序写入显示器内部不被打乱。虽然这个应用程序是没有必要的,它可能在某些应用中必须指出,在编程过程中不会扰乱外围电路的状态浙江工业大学之江学院毕业设计(论文)外文翻译3程序控制器程序控制器生成的地址,数据和控制信号,对嵌入到程序中的AT89C51有重要作用。程序控制器电路由一个AT89C51和一个RS-232电平转换器组成。该控制器运行在11.0592兆HZ,此频率允许串口运行在一个标准波特率下。一个MAXIMMAX232线路驱动器/接收器产生RS-232水平,而只需要5伏的电源系统。程序控制器所产生的信号许多只需直接连接到AT89C51,无需缓冲。这些信号,在不活动时,不再是三种状态,但被接高电平。AT89C51的端口1,2,3内部有大约3000欧姆的上拉电阻,因为端口0没有内部上拉电阻,所以外部10千欧姆的上拉电阻已经加上允许适当的程序认证模式操作。示例应用程序在这种环境下可正常运行。如果有需要的应用程序兼容性,程序发出的信号可能在类似74xx125三态缓冲缓冲区内缓冲。AT89C51的程序不使用外部程序或数据存储器,这需要牺牲所需要的I/O引脚。这就要求程序代码和I/O缓冲区保持足够小以适合片上存储器。商业电话线远程编程编程器和前面描述的显示应用是与通过调制解调器连接在远程站点电话线相连的。使用链接调制解调器的个人电脑,用户可以上传包含一个新的消息的程序,这个信息被变成进了嵌入到应用程序的AT89C51中。当编程完成后,应用程序执行新的程序,它显示新信息。本地配置测试配置的本地配置包括一台IBM个人电脑级的计算机连接到与Hayes兼容的,普罗米修斯1200波特的调制解调器。选择此调制解调器,因为它是廉价可得。更快的调制解调器如果需要的话可使用更快速的调制解调器,尽管一旦该文件的传输时间低于1分钟,进一步削减的传输时间不会进一步降低连接时间费用。更高的传输速度的可能优势是在某些高速调制解调器内的自动错误检测和纠正。ProcommPlus版本2.01,是一个商业数据通信软件包,用于配置调制解调器,建立通讯设置参数,并建立与远程调制解调器的链接。ProcommPlus包括所谓的宏语言方面,它允许用户编写实现自定义的文件传输协议的脚本。一个简单的脚本编写用来读取一个程序文件的内容,并上传到远程编程器。文件传输协议(FTP)的实施,是一个简单的发送和等待的,数据包导向的协议。FTP模式发送和接收的是用数字4和5,如流程图所示。不在流程控制下发射器发送每个数据包,并等待响应。在计算校验和时那个程序控制器(接收器)读取并剖析了数据包。如果计算出的校验和是有效的,程序员通过发送一个ACK承认此数据包。如果校验和错误,程序浙江工业大学之江学院毕业设计(论文)外文翻译4员通过发送一个NAK来否定。当接收一个ACK后,发射器发送下一个数据包。如果传送者接收到NAK,它重新发送相同的数据包。以这种方式传输,直到整个文件已被移交。程序控制器可能通过发送一个CAN来响应数据包,CAN表明一个不可恢复的错误发生,而发射机应立即中止文件传输。如果程序员没有在有限的时间内响应到一个数据包,发送器将重新发送相同的数据包。发射器将继续重发,直到接收到一个有效的反应,或者,超出文件传输被中止的时间。每个数据包接收和通过程序员验证后,数据包中包含的数据被加载到的AT89C51单片机控制器编程。编程后,数据从控制器读回并对接收的数据包进行验证。成功的审查表明,成功的程序设计,使程序员发送ACK给传送者。如果编程失败,程序员发送CAN向传送者发送信号中止文件传输。简单的FTP减少了AT89C51的程序在编程时使用的内存量。由于AT89C51的编程和擦除时间可以很容易地吸收,FTP发送和等待的性质允许跨包延迟。对程序验证的支持是透明的,不需要明确的命令或结果代码,或转让的其他数据。上传到程序控制器的文件是用英特尔MCS-51软件开发包来创建的。在包中包括了MCS-51宏汇编,MCS-51单片机Relocator和连接器,以及一个有用的工具,OH。OH将8051绝对目标文件转换为为等效的ASCII十六进制目标文件。远程配置在测试配置中的远程配置包括显示应用程序和程序员电路,如前所述,连接到一个与Hayes兼容的普罗米修斯1200波特调制解调器。在正常操作时,应用程序执行其内部程序,而调制解调器和程序员监测来电电话线。通话被检测到并连接建立后,程序器强迫暂停其程序的执行。新的程序就被下载并嵌入到应用程序中的AT89C51的编程。当编程完成后,应用软件程序获准开始其新的程序执行,而程序控制器返回监督下一个通话的电话线。程序控制输出无效时程序控制器上电,允许应用程序正常运行。在配置调制解调器接听来电后,程序控制器停止工作。是程序控制器不会影响到程序直到一个新的程序应用程序被下载。程序员通过发送控制在串行接口上的ASCII命令字符串来控制调制解调器,对此调制解调器响应海斯式调制解调器的ASCII数字代码。该软件是专为与海斯兼容使用的调制解调器,其中包括这里使用的1200普罗米修斯ProModem。串行接口,程序员通过它连接到调制解调器,它支持两个握手信号,DTR和DSR。上电时,程序控制器判定DTR,断定为DTR后调制解调器响应。如果调制解调器不响应任何命令,包括命令挂断,程序控制器抬高DTR点位,强制调制解调器下降。浙江工业大学之江学院毕业设计(论文)外文翻译5当程序控制器停止工作后,监测调制解监听电话线,等待来电呼叫。当检测到输入,调制解调器响应并试图与输入建立通信。如果建立了连接,调制解调器发送一个代码,唤醒程序控制器。程序控制器验证连接的代码,并开始审查有效的数据包报头。传入数据包必须在少于30秒内到达,否则调制解调器挂断和程序控制器继续停止工作,等待下一次呼叫。如果来电挂断,在得到下一次呼叫之前,三十秒时间必须终止。在复位延迟时间传入是被忽略的。如果复位延迟时间结束之前收到一个有效的数据包报头,程序控制器将尝试读取和验证传入的数据包。在数据包的接收过程中的任何时间,无效字符,奇偶校验错误或超时的时间内接待字符将导致部分数据包被宣布无效,并丢弃。两个数据包类型定义:数据和最终文件。数据包包含五个领域,除了包报头,是一个可变长度的数据字段。数据字段包含程序的数据在应用程序中被写入在AT89C51的控制器。负载地址字段中包含数据写入的地址。末端文件包中包含与数据包相同的领域的文件,但该数据字段是空的。这包类型对程序控制器具有特殊的意义,如下所述。任何包含有效文种的数据包,记录长度或校验和无效。程序数据在一个无效的数据包被丢弃的处理过程中被积累。编程器给传送者发送一个NAK作为信号数据包的接收和恢复为一个有效的数据包报头审查的警示信号。第一个有效数据的接收引起编程器中断应用程序控制器。该控制器的中断响应放弃其正在运行的程序,并显示一条消息,表明程序已经被替代。如果这是由于接收了末端文件或者是电源触发从而接收的第一个有效的数据包,运用必要的控制信号清除在应用控制器内的记忆程序。然后编程器在程序模式中放置控制器。当接收到第一个和其后的有效数据程序包时,将它们分开,它们包含的数据被编程到程序包负载地址域中的地址中的应用控制器内。编程后,从控制器内将数据读回并与接收到的数据包中的数据进行比较。成功的核查表明,方案是成功的,导致编