




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主要性能参数:与MCS-51产品指令和引脚完全兼容20K字节可重擦写Flash闪速存储器1000次擦写周期全静态擦写周期:0Hz33Hz三级加密程序存储器256*8字节内部RAM32个可编程I/O口线三个16位定时/计数器8个中断源低功耗空闲和掉电模式功能特性概述:这个AT89C55的是一种低功耗,高性能8位CMOS单片机,具有20K字节可重擦写Flash闪速存储器,该设备是采用Atmel的高密度非易失性内存技术,并与业界标准80C51指令集和引脚兼容,片上闪存程序存储器可重新编程的系统或由传统的非易失性内存编程通过将通用的8位CPU与Flash在monolithicchip芯片,奥特拉AT89C55的是一个强大的微型计算机提供了一个高度灵活和成本有效地解决许多嵌入式控制应用。引脚配置:方框图:该AT89C55的标准提供了以下功能:20,000字节的闪存,256内存,32个字节/ O线,三个16位定时器/计数器,6向量两级中断结构,全双工串行端口,片上振荡器和时钟电路。此外,AT89C55的目的是为降低到零频率静态逻辑,支持两种软件可选省电模式。空闲模式停止的CPU,同时允许RAM工作,定时器/计数器,串行端口和中断系统继续运作。运作。在掉电模式保存RAM的内容,但冻结振荡器,禁用直到下一个硬件复位所有其他片上功能运作。在掉电模式保存RAM的内容,但冻结振荡器,禁用直到下一个硬件复位所有其他片上功能。引脚说明:Vcc:电源供电GND:地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。RST:复位输入。关于这两个机器周期针高,而振荡器运行重置设备。:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:程序存储允许()输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次信号。:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),端必须保持低电平(接地)。需注意的是:如果加密位被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。用户软件写入1秒不应该对这些非上市地点,因为它们可用于未来的产品援引新功能。在这种情况下,重置或新位无效值将始终为0。定时器2:控制和状态位载于登记T2CON(见表2)和T2MOD(见表4定时器2)。登记册对(RCAP2H,RCAP2L的)是捕捉/定时器2装入寄存器的16位捕捉模式或16位自动重载模式。中断寄存器:个别中断使能位在IE名册。两个优先事项可以设定6个中断源的IP每册。数据存储器:AT89C52有256个字节的内部RAM,高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和特殊功能寄存器的地址的相同的,但物理上它们是分开的。当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能 寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元。MOV 0A0H,#data间接寻址指令访问高128字节RAM,例如,下面的间接寻址中,R0的内容为0A0H,则访问数据字节地址为0A0H,而不是P2口(0A0H).MOV R0,#data堆栈操作也是间接寻址方式,所以,高128位数据RAM亦可作为堆栈区使用。 表1 AT89S52 特殊寄存器映象及复位值表2 T2CON:定时器/计数器2控制寄存器定时器0和定时器1:AT89C52的定时器0和定时器1的工作方式与AT89C51相同。定时器2:定时器2是一个16位定进/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择,如表3所示:定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率的1/12.在计数工作方式时,当T2引脚上外部输入信号产生由1至9的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为9,则在紧跟综着的下一个周期的S3P1期间寄存器加1.由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24.为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。表 3 定时器2工作模式捕获方式:在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。如果EXEN2=0,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON的溢出标志TF2置位,同时激活中断。如果EXEN2=1,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。另外,T2EX引脚信号 的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。捕获方式如下表所示:图 1 定时器2的捕捉模式表 4 T2MOD-定时器2控制寄存器自动重装载(向上或向下计数器)方式:当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊寄存器T2CON的DCEN位(允许向下计数)来选择的。复位时,DCEN位置“0”,定时器2默认设置为向上计数。当DCEN置位时,定时器2既可向上计数也可向下计数,这取决于T2EX引脚的值,参见下图,当DCEN=0时,定时器2自动设置为向上计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2=0,定时器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件预置,如果中断允许,同样产生中断。切换的EXF2置位时,定时器2溢出位,可作为第17位使用。在这种运营模式,没有标志位EXF2中断。图 3 定时器2自动重载(DCEN=1)图 4 定时器 2 波特率发生器模式波特率发生器:当T2CON中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。如果定时/计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能,如图7所示。若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0).定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个状态时间(1/2振荡频率)寄存器的值加1。波特率的计算公式如下:式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。定时器2作为波特率发生器使用的电路如图4所示。T2CON中的RCLK或TCLK=1时,波特率工作方式才有效。在波特率发生器工作方式中,TH2翻转不能使TF置们,故不能产生中断。但若EXEN2置位,且T2EX端产生由1至0的负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2和TL2中。所以,当定时器2作为波特率发生器使用时,T2EX可作为附加的外部中断源来使用。需要注意的是,当定时器2工作于波特率警方,作为定时器运行(TR2=1)是,并不能访问TH2和TL2.因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器2或RCAP2寄存器之前,应将定时器关闭(清除TR2)。图 5 定时器2时钟输出模式可编程时钟输出:定时器2可通过编程从P1.0输出一个占空比为50%的时钟信号,如图8所示。P1.0引脚除了是一个标准的I/O口外,还可以通过编程使用作为定时/计数器2的外部时钟和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz时,输出时钟频率范围为61Hz4MHz。当设置定时/计数器2为时钟发生器时,C/T2(T2CON.1)=0,(T2MOD.1)=1,必须由TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下:在时钟输出方式下,定时器2的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2作为波特率发生器使用是,还可作为时钟发生器使用,但需要注意的是波特率和时钟频率不能分开确定,这是因为它们同使用RCAP2H和RCAP2L。URAT:AT89C55的UART工作方式与AT89C51与AT89C52的工作方式不同。中断:AT89C55共有6个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0、1、2)和串行口中断。所有这些中断源如图所示。这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意表中的IE。6为保留位,在AT89C51中IE。5也是保留位。程序员不应将“1”写入这些位,它们是将来AT89系列产品作为扩展用的。定时器2的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需要确定是TF2或EXF2产生中断,而由软件清除中断标志位。定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2的标志位TF2在定时器溢出的那个机器周期的S2P2状态置位,并在同一个机器周期内查询到该标志。表 5 中断允许控制寄存器(IE)图 6 中断源AT89C55有一个用于构成内部振荡哭的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见下表:图 7 内部振荡电路连接图AT89S52 单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2 可以不接,而从XTAL1 接入,如图8所示。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。图8 外部振荡电路连接图空闲节电模式在空闲工作模式状态,CPU自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启并稳定工作。空闲和掉电模式下,各端口引脚状态如下表所示:程序存储器的加密:AT89C55有3个程序加密位,可对芯片上的3个加密位LB1、LB2、LB3进行编程(P)或不编程(U)来得到如下表所示的功能:空闲模式和掉电模式下的外部引脚状态加密位保护模式当加密LB1被编程时,在复位期间,EA的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。Flash存储器的编程“AT89C55片上具有20K内存Flash,这个Flash存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可能其进行编程。编程接口可接收高电压(+12V)和低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编成系统,而高电压编程模式可与通用EPROM编程器兼容。AT89C55单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息,见下表:AT89C55的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的EPROM程序存储器定稿一个非空字节必须使用片擦除的方式将整个存储器的内容清除。编程方法:编程前,须按上述设置好地址、数据及控制信号,AT89C55编程方法如下:1、 在地址线上加上要编程单元的地址信号。2、 在数据线上加上要写入的数据字节。3、 激活相应的控制信号。4、 在高电压编程方式时,将EA/Vpp端加上+12V编程电压。5、 每对Flash存储阵列定入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复1-5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。数据查询:AT89C55单片机用DATA Palling表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位(P0.7)是原来写入字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 编程梦想启航秀创新创业项目商业计划书
- 知识付费内容持续更新与维护创新创业项目商业计划书
- 编程趣味挑战赛创新创业项目商业计划书
- 昏迷病人的皮肤护理
- 介入治疗术后护理
- 盆栽种植维护培训班课件
- 初中音乐戏曲教学课件
- 数字信号处理西电课件
- 工务段线路知识培训内容课件
- 容器化数据持久化方案-洞察及研究
- (2025年标准)动火安全协议书
- 动物防疫检疫试题(附答案)
- 多媒体教室使用的课件
- 高中英语必背3500单词表完整版
- 残疾人家庭无障碍改造投标方案(技术标)
- 工程进度计划横道图
- 医药代表销售技巧培训
- 牛的品种及生物学特性
- 阿特拉斯变频无油螺杆空压机说明书
- 口腔解剖生理学颞下颌关节精选课件
- 物料断点管理办法新旧状态零部件切换的交替点管理程序
评论
0/150
提交评论