AT89C系列单片机简介课件_第1页
AT89C系列单片机简介课件_第2页
AT89C系列单片机简介课件_第3页
AT89C系列单片机简介课件_第4页
AT89C系列单片机简介课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

AT89C系列单片机简介AT89C1051单片机简介

AT89C2051单片机简介

AT89C51单片机简介

89系列单片机的优点89系列单片机对于一般用户来说,存在下列很明显的优点:1)内部含Flash存储器因此在系统的开发过程中可以十分容易进行程序的修改,这就大大缩短了系统的开发周期。同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也不影响到信息的保存。2)和8051插座兼容89系列单片机的引脚是和8051一样的,所以,当用89系列单片机取代8051时,可以直接进行代换。这时,不管采用40引脚亦或44引脚的产品,只要用相同引脚的89系列单片机取代8051的单片机即可。3)静态时钟方式89系列单片机采用静态时钟方式,所以可以节省电能,这对于降低便携式产品的功耗十分有用。4)错误编程亦无废品产生一股的OTP(one-time-programmable)产品,一旦错误编程就成了废品。而89系列单片机内部采用了Flash存储器,所以,错误编程之后仍可以重新编程,直到正确为止,故不存在废品。5)可进行反复系统试验用89系列单片机设计的系统,可以反复进行系统试验,每次试验可以编人不同的程序。这样可以保证用户的系统设计达到最优。而且随用户的需要和发展,还可以进行修改,使系统不断能追随用户的最新要求。

89系列单片机的内部结构

89系列单片机的内部结构和8051相近。内部含有如下部件:·8031CPU·振荡电路·总线控制部件·中断控制部件·片内Flash存储器·片内RAM·并行I/O接口·定时器·串行I/O接口

89系列单片机的型号编码

89系列单片机的型号编码由三个前缀、型号、后缀。它们的格式如下:AT89C××××××××其中:AT是前缀;89C××××是型号;××××是后缀。1.前缀前缀由字母“AT”组成,它表示该器件是ATMEL公司的产品。2.型号型号由“89CX×××”或“89LV××××”或“89S××××。等表示。“89C××××”中,9是表示内部含Flash存储器C表示是CMOS产品。“89LV××××”中,LV表示低压产品。“89S××××”中,S表示含可下载Flash存储器。在这个部分的××××表示器件型号数,例如:51、1051、8252等。3.后缀后缓由“××××”这4个参数组成。每个参数的表示和意义不同,在型号和后缀部分用“-”隔开。后缀中的第一个参数×用于表示速度,它的意义如下:×=12,表示速度为12MHz×=16,表示速度为16MHz×=20,表示速度为20MHz×=24,表示速度为24MHz后缀中的第二个参数×用于表示封装,它的意义如下:×=D,陶瓷双列直插×=J,塑料J引线芯片载体×=L,无引线芯片载体×=F,表示塑料双列直插DIP封装×=S,表示SOIC封装×=Q,表示FQFP封装×=A,表示TQFP封装×=W,表示裸芯片后缀中第三个参数×用于表示温度范围,它的意义如下:×=C,表示商业产品,温度范围为0~+70℃×=I,表示工业产品,温度范围为-40~+85℃×=A,表示汽车用产品,温度范围为-40~+125℃×=M,表示军用产品,温度范围为-55~+150℃后缀中的第四个参数×用于说明产品的处理情况。它的意义如下:×为空,则表示处理工艺是标准工艺×=/883,则表示处理工艺采用MIL—STD—883标准AT89C1051的结构框图

RAM地址寄存器RAMFlashRAMB寄存器ACC堆栈指针程序地址寄存器TMP1TMP2ALUPSW缓冲器PC自加PCDPTR中断、串口、定时器P1锁存器P3锁存器定时和控制指令寄存器OSCP1口驱动电路P3口驱动电路模拟比较器+-RSTP1.0~P1.7P3.0~P3.5P3.7GNDVcc图7-1AT89C1051结构框图AT89C1051的引脚说明

1.Vcc电源电压2.GND:地。3.P1口:P1口是一个8位双向I/O口,端口引脚P1.2至P1.7提供内部上拉电阻,P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流并能直接驱动IED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚P1.2至P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。P1口还在闪速编程和程序校验期间接收代码数据。

4.P3口:P3口的P3.0至P3.5、P3.7是带有内部上拉电阻的七个双向I/O引脚。P3.6用于固定输入片内比较器的输出信号,并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入“l”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3门口引脚将因上拉电阻而流出电流(IIL)。P3口还用于实现A189C1051的各种特殊功能,如下表7—1所列:P3口还接收一些用于闪速存储器编程和程序校验的控制信号。

5.RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到1,当振荡器正在行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。6.XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。7.XTAL2:作为振荡器反相放大器的输出。

振荡器和专有寄存器功能

振荡器

振荡器和专有寄存器功能专用功能寄存器

指令约束条件AT89C1051是ATMEL微控制器家族中廉价的成员。它含有1K字节的闪速程序存储器,完全和MCS-51结构兼容并可用MCS-51指令集进行编程,但是在使用有关指令进行编程时,程序员必须记住一些注意事项。和跳转或分支相关的全部指令必须进行空间约束。这样,目的地址就会落在AT89C1051的1K字节物理程序存储器空间内。这一点编程人员必须注意。例如,对于1K字节存储器的AT89C1051来说,LJMP3FEH是一有效的指令而LJMP410H则是无效的。

1)分支指令对于LCALL、LJMP、ACALL、AJMP、SJMP、JMP@A+DPTR等指令,只要编程人员记住这些分支指令的目的地址落在程序存储器大小的物理范围内(89C1051的00H至3FFH单元),这些无条件分支指令就会正确执行。违背物理空间的限制会引起不可知的程序出错。CJNE[...]、DJNZ[...]、JB、JNB、JC、JNC、JBC、JZ、JNZ这些条件分支指令适用以上相同的规则。同样,违背存储器范围限制也会引起不定的程序出错。至于包含中断的应用,8051硬件结构中已保留标准中断服务子程序的地址。2)和MOVX指令相关的数据存储器AT89C1051包含64字节内部数据存储器。这样,AT89C1051中的堆栈深度局限于内部RAM的64字节范围内。它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行。因此,程序中不应包括MOVX[...]指令。一般的8051汇编程序即使在违背上述限制写指令时仍对指令进行汇编。用户应了解正在使用的微控制器89C1051的物理功能和受限范围,并相应地调整所用指令的寻址范围,以适合于89C1051。

程序存储器加密位可对芯片上的两个加密位不进行编程(U)或进行编程(P)来获得表7—3所列的功能:要注意:加密位只能通过片擦除操作进行擦除CPU工作方式

1)空闲方式在空闲方式下,CPU保持睡眠状态而所有片内的外设保持激活状态。这种方式由软件产生。片内RAM和所有专用功能寄存器的内容在此方式期间保持不变。空闲方式可由任何允许的中断请求或硬件复位中止。P1.0和P1.1在不使用外部上拉电阻的情形下应设置为“0”,或者在使用外部上拉电阻的情形下设置为“1”。应注意:用硬件复位终止空闲方式时,AT89C1051通常从程序停止一直到内部复位算法获得控制之前的两个机器周期的地方恢复程序的执行。在这种情况下片内硬件禁止对内部RAM的访问但允许对端口引脚的访问。要消除硬件复位终止空载方式时对端口引脚意外写入的可能性,则进入空闲方式指令的下一条指令不应是写瑞口引脚或写外部存储器指令。2)掉电方式在掉电方式下,振荡器停止工作。进入掉电方式的指令是最后一条被执行的指令。片内RAM和专用功能寄存器的内容在终止掉电方式前保持不变。退出掉电方式的唯一方法是硬件复位。复位重新定义全部专用功能寄存器但不改变片内RAM。在Vcc恢复到正常工作电平前,复位应不起作用,且必须保持一段时间以使振荡器再启动并稳定。P1.0和P1.1在不使用外部上拉电阻的情形下应设置为“0”,或者在使用外部上拉电阻的情形下应设置为“1”。

AT89C2051的结构框图

RAM地址寄存器RAMFlashRAMB寄存器ACC堆栈指针程序地址寄存器TMP1TMP2ALUPSW缓冲器PC自加PCDPTR中断、串口、定时器P1锁存器P3锁存器定时和控制指令寄存器OSCP1口驱动电路P3口驱动电路模拟比较器+-RSTP1.0~P1.7P3.0~P3.5P3.7GNDVcc图7-5AT89C2051结构框图AT89C2051的引脚说明

1.Vcc电源电压2.GND:地。3.P1口:P1口N是一个8位双向I/O口,口引脚P1.2至P1.7提供内部上拉电阻,P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入和反相输入。P1口输出缓冲器可吸收20mA电流并能直接驱动IED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚P1.2至P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。P1口还在闪速编程和程序校验期间接收代码数据。

4.P3口:P3口的P3.0至P3.5、P3.7是带有内部上拉电阻的七个双向I/O引脚。P3.6用于固定输入片内比较器的输出信号,并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入“l,,时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3门口引脚将因上拉电阻而流出电流(IIL)。P3口还用于实现AT89C2051的各种特殊功能,如下表7—4所列:P3口还接收一些用于闪速存储器编程和程序校验的控制信号。

5.RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到1,当振荡器正在行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。6.XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。7.XTAL2:作为振荡器反相放大器的输出。

振荡器

专用功能寄存器

指令约束条件

AT89C2051是ATMEL微控制器家族中廉价的成员。它含有2K字节的闪速程序存储器,完全和MCS-51结构兼容并可用MCS-51指令集进行编程,但是在使用有关指令进行编程时,程序员必须记住一些注意事项。和跳转或分支相关的全部指令必须进行空间约束。这样,目的地址就会落在AT89C2051的2K字节物理程序存储器空间内。这一点编程人员必须注意。例如,对于2K字节存储器的AT89C2051来说,LJMP7E0H是一有效的指令而LJMP900H则是无效的。

1)分支指令对于LCALL、LJMP、ACALL、AJMP、SJMP、JMP@A+DPTR等指令,只要编程人员记住这些分支指令的目的地址落在程序存储器大小的物理范围内(89C2051的00H至7FFH单元),这些无条件分支指令就会正确执行。违背物理空间的限制会引起不可知的程序出错。CJNE[...]、DJNZ[...]、JB、JNB、JC、JNC、JBC、JZ、JNZ这些条件分支指令适用以上相同的规则。同样,违背存储器范围限制也会引起不定的程序出错。至于包含中断的应用,8051硬件结构中已保留标准中断服务子程序的地址。2)和MOVX指令相关的数据存储器AT89C2051包含64字节内部数据存储器。这样,AT89C2051中的堆栈深度局限于内部RAM的64字节范围内。它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行。因此,程序中不应包括MOVX[...]指令。一般的8051汇编程序即使在违背上述限制写指令时仍对指令进行汇编。用户应了解正在使用的微控制器89C2051的物理功能和受限范围,并相应地调整所用指令的寻址范围,以适合于89C2051。

CPU工作方式

1)空闲方式在空闲方式下,CPU保持睡眠状态而所有片内的外设保持激活状态。这种方式由软件产生。片内RAM和所有专用功能寄存器的内容在此方式期间保持不变。空闲方式可由任何允许的中断请求或硬件复位中止。P1.0和P1.1在不使用外部上拉电阻的情形下应设置为“0”,或者在使用外部上拉电阻的情形下设置为“1”。应注意:用硬件复位终止空闲方式时,AT89C1051通常从程序停止一直到内部复位算法获得控制之前的两个机器周期的地方恢复程序的执行。在这种情况下片内硬件禁止对内部RAM的访问但允许对端口引脚的访问。要消除硬件复位终止空载方式时对端口引脚意外写入的可能性,则进入空闲方式指令的下一条指令不应是写瑞口引脚或写外部存储器指令。2)掉电方式在掉电方式下,振荡器停止工作。进入掉电方式的指令是最后一条被执行的指令。片内RAM和专用功能寄存器的内容在终止掉电方式前保持不变。退出掉电方式的唯一方法是硬件复位。复位重新定义全部专用功能寄存器但不改变片内RAM。在Vcc恢复到正常工作电平前,复位应不起作用,且必须保持一段时间以使振荡器再启动并稳定。P1.0和P1.1在不使用外部上拉电阻的情形下应设置为“0”,或者在使用外部上拉电阻的情形下应设置为“1”。

AT89C51的结构框图

RAM地址寄存器RAMFlashRAMB寄存器ACC堆栈指针程序地址寄存器TMP1TMP2ALUPSW缓冲器PC自加PCDPTR中断、串口、定时器P1锁存器P3锁存器定时和控制指令寄存器OSCP1口驱动电路P3口驱动电路RSTP1.0~P1.7P3.0~P3.7GNDVcc图7-9AT89C51结构框图P0锁存器P2锁存器P0口驱动电路P2口驱动电路P0.0~P0.7P2.0~P2.7AT89C51的引脚功能1)主电源引脚(1)Vcc电源端(2)GND接地端2)外接晶体引脚XTAL1和XTAL2(1)XTALl接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。(2)XTAL2接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。3)控制或与其它电源复用引脚RST、ALE/PROG、PSEN和EA/Vppp(1)RST复位输入端。当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。(2)ALE/PROG当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,AIE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。

在对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如果需要的话,通过对专用寄存器(SFR)区中8EH单元的D0位置位,可禁止A比操作。该位置位后。只有在执行一条MOVX或MOVC指令期间,AIE才会被激活。另外,该引脚会被微弱拉高,单片机执行外部程序时.该设定禁止ALE位无效。(3)PSEN程序存贮允许(PSEN)输出是外部程序存储器的读选通信号。当AT89C51由外部程序存储器取指令(或常数)时.每个机器周期两次有效(即输出2个脉冲)。但在此期间内,每当访问外部数据存储器时,这两次有效的信号将不出现。(4)EA/Vpp外部访问允许端。要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则EA端必须保持低电乎(接到GND端)。然而要注意的是,如果保密位LB1被编程,复位时在内部会锁存EA端的状态。当EA端保持高电平(接vcc端)时,CPU则执行内部程序存储器中的程序。在Flash存储器编程期间,该引脚也用于施加12v的编程允许电源Vpp(如果选用12V编程)。

4)输入/输出引脚P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7(1)P0端口(P0.0~P0.7)P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输人端用。在访问外部程序和数据存储器时,它

温馨提示

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

评论

0/150

提交评论