元器件交易网-中发网全新升级平台
关注我们:
首页 > 技术资料 > 正文

元器件交易网关于AT89S52-24PU中文资料解析

  兼容MCS-51指令

  8K字节支持在线编程的flash存储区,可以进行1000次擦写

  工作电压4.0v-5.5v(有待验证,呵呵)

  Fully Static Operation:0Hz到33MHz是不是工作频率?

  Three-level Program Memory Lock三级编程存储锁(好像不是这么翻译)

  256x8bit片内RAM

  32 Programmable I/O Lines32个可编程IO口(感觉不地道)

  三个16Bit定时器/计数器

  8个中断源

  全双工UART串行通道

  Low-power Idle and Power-down Modes低电压空闲模式和电源睡眠模式

  电源睡眠模式下,中断触发返回原状态

  看门狗

  两个数据指针DP

  电源关闭标志

  fast Programming Time快速编程

  简洁ISP编程

  绿色包装(无铅及卤化物)

  1.概述

  AT89S52是低电压高性能的8位CMOS微控制器,8K字节可在线编程(ISP)的flash存储区。AT89S52采用Atmel高密度非易失性存储技术,兼容80C51指令集和管脚。片上flash支持ISP和传统的flash编程器进行重新编程。通用的8位CPU外加在线编程,Atemel借此提供了一个灵活、高效的嵌入式应用解决方案。

  AT89S52有以下优点:8K flash,256B RAM,32个I/O接口,看门狗,三个十六位定时器/计数器,六个中断矢量、两级优先权,一个全双工的串行口,片上的振荡器和时钟电路(不懂,好像没有这些东西)。另外,AT89S52设计了静态逻辑(不懂),可以将时钟频率降低到0Hz.用软件可以设置两种省电模式:1.低电压空闲模式(The idle model),cpu不在工作,但是RAM、定时器/计数器、串行口、中断系统一直工作;2.电源睡眠模式(The power-down model)只保存RAM中的内容,但是停止振荡器,其他片上功能失效直到中断唤醒或硬件重启。

  2.管脚配置

  3.内部方框图

  4.管脚说明

  VCC:电源电压

  GND:地

  Port0:

  Port1:

  Port2:

  Port3:

  RST:重启输入。

  ALE/PROG:输出1/6时钟频率的信号,可用作外部定时器或者时钟用途,但是当MCU访问外部数据区时ALE信号发生跳转Note, however, that one ALE pulse is skipped during each access to external data memory.设置SFR location 8EH的第0位,可以取消输出外部时钟信号,

  XTAL1 :内部反相放大器的输入,内部时钟电路的输入

  XTAL2:反相放大器的输出端

  还有很多管脚,先不翻译这些,呵呵。。。

  5.SFR特殊功能寄存器

  T2CON

  TF2:T2溢出置1,必须软件清零。如果RCLK或TCLK等于1,TF2不会被置1.

  EXF2:EXEN2=1且T2EX下降沿时置1,CPU响应T2中断,跳转的指定的地址执行中断处理程序EXF2必须软件清零。当DCEN=1时,即处于加/减计数时EXF2不会引起中断。

  RCLK:串行口接收时钟使能,=1->T2作为接收时钟,=0->T1作为接收时钟

  TCLK:串行口发送时钟使能,=1->T2作为发送时钟,=0->T1作为发送时钟

  EXEN2:T2外接时钟使能,When set, allows a capture or reload to occur as a result of a negative transition on T2EX if Timer 2 is not being used to clock the serial port.=1->允许捕获或者重载如果有下降沿产生。

  TR2:启动T2

  C/T2:计数器/定时器标志

  CP/RL2:捕获重载标志。

  AUXR---------->辅助寄存器

  Disable:=0->ALE输出一个频率是时钟频率六分之一的信号

  =1->ALE仅在使用MOVX和MOVC指令时有信号输出

  DisRTO:disabled/enable reset out使能RESET输出

  =0-> 看门狗定时器超时后,RT输出高电平

  =1->RT只响应输入信号

  WDIDLE :disabled/enable WDT in IDLE mode 看门狗空闲状态使能

  =0-> 看门狗继续计数

  =1->看门狗暂停计数

  Dual Data Pointer Registers:便于访问内部和外部数据存储区,16位。

  DP0:SFR82H,83H DP1:SFR 84H,85H

  AUXR1中的DPS位为1选中DP1,为0选中DP0,使用者必须根据需要初始化DPS位

  Power Off Flag:PCON.4,可以软件设置1、0,不受RESET的影响

  6.存储器结构

  7.看门狗

  为了保证软件的稳定性,引入了看门狗。看门狗包括14位计数器和看门狗定时器复位寄存器WDTRST两部分。看门狗默认情况下是不工作的,若想使用看门狗必须往WDTRST中顺序写入01EH和0E1H。当振荡器工作时,每个机器周期看门狗计数器加1。只有RESET信号(硬件R振荡器或WDT溢出RST)可以使WDT不工作。当看门狗溢出后,RST引脚将会置1。

  1.使用WDT

  首先,向WDTRST中顺序写入01EH和0E1H启动看门狗。在看门狗计数器的计数范围(0-0x3FFF)内,向WDTRST中顺序写入01EH和0E1H(喂狗)避免看门狗溢出,防止器件被重启。当存储器工作时,每个机器周期看门狗计数器加1。看门狗计数器不能被读写。当看门狗溢出时,RST引脚将会置1。

  2.电源睡眠模式和空闲模式下的看门狗

  电源睡眠模式下,时钟停止振荡,看门狗停止工作,此时不需要喂狗。有两种方法结束电源睡眠模式:硬件启动和进入睡眠模式前设置的优先级有效的外部中断。硬件启动时,片子重启,同时应该喂狗。用外部中断脱离睡眠模式时,外部中断从一直保持低电平跳到高电平,中断服务程序开始工作。为避免外部中断低电平是看门狗将器件(S52)复位,直到外部中断为高电平时,看门狗才开始工作。也就是说在唤醒电源的中断服务程序中应将WDT复位

  进入睡眠模式之前,可以先将WDT复位,以保证在唤醒电源时的初始的几个时钟周期内看门狗不会溢出

  WDIDLE位控制看门狗在空闲状态下是否计数。默认值是0,WDT在空闲状态下继续计数,此时应另设一个时钟使得器件周期性的退出空闲状态,喂狗,以免器件复位。

  8.UART:(暂时用不到,呵呵)

  9.T0和T1:

  10.T2:

  11.波特率发生器

  12.可编程的时钟输出

  13.中断

  14.振荡器特征

  15.空闲状态

  空闲状态下,CPU停止工作,其他外围器件继续工作。可以软件设置进入空闲状态。片上RAM和特殊功能寄存器保持不变。任何有效的的中断可以使器件退出空闲状态,硬件重启也可以退出该状态。

  注意:硬件重启(按下复位键),器件从进入空闲状态的位置接着执行程序,两个机器周期后内部重置算法开始有效。片上硬件可以继续访问RAM中原来的数据,但是不可以访问I/O原来的数据。因此为了不丢失对I/O的操作,进入IDLE状态的位置后,不可以对端口或者外部ST进行操作。

  16.Power-down Mode电源睡眠模式

  振荡器停止工作,Power-down是最后一条执行的指令。片上RAM和SFR中的值会保存直到电源被有效的外部中断或硬件重启信号唤醒。Reset 重新写SFR中的内容,但是不破坏片上RAM中的内容。

  • 微笑
  • 流汗
  • 难过
  • 羡慕
  • 愤怒
  • 流泪