单片机AT89C51应用及结构功能_第1页
单片机AT89C51应用及结构功能_第2页
单片机AT89C51应用及结构功能_第3页
单片机AT89C51应用及结构功能_第4页
单片机AT89C51应用及结构功能_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

请参阅AT89C51单片机功能和应用程序及来源主要性能参数:与MCS-51产品命令系统完全兼容4K字节可重写闪存1000次写入周期整体静态运作:0HZ-24MHZ3级加密程序内存128*8位元组内部RAM32个可编程I/O端口2个16位定时/记录器6个中断源可编程串行UART通道低功耗空闲和断电模式功能特性概述:AT89C51提供以下标准功能:4K字节闪存、128字节内部Flash、32 I/O端口线、2个16位定时/记录器、1个5矢量两级中断结构、1个全双工串行通信端口、片上振荡器和时钟电路。另一方面,AT89C51减少了0HZ的静态逻辑操作,并支持两种软件选项节能操作模式。停止CPU活动,但RAM、定时/寄存器、串行通信端口和中断系统可能继续运行。断电方法存储RAM的内容,但振荡器在下一个硬件重置之前停止工作。AT89C51是高性能CMOS8位微控制器,具有4k bytes的可重复只读程序内存(PEROM)和128 bytes的随机访问数据内存(RAM),使用ATMEL的高密度非易失性存储技术与标准MCS-51命令系统功能强大的AT89C51微控制器集成了通用8位中央处理器(CPU)和闪存存储设备,可提供高性价比的应用程序,从而可以灵活地应用于各种控制领域。AT89C51方块图接脚功能描述Vcc:电源电压GND:土地P0端口:P0端口是一组8位复盖型双向I/o端口,即地址/数据总线多路复用器。用作输出端口时,可以驱动能够吸收电流的每个8个TTL逻辑门电路,并将端口的“1”作为高阻抗输入端。此端口分时转换地址(低8位)和数据总线多路复用在访问外部数据或程序存储时启用内部池阻力。在FIash编程中,P0端口接收指令字节,在程序确认时输出指令字节,在确认时需要电阻。P1端口:P1是具有内部抗拉能力的8位双向I/o端口,P1的输出缓冲区可以驱动(吸收或输出电流)4个TTL逻辑栅极电路。在端口上写“1”,通过内部牵引阻力将端口向上拉高。此时,您可以使用输入端口。具有内部抗拉能力,并且如果针脚被外部信号向下拉动,则会输出电流(IIL),因此用于输入端口。在FIash编程和程序验证期间,P1接收低8位地址。P2端口:P2是具有内部下拉功能的8位双向I/o端口,P2的输出缓冲区可以驱动(吸收或输出电流)4个TTL逻辑栅极电路。在端口上写“1”,通过内部上拉阻力将端口向上拉高。此时,有内部拉阻,当针脚被外部信号低时,将输出一个电流(IIL),因此可以用作输入端口。P2端口在访问外部程序存储或16位地址的外部数据存储时传输高8位地址数据,例如发出MOVXDPTR指令。访问8位地址的外部数据存储(例如,发出MOVXRI命令)时,P2端口行内容(即特殊功能寄存器(SFR)区域中R2寄存器的内容在完全访问期间保持不变。在Flash编程或验证时,P2还接收父地址和其它控制信号P3端口:P3端口是一组具有内部池电阻的8位双向I/o端口。P3端口输出缓冲区驱动(吸收或输出电流)四个TTL逻辑栅极电路。为P3端口创建“1”会将其拉至内部抗拉电阻,并可用作输入端口。从输入端向外拉动的P3端口使用向上拉动电阻输出电流(IIL)。P3端口不仅充当常规I/o端口线,还将第二个功能用于更重要的用途,如下表所示。P3端口还接收用于闪存编程和程序验证的某些控制信号。RST:重置输入。振荡器工作时,如果RST针脚出现两个机器周期以上的高水平,则单片机将重置。ALE/PROG:访问外部程序或数据存储时,地址锁定(ALE)输出脉冲用于锁定地址的低8位字节。即使不访问外部存储器,ail也以时钟振荡频率的l/6输出固定量的脉冲信号,因此可以输出外部时钟或将其用于计时目的。每次访问外部数据存储时跳过一个ALE脉冲。此针脚还用于在编程闪存时输入PROG (Prog)。如果需要,可以通过特殊功能寄存器(SFR)区域中以8EH为单位的DO位置位禁止ALE操作。如果存在此位置位,则仅启用一个MOVX和MOVC命令ALE。此外,针脚应该稍微拉一下,并且在单片机运行外部程序时,将ear设置为无效。PSEN: PSEN(允许程序存储)输出是外部程序内存的读取选择通信号,当AT89C51从外部程序内存中接收命令(或数据)时,每个系统周期输出两次,即两个脉冲。如果在此期间访问外部数据存储,则会出现两次有效的PSEN信号。Ea/VPP:允许外部访问。CPU为0000h要仅访问FFFFH地址的外部程序存储,EA端必须保持较低的级别(接地)。如果加密位LB1已编程,请注意,重置时内部EA端状态将锁定。如果EA处于较高级别(VCC端),CPU将执行内部程序内存中的命令。在对闪存进行编程时,向针脚添加12V的编程允许电源Vpp。当然,该设备必须使用12V编程电压Vpp。XTAL1:振荡器倒相放大器和内部时钟生成器的输入端。XTAL2:振荡器倒相放大器输出。时钟振荡器:AT89C5l具有用于构成内部振荡器的高增益逆相放大器,并且针脚XTAL1和XTAL2分别是该放大器的输入端和输出端。该放大器与反馈元件芯片外部石英晶体或陶瓷谐振器一起构成自激振荡器。有关振荡电路,请参见图5。外部修正(或陶瓷谐振器)和容量C1、C2构成放大器反馈回路中的并行振荡电路。外部电容器C1、C2不是严格的要求,但电容的大小会对振荡频率的高低、振荡器工作的稳定性、易于振荡的程序和温度稳定性有一定的影响,如果使用石英谐振器,建议在使用陶瓷谐振器的情况下使用30pF10pF。也可以使用外部手表。使用外部时钟的电路如图5中的右图所示。在这种情况下,外部时钟脉冲连接到内部时钟生成器的输入XTAL1侧,XTAL2悬浮在空中。图1修改时:C1,C2=30p F10 pf陶瓷过滤器:C1,C2=40p F10 pf内部振荡电路图2外部时钟驱动电路外部时钟信号通过2分频触发器用作内部时钟信号,因此对外部时钟信号的工作周期没有特殊要求,但是最低高水平持续时间和最高低水平持续时间必须满足产品技术条件的要求。闲置省电模式:AT89C51具有两种软件编程节能模式:空闲模式和断电操作模式。这两种方法通过控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现。如果PD处于断电模式,则在PD=1时启用断电操作模式,SCM将进入断电操作状态。IDL是空闲备用模式,当IDL=1时,空闲操作模式处于活动状态,SCM进入节能状态。要启动PD和IDL均为1的两种操作模式,请先启用断电模式。在空闲操作模式下,CPU保持节能状态,软件生成的所有片的外围设备保持活动状态。片内的RAM和所有特殊功能寄存器的内容保持不变。空闲模式可以由允许的中断请求或硬件重置终止。退出空闲操作模式的方法有两种:一个允许中断的事件已启用,IDL(PCON.0)已被硬件清除,可以立即退出空闲操作模式。程序首先响应中断,运行中断服务程序,运行中断返回(RETI)命令,然后执行的下一个命令是使微控制器处于空闲状态的命令后面的命令之一。第二种方法是通过硬件重置,您还可以退出空闲操作模式。如果硬件重置导致空闲操作模式关闭,通常CPU会从“启用空闲模式”命令的以下命令继续运行程序,为了完成内部重置操作,硬件重置脉冲必须使两个系统周期(24个时钟周期)保持有效。在这种情况下,内部禁止CPU访问片内的RAM,允许访问其他端口。要防止端口发生意外写入,激活空闲模式命令后的命令不能是端口或外部存储的写入命令。断电模式:在断电模式下,振荡器停止工作,进入断电模式的命令是最后发出的命令,片上RAM和特殊功能寄存器的内容在退出断电模式之前是固定的。关闭电源关闭模式的唯一方法是硬件重置,重置后所有特殊功能寄存器都将被复盖,但RAM的内容不会更改。在Vcc恢复正常运行级别之前,复位必须无效,必须保持一定的时间重新启动振荡器并稳定运行。程序内存加密:AT89C51可以编程(p)或不编程(u)芯片上的三个加密位LB1、LB2、LB3,以获得下表所示的功能加密位保护菜单。在编码加密位LB1的过程中,如果EA端的逻辑级别被采样和锁定,并且在打开单片机电源后没有重置,则锁定的初始值为随机数,此随机数将一直存储到实际重置为止。要使单芯片微型计算机工作,锁定的EA级值必须与插针的当前逻辑级匹配。此外,加密位只能通过完全删除方法清除。闪存编程:AT89C51微控制器内部有4k字节的闪存perom,该闪存存储阵列出厂时处于擦除状态(即所有存储设备的内容均为Flash),用户可以随时对其进行编程。编程接口可以接收高电压(12V)或低电压(Vcc)允许的编程信号。低压编程模式适用于用户在线编程系统,高压编程模式与通用EPROM程序员兼容。AT89C51微控制器的部分是低压编程方法,部分是高压编程方法,用户可以通过参考下表从芯片型号和读取芯片的名称部分获取此信息。AT89C51的程序内存阵列以字节写入方式一次写入一个字节,要为整个芯片内的PEROM程序存储写入一个非空字节,必须通过切片删除方式清除整个内存的内容。编程方法:在编程之前,必须设置地址、数据和控制信号,如图6和图6所示。编程单元的地址将添加到P1和P2端口上的p 2.0-p 2.3 (11位地址范围为0000H-0FFFH),数据将输入到P0端口上,pin p 2.6、P2.7和P3.6,P3.7的级别设置为表6,PSEN为低级别,RST保持高级别,ea/vpfh编程时可以使用4-20mhz时钟振荡器,AT89C51编程方法如下:1.在地址行中添加要程序的单元的地址信号。2.添加要写入数据线的数据字节。3.激活相应的控制信号。4.以高压编程方式在ea/VPP末端添加12V编程电压。5.每次在每个闪存存储阵列对中记录单字节或程序加密位时,都会添加ALE/PROG编程脉冲。变更程式设计单位的位址和记录的资料,重复步骤1到5,直到所有档案程式设计完成为止。每个字节写入周期都是自己安排的,通常约为1.5毫秒。数据查询:AT89C51微控制器使用数据查询检测写入周期是否结束,如果需要读取写入周期中最后记录的字节,则读取的数据的最高位(P0.7)是原始记录字节的最高位的倒数。写入周期完成后,所有输出端都会出现有效数据。此时,可以继续到下一字节的写入周期,并在写入周期开始后随时执行数据查询。Ready/Busy:字节编程的进度可以通过rdy/bsy输出信号监视,在编程过程中,ALE变为高水平“h”,p 3.4 (rdy/bsy)端级别降低,表明编程状态(忙状态)。程式设计完成后,P3.4会变更为高层次,表示准备状态。程序验证:如果加密位LB1,LB2未编程,则代码数据可以使用下图中的回路重新读取最初通过地址和数据线创建的数据。程序内存中的地址由P1和P2端口上的p2 P2.0-P2.3输入,数据由P0读取,P2.6、P2.7和P3.6、P3.7的控制信号显示在表中,PSEN保持低级别,ALE、EA和RST保持高级别。验证时,P0端口应连接到10k左右的上部抗拉能力。闪存编程真值表注意:PROG脉冲宽度必须为10毫秒,才能执行层切面清除操作编程电路验证电路AT89C51限制作业参数参考文献:1sun Jinping Zhang Dapeng dingjinbin 51系列单片机原理开发与应用实例出版社:中国电力出版社修订版:2009-01-012田力马鸣鹤,单片机应用开发实例丛书 51系列单片机开发实例精解出版社编辑:中国电力出版社修订:2009-8-13李刚编辑51系列单片机系统设计与应用技巧出版社:北京航天大学出版社修订:2004-1-14 Li gang linling ho feng,ADuC845单片机原理、开发方法及应用实例出版社编辑:电子产业出版社修订版:2006-10-15 Li hua.mcs-51系列微控制器实用接口技术M。航空航天大学出版社,1999年。at 89c 51 micro controller functions and applications and sources of reference功能Compatible with MCS-51 products4k bytes of in-system re programmable flash memoryendurance : 1,000write/erase cyclesfully static operation : 0Hz to 24 MHzTh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论