AT89C51的概况外文翻译资料

 2022-03-27 07:03

The General Situation of AT89C51

1 The application of AT89C51

Microcontrollers are used in a multitude of commercial applications such as modems, motor-control systems, air conditioner control systems, automotive engine and among others. The high processing speed and enhanced peripheral set of these microcontrollers make them suitable for such high-speed event-based applications. However, these critical application domains also require that these microcontrollers are highly reliable. The high reliability and low market risks can be ensured by a robust testing process and a proper tools environment for the validation of these microcontrollers both at the component and at the system level. Intel Plaform Engineering department developed an object-oriented multi-threaded test environment for the validation of its AT89C51 automotive microcontrollers. The goals of thisenvironment was not only to provide a robust testing environment for the AT89C51 automotive microcontrollers, but to develop an environment which can be easily extended and reused for the validation of several other future microcontrollers. The environment was developed in conjunction with Microsoft Foundation Classes (AT89C51). The paper describes the design and mechanism of this test environment, its interactions with various hardware/software environmental components, and how to use AT89C51.

1.1 Introduction

The 8-bit AT89C51 CHMOS microcontrollers are designed to handle high-speedcalculations and fast input/output operations. MCS 51 microcontrollers are typically used for high-speed event control systems. Commercial applications include modems,motor-control systems, printers, photocopiers, air conditioner control systems, disk drives,and medical instruments. The automotive industry use MCS 51 microcontrollers in engine-control systems, airbags, suspension systems, and antilock braking systems (ABS). The AT89C51 is especially well suited to applications that benefit from its processing speed and enhanced on-chip peripheral functions set, such as automotive power-train control, vehicle dynamic suspension, antilock braking, and stability control applications. Because of these critical applications, the market requires a reliable cost-effective controller with a low interrupt latency response, ability to service the high number of time and event driven integrated peripherals needed in real time applications, and a CPU with above average processing power in a single package. The financial and legal risk of having devices that operate unpredictably is very high. Once in the market, particularly in mission criticalapplications such as an autopilot or anti-lock braking system, mistakes are financiallyprohibitive. Redesign costs can run as high as a $500K, much more if the fix means 2 back annotating it across a product family that share the same core and/or peripheral design flaw. In addition, field replacements of components is extremely expensive, as the devices are typically sealed in modules with a total value several times that of the component. To mitigate these problems, it is essential that comprehensive testing of the controllers be carried out at both the component level and system level under worst case environmental and voltage conditions.This complete and thorough validation necessitates not only a well-defined process but also a proper environment and tools to facilitate and execute the mission successfully.Intel Chandler Platform Engineering group provides post silicon system validation (SV) of various micro-controllers and processors. The system validation process can be broken into three major parts.The type of the device and its application requirements determine which types of testing are performed on the device.

1.2 The AT89C51 provides the following standard features:

4Kbytes of Flash, 128 bytes of RAM, 32 I/O lines, two 16-bittimer/counters, a five vector two-level interrupt architecture,a full duple ser -ial port, on-chip oscillator and clock circuitry.In addition, the AT89C51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters,serial port and interrupt sys -tem to continue functioning. The Power-down Mode saves the RAM contents but freezes the oscil –lator disabling all other chip functions until the next hardware reset.

Figure 1-2-1Block Diagram

1-3Pin Description

VCC Supply voltage.

GND Ground.

Port 0:Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin cansink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as highimpedance inputs.Port 0 may also be configured to be the multiplexed loworder address/data busduring accesses to external program and data memory. In this mode P0 has internalpullups.Port 0 also receives the code bytes during Flash programming,and outputs the codebytes during program verification. External pullups are required during programverification.

Port 1:Port 1 is an 8-bit bi-directional I/O port with internal pullups.The Port 1 output buffers can sink/so -urce four TTL inputs.When 1s are written to Port 1 pins they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pullups.Port 1 also receives the low-order address bytes during Flash programming and verification.

Port 2:Port 2 is an 8-bit bi-directional I/O port with internal pullups.The Port 2 outputbuffers can sink/source four TTL inputs.When 1s are written to Port 2 pins they arepulled high by the internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pullups. Port 2 emits the high-order address byte during fetches from

全文共17104字,剩余内容已隐藏,支付完成后下载完整资料


AT89C51的概况

1 AT89C51的应用

微控制器用于多种商业应用,如调制解调器,电机控制系统,空调控制系统,汽车发动机等。这些微控制器高处理的速度和增强的外设集使其适用于这种基于事件的高速应用。但是,这些关键应用领域也要求这些微控制器具有高度的可靠性。为了保证高可靠性和低市场风险,我们可以通过强大的测试过程和合适的工具环境来测试这些微控制器在组件和系统级的可靠性。英特尔平台工程部门开发了一个面向对象的多线程测试环境,用于验证其AT89C51汽车微控制器的可靠性。这种环境的目的不仅为AT89C51汽车微控制器提供强大的测试环境,而且还要开发一个可以轻松扩展和重用的环境,以便未来验证其他的微控制器的可靠性。该环境是与微软基础类(AT89C51)共同开发的。本文介绍了此测试环境的设计和机制,与各种硬件/软件环境组件的交互以及如何使用AT89C51。

1.1简介

8位AT89C51 CHMOS微控制器设计用于处理高速计算和快速输入/输出操作。 MCS 51微控制器通常用于高速事件控制系统。商业应用包括调制解调器,电机控制系统,打印机,复印机,空调控制系统,磁盘驱动器和医疗仪器。汽车行业在发动机控制系统,安全气囊,悬架系统和防抱死制动系统(ABS)中使用MCS 51微控制器。 AT89C51最适用于受益于其处理速度和增强的片上外设功能集的应用,如汽车动力传动系控制,车辆动态悬架,防抱死制动和稳定控制应用。由于这些应用作用关键,市场需要具有低中断延迟响应的可靠且具有高性价比的控制器,能够为实时应用所需的大量时间和事件驱动的集成外设提供服务,且具有在单一程序包中高出平均处理功率的中央处理器。使设备出现错误运行的金融和法律风险非常高。一旦进入市场,特别是在诸如自动驾驶仪或防抱死制动系统等关键任务应用中,经济方面的制约使错误是无法承受的。重新设计成本可能高达50万美元。而且如果修复意味着重新注解和它共享相同的核心或外围设计缺陷的产品系列。另外,部件的现场更换非常昂贵,因为这些设备通常被密封在模块中,其总值是部件的几倍。为了避免这些问题,在最恶劣的环境和电压条件下进行组件级和系统级的控制器全面测试是十分必要的。这种完整而彻底的验证不仅需要一个明确的过程,而且还需要一个适当的环境和工具,以促进并成功执行任务。英特尔钱德勒平台工程部门提供各种微控制器和处理器的后硅系统验证(SV)。系统验证过程可以分为三个主要部分。设备类型及其应用需求决定了设备上执行的测试类型。

1.2 AT89C51提供以下标准功能

4K字节FLASH闪速存储器,128字节内部RAM,32个I/O接口,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

图 1-2-1结构图

1-3引脚描述

VCC电源电压。
GND地。
端口0 Port0 是一个8位开漏输出的双向I/O端口。当作输出端口时,每个引脚可以接收8个TTL输入。向Port0的每个引脚都写1的时候可以让这些引脚作为高阻抗输入。 在访问外部存储器或者外部程序是, Port0 也可以被复用成地址/数据总线(数据位从低到高)。此时端口内部是有上拉电阻的。 在烧写程序的时候Port0是用来接收程序数据的。在验证程序的时候Port0是用来输出程序数据的, 此时需要外部上拉电阻。
端口1: P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可做输出口。做输出口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL). Flash编程和程序校验期间,P1接受低8位地址。
端口2:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输出口,作输出口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 在访问外部程序存储器获16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容也即特殊功能寄存器(SFR)区中R2寄存器的内容,在整个访问期间不改变。 Flash编程或校验时,P2亦接受高地址和其它控制信号
端口3: P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,他们被内部上拉电阻拉高并可作为输出口。做输出端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的其他功能,如下列所示:
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE / PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于所存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

对flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如果需要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该外置位后,只要一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN: 程序存储允许PSEN输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令或数据时,每个机器周期两个PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。
EA / VPP: 外部访问允许。要让CPU仅访问外部程序存储器(地址为0000H---FFFFH),EA端必须保持低电平(接地)。需注意的是; 如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上 12V的编程允许电源VPP,当然这一定要该器件是使用12V编程电压的VPP.
XTAL1:振荡器反相放大器以及内部时钟发生器的输出端。
XTAL2:振荡器反相放大器的输出端。

振荡器特性;AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图1。用户也可以采用外部时钟。采用外部时钟的电路如图2所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术要求。

空闲模式:在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,即可终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并仅随终端返回指令,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止,需要注意的是,当由硬件复位来终止空闲模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其它端口。为了避免可能对端口产生以外写入,激活空闲模式的那条指令后一条指令不应该是一条对端口或外部存储器的写入指令。

掉电模式:在掉电模式下,震荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。 AT89C51的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。

2编程算法

编程前,需按闪存编辑模式表、图3和图4所示设置好地址,数据及控制信号, AT89C51编程方法如下:

  1. 在地址线上加上要编程单元的地址信号。
  2. 在数据线上加上要写入的数据字节。
  3. 激活相应的控制信号。

4. 在高电压编程方式时,将EA/VPP端加上 12V编程电压。

5. 每对FLASH存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/^PROG编程脉冲,改变编程单元的地址和写入的数据,重复1—5步骤,直到全部文件编程结束。每个字节写入周期是自身定时地,通常不超过1.5ms。

数据查询

AT89C51单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需要读取最后写入的那个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,有效的数据就会出现在所有输出端上,此时,可进入下一个字节的写周期,写周期开始后,可在任意时刻进行数据查询。

2.1就绪/忙碌

字节编程的进度可通过“RDY/^BSY”输出信号监测,编程期间,ALE变为高电平“H”后P3.4(RDY/^BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4变为高电平表示准备就绪状态。

程序校验:

如果加密位LB1、LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据。加密位不可能直接变化。校验加密位可以通过观察它们的特征是否已经启用。

图2-1-1 闪存编程 图 2-2-2 闪存校验

2.2芯片擦除

利用控制信号的正确组合并保持ALE/PROG引脚10ms的低电平脉冲宽度即可将P闪存阵列整片擦除,代码阵列在擦除操作中将任何非空单元写入“1”,擦除操作需要在再编程之前进行。

2.3读取片内签名字节
AT89C51单片机内有3个签名字节,地址为030H、031H和032H。用于声明该器件的厂商、型号和编程电压。读签名字节的过程和单元030H、031H和032H的正常校验相仿,只需将P3.6和P3.7保持低电平,返回值意义如下:

(030H)=1EH声明产品由ATMEL公司制造。

(031H)=51H声明为AT89C51单片机。

(032H)=FFH声明为12V编程电压。

(032H)=05H声明为5V编程电压。

窗体顶端

窗体底端

2.4编程接口

采用控制信号的正确组合可对FLASH闪速存储阵列中的每一代码字节进行写入和存储器的整片擦除,写操作周期是自定时的,初始化后它将自动定时到操作完成。 微机接口实现两种信息形式的交换。在计算机之外,由电子系统所处理的信息以一种物理信号形式存在,但在程序中,它是用数字表示的。任一接口的功能都可分为以某种形式进行数据库变换的一些操作,所以外部和内部形式的转换是由许多步骤完成的。模拟-数字转换器(ADC)用来将连续变化信号变成相应的数字量,数字量可以是可能的二进制数值中的一个固定值。如果传感器输出不是连续变化的,就不需模拟-数字转换。这种情况下,信号调理单元必须将输入信号变换成为另一信号,也可直接与接口的下一部分,即微计算机本身的输入输出单元相连接。输出接口采用相似的形式,明显的差别在于信息流的方向相反;是从程序到外部世界。这种情况下,程序可称为输出程序,它

全文共5717字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[15069],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。