-
黄
p>
河
科
技
学
院
毕
业
设
计
(
文
献
< br>翻
译
)
第
1
页
AT89C51
的概述
1 AT89C51
应用
单片机广泛应用于商业:诸如调制解调器,电动机控制系统,空调控制系统,汽车
< br>发动机和其他一些领域。
这些单片机的高速处理速度和增强型外围设备集合使得它
们适
合于这种高速事件应用场合。然而,这些关键应用领域也要求这些单片机高度可靠。
健
壮的测试环境和用于验证这些无论在元部件层次还是系统级别的单片机的合适的工具<
/p>
环境保证了高可靠性和低市场风险。
Intel
平台工程部门开发了一种面向对象的用于验
证它的
AT
89C51
汽车单片机多线性测试环境。
这种环境的目标不仅
是为
AT89C51
汽车
单片机提供
一种健壮测试环境,
而且开发一种能够容易扩展并重复用来验证其他几种将
来的单片机。
开发的这种环境连接了
AT89C51
。
本文讨论了这种测试环境的设计和原理,
它的和各种硬件、软件环境部件的交互性,以及如何使用
AT89C51
。
1.1
介绍
8
位
AT89C51
CHMOS
p>
工艺单片机被设计用于处理高速计算和快速输入
/
< br>输出。
MCS51
单片机典型的应用是高速事件控制系
统。商业应用包括调制解调器,电动机控
制系统,打印机,影印机,空调控制系统,磁盘
驱动器和医疗设备。汽车工业把
MCS51
单片机用于发动机
控制系统,悬挂系统和反锁制动系统。
AT89C51
尤其很
好适用于得
益于它的处理速度和增强型片上外围功能集,诸如:汽车动力控制,车辆动态
悬挂,反
锁制动和稳定性控制应用。由于这些决定性应用,市场需要一种可靠的具有低干
扰潜伏
响应的费用
-
效能控制器,服务
大量时间和事件驱动的在实时应用需要的集成外围的能
力,具有在单一程序包中高出平均
处理功率的中央处理器。拥有操作不可预测的设备的
经济和法律风险是很高的。一旦进入
市场,尤其任务决定性应用诸如自动驾驶仪或反锁
制动系统,错误将是财力上所禁止的。
重新设计的费用可以高达
500K
美元,如果产品
族享有同样内核或外围设计缺陷的话,费用会更高。另外,部件的替代品领域是极其昂
贵的,因为设备要用来把模块典型地焊接成一个总体的价值比各个部件高几倍。为了缓
和这些问题,
在最坏的环境和电压条件下对这些单片机进行无论在部件级别还是
系统级
别上的综合测试是必需的。
Intel
Chandler
平台工程组提供了各种单片机和处理器的系统
黄
河
p>
科
技
学
院
毕
业
设
计
(
文
献
翻
< br>译
)
第
2
页
验证。这种系统的验证处理可以被分解为三个主要部分。系统的类型和应用需求决定了<
/p>
能够在设备上执行的测试类型。
1.2
AT89C51
提供以下标准功能
4k
字节
FLASH
闪速存储器,
128
字节内部
RAM
,
32
个
I/O
口线,
2
个
16
位定
时
/
计数器,一个
5
向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电
路。同时,<
/p>
AT89C51
降至
0Hz
的静态逻辑操作,并支持两种可选的节电工作模式。空
闲方式体制
CPU
的工作,但允许
RAM
,定时
/
计数器,串行通信口及中断系统继续工
p>
作。掉电方式保存
RAM
中的内容,
p>
但振荡器体制工作并禁止其他所有不见工作直到下
一个硬件复位。<
/p>
图
1
A
T89C51
方框图
黄
p>
河
科
技
学
院
毕
业
设
计
(
文
献
< br>翻
译
)
第
3
页
1.3
引脚功能说明
·
Vcc
:电源电压
·
GND
:地
·
P0
口:
P0
口是一组
8
位漏极开路型双向
I/O
口,也即地
址
/
数据总线复用。作为
输出口用时,
每位能吸收电流的方式驱动
8
个
TTL
逻辑门电路,
对端口写
―1‖
可作为高
阻
抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低
8 <
/p>
位)和数据总线复用,在访问期间激活内部上拉电阻。在
Flas
h
编程时,
P0
口接受指
令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
·
P1
口:
P1
是一个带内部上拉电阻的
8
位双向
I/O
口,
P1
的输出缓冲级可驱动
(吸收或输出电流)
4
个
TTL
逻辑门电路。对端口写
p>
―1‖
,通过内部的上拉电阻把端口
拉到高
电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚
被外部信
号拉低时会输出一个电流
(
IIL
)<
/p>
。
Flash
编程和程序校验期间,
P1
接受低
8
位
地址。
·
P2
口:
P2
是一个带有内部上拉电阻的
8
位双向
I/O
口,
P2
的输出缓冲级可驱
动(吸收或输出电流)
4
个
TTL
逻辑门电路。对端口写
p>
―1‖
,通过内部的上拉电阻把端
口拉到高
电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引
脚被外部信
号拉低时会输出一个电流(
IIL
)
。
在访问外部程序存储器或
16
位四肢的外
部数据存储器(例如执行
MOVX
@DPTR
指令)时,
P2
口送出高
8
位地址数据,在访
问
8
位地址的外部数据存储器
(例如执行
MOVX @
RI
指令)
时,
P2
口线上的内容
(也
即特殊功能寄存器(
SFR
)区中
R2
寄存器
的内容)
,在整个访问期间不改变。
Flash
编
程和程序校验时,
P2
也接收高位地址和其他控制信号。
·
P3
口:
P3
是一个带有内部上拉电阻的
8
位双向
I/O
口,
P3
的输出缓冲级可驱
动(吸收或输出电流)
4
个
TTL
逻辑门电路。对端口写
p>
―1‖
,通过内部的上拉电阻把端
口拉到高
电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引
脚被外部信
号拉低时会输出一个电流
(
IIL
)<
/p>
。
P3
口还接收一些用于
Flash
闪速存
储器编
程和程序校验的控制信号。
·
RST
:复位输入。当振荡器工作时,
RST
引脚出现两个机器周期以上高电平将使
单片机复位。<
/p>
p>
黄
河
科
技
学
院
毕
业
设
计
(
文
< br>献
翻
译
)
第
4
页
·
ALE/PROG
:当访问外部程序
存储器或数据存储器时,
ALE
(地址锁存允许)输出
脉冲用于锁存地址的低
8
位字节。即使不访问外部存储器,
ALE
仍以时钟振荡频率的
1/6
输出固定
的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是,每
当访问外部数据
存储器时将跳过一个
ALE
脉冲。对
Flash
存储器编程期间
,该引脚还
用于输入编程脉冲(
PROG
)
。如有必要,可通过对特殊功能寄存器(
SFR
)区中的
8EH
单元
D0
位置位,可禁止
ALE
操作。该位置位后,只有一条
MOVX
和
MOVC
指令
ALE
才会被激活。
此外,
该引脚会被微弱拉高,
单片机执行外部程序
时,
应设置
ALE
无
效。
·<
/p>
PSEN
:
程序存储允许输出是外部程序
存储器的读选通型号,
当
89C51
由外部存储
器取指令(或数据)时,每个机器周期两次
PSEN
有效,即输出两个脉冲。在此期间,
当访问外部数据存储器,这
两次有效的
PSEN
信号不出现。
·
EA/VPP
:
外部访问允许。
欲使
CPU
仅访
问外部程序存储器
(地址
0000H
—
FFFFH
)
,
EA
端必须保持低电平(接地)
。需注意的是:如果加密位
LB1
被编程,复位时内部会
锁存
EA
端状态。如
EA
端为高电平(接
Vcc
端)
,
CPU
则执行内部程序存储器中的
指令。
Flash
存储器编程时,
该引脚加上
+12v
的编程允许电源
Vpp
,
当然这必须是该器
件使用
12v
< br>编程电压
Vpp
。
·
XTAL1
:振荡器反相放大器及内部时钟发生
器的输入端。
·
XTAL2
:振荡器反相放大器的输出端。
89C51
中
有一个用于构成内部振荡器的高
增益反相放大器,引脚
XTAL
1
和
XTAL2
分别是该放大器的输
入端和输出端。这个放
大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振
荡器,
振荡电路参见
图
5
。外接石英晶体或陶瓷谐振器及电容
C1
、
C2
接在放大器的反馈回路中构成并联振
荡电
路。对电容
C1
、
C2
虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频
率的高低、振荡
器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,
我们推荐电容使用
30Pf±
10
Pf
,而如使用陶瓷谐振器建议选择
40Pf±
10Pf<
/p>
。用户也可以
采用外部时钟。这种情况下,外部时钟脉冲接到
p>
XTAL1
端,即内部时钟发生器的输入
端
XTAL2
则悬空。
·
掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后
一条被
执行的指令,片内
RAM
和特
殊功能寄存器的内容在终止掉电模式前被冻结。
推出掉电
黄
河
p>
科
技
学
院
毕
业
设
计
(
文
献
翻
< br>译
)
第
5
页
模式的唯一方法是硬件复位,
复位后将重新定义全部特殊功能寄
存器但不改变
RAM
中
的内容,在
Vcc
恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡
器重启动并
稳定工作。
89C51
的程序存储器阵列是采用字节写入方式
编程的,
每次写入
一个字符,
要对整个
芯片的
EPROM
程序存储器写入一个非空字节,
必须使用片擦除的
方法将整个存储器的内容清楚。
2
编程方法
编程前,设置好地址、数据及控制信号,编程单元的地址加在
P1
口和
P2
口的
P2.0
—
P2.3
(
11
位地址范围为
0000H
——
0FFFH
)
,数据从
P0
口输入,引脚
P2.6
< br>、
P2.7
和
P3.6
、
P3.7
的电平设置见表
6
,
PSEB
为低电平,<
/p>
RST
保持高电平,
EA/Vpp
p>
引脚是
编程电源的输入端,按要求加上编程电压,
< br>ALE/PROG
引脚输入编程脉冲(负脉冲)
。
编程时,可采用
4
—
20MHz
的时钟振荡器,
89C51
编程方法如下:在地址线上加上要
编程单元的地址信号在数据线上加上要写入的数据
字节。激活相应的控制信号。在高电
压编程方式时,将
EA/V
pp
端加上
+12v
编程电压。每对
Flash
存储阵列
写入一个字节
或每写入一个程序加密位,加上一个
ALE/PR
OG
编程脉冲。改变编程单元的地址和写
入的数据,
重复
1
—
5
步骤,
知道全部文件编程结束。
每个字节写入周
期是自身定时的,
通常约为
1.5ms
。
·
数据查询
89C51
单片机用数据查询方式来检测一个写周期是否结束,
在一个写周期中,如需
要读取最后写入的那个字节,则读出的数据的最高位(
P0.7
)是
原来写入字节的最高位的反码。写周期开始后,可在任意时刻进行数据查询。
2.1 Ready/Busy
字节编程的进度可通过
Ready/Busy
输出信号检测,
编程期间,
ALE <
/p>
变为高电平
―H‖
后
P3.4
(
Ready/Busy
)端被拉低,表示正在编程状态(忙状态)
。编程完成后,
P3
.4
变
为高电平表示准备就绪状态。
·
程序校验:如果加密位
LB
、
LB2
没有进行编程,则代码数据可通过地
址和数据线
读回原编写的数据,
采用下图的电路,
程序存储器的地址由
P1
口和
P2
口的
P2.0
—
P2.3
输入,数据由
P0
口读出,
P206
、
P2.7
和
P3.6
、
P3.7
的控制信号见表
6
,
PSE
N
保持低
电平,
ALE
、
EA
和
RST
保持高电平。校验时,
P0
口必须接上
10k
左右的上拉电阻。
黄
河
p>
科
技
学
院
毕
业
设
计
(
文
献
翻
< br>译
)
第
6
页
图
2
编程电路
图
3
校验电路
2.2
芯片擦除
利用控制信号的正确组合<
/p>
(
表
6)
并保持
ALE/PROG
引脚
10ms
的低电平脉冲宽度即
可将
EPROM
阵列
(4k
字节
)
和三个加密位整片擦除
,
代码阵
列在片擦除操作中将任何非
空单元写入
‖1‖,
这步骤需在编程之前进行。
2.3
读片内签名字节
89C51
单片机内有
3
个签名字节
,
地址为
030H
、
p>
031H
和
032H
。于声明该器件的
厂商、
号和编程电压。
< br>读签名字节的过程和单元
030H
、
031H
和
032H
的正常校验
相仿,
只需要将
P3.6
和
P3.7
保持低电平,返回值意义如下:
(030H) = 1EH
声明产品由
ATMEL
公司制造。
(031H) =
51H
声明为
89C51
单片机。
(032H) = FFH
声明为
12V
编程电压。
(032H) =
05H
声明为
5
编程电压。
2.4
编程接口
采用控制信号的正确组合可对
Flash
闪速存储阵列中的每一代码字节进行写入和存
黄
河
p>
科
技
学
院
毕
业
设
计
(
文
献
翻
< br>译
)
第
7
页
储器的整片擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。微机<
/p>
接口实现两种信息形式的交换。在计算机之外,由电子系统所处理的信息以一种物理信
p>
号形式存在,但在程序中,它是用数字表示的。任一接口的功能都可分为以某种形式进
行数据库变换的一些操作,所以外部和内部形式的转换是由许多步骤完成的。模拟
-
数
字转换器(
ADC
p>
)用来将连续变化信号变成相应的数字量,这数字量可是可能性的二进
制数值中的一固定值。如果传感器输出不是连续变化的,就不需模拟
-
数字转换。这种
情况下,
信号调理单元必须将输入信号
变换成为另一信号,
也可直接与接口的下一部分,
即微计算机本
身的输入输出单元相连接。输出接口采用相似的形式,明显的差别在于信
息流的方向相反
;是从程序到外部世界。这种情况下,程序可称为输出程序,它监督接
口的操作并完成数
字
-
模拟转换器(
DAC
)所需数字的标定。该子程序依次送出信息给
输出器件,产生相应的电信号,
由
DAC
转换成模拟形式。最后,信号经调理(通常是
放大)以形成适应于执行器操作的形式。在微机电路中使用的信号几乎总是太小而不能
被直接地连到
―
外部世界
‖
,因而必须用某种形式将其转换成更适宜的形式。接口电路部
分的设计是使用微机的工程师所面临最重要的任务之一。我们已经了解到微机中,信号
以离散的位形式表示。当微机要与只有打开或关闭操作的设备相连时,这种数字形式是
最
有用的,这里每一位都可表示一开关或执行器的状态。为了解决实际问题,一个单片
机不
仅包括
CPU
,程序和数据存储器,另外,它必须含有通过
p>
CPU
访问外部信息的硬
件。一旦
CPU <
/p>
收集到数据信息和流程,它必须能够改变外部领域的一部分,这些硬件
设备称作外围设备,它们是
CPU
通往外部的窗口。
单片机可利用外围设备中最基本的用于一般用途的
I/O
接口,
每个
I/O
< br>接口既可作
为输入端又可作为输出端,
每个
I/O
接口的功能取决与程序初始化阶段对数据方位寄存
< br>器相应位进行置一和清零操作,通过
CPU
指令对数据
寄存器相应位进行置一和清零来
置一和清零输出端口,同样输入端口逻辑位也可以通过<
/p>
CPU
指令访问。一些类型的串
行口单
元允许
CPU
与外部设备进行串口通信,用串口位代替平行位
进行通信需要少许
的
I/O
口,这样
使通信费用降低但速度也相对慢些。串口传送可以同步也可以异步。
< br>来源于:
AT89C51
的概况
黄
p>
河
科
技
学
院
毕
业
设
计
(
文
献
< br>翻
译
)
第
8
页
附:英文原文
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
-
-
-
-
-
-
-
-
-
上一篇:ことわざ_惯用句
下一篇:酒店中常用的英文缩写