




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