AT89C1051:高性能8位微控制器的全面解析

电子说

1.4w人已加入

描述

AT89C1051:高性能8位微控制器的全面解析

在嵌入式控制应用领域,选择一款合适的微控制器至关重要。AT89C1051作为一款低电压、高性能的CMOS 8位微计算机,凭借其丰富的特性和出色的性能,为众多嵌入式控制应用提供了高度灵活且经济高效的解决方案。

文件下载:AT89C1051-12SI.pdf

一、AT89C1051特性概览

1. 内存与兼容性

AT89C1051具备1K字节的可重编程闪存,可进行1000次写/擦除循环。它与MCS - 51™产品兼容,能使用MCS - 51指令集进行编程,这使得开发者可以利用已有的MCS - 51开发经验。

2. 工作范围与模式

其工作电压范围为2.7V至6V,支持完全静态操作,频率范围从0 Hz到24 MHz。同时,它拥有两级程序内存锁,64字节SRAM,15个可编程I/O线,一个16位定时器/计数器,三个中断源,还能直接驱动LED输出,片上集成了模拟比较器,具备低功耗空闲和掉电模式。

二、引脚配置与功能

1. 引脚分布

AT89C1051采用PDIP/SOIC封装,引脚包括电源引脚(VCC、GND)、复位引脚(RST)、晶振引脚(XTAL1、XTAL2)、I/O端口引脚(Port 1、Port 3)等。

2. 端口功能

  • Port 1:8位双向I/O端口,P1.2 - P1.7有内部上拉电阻,P1.0和P1.1需外部上拉电阻。P1.0和P1.1还作为片上精密模拟比较器的正、负输入。该端口输出缓冲器可吸收20 mA电流,能直接驱动LED显示。在闪存编程和验证时,Port 1接收代码数据。
  • Port 3:P3.0 - P3.5、P3.7为七个带内部上拉电阻的双向I/O引脚,P3.6硬连线为片上比较器输出的输入,不可作为通用I/O引脚。Port 3输出缓冲器可吸收20 mA电流,还具备多种特殊功能,如P3.2为外部中断0(INT0),P3.3为外部中断1(INT1),P3.4为定时器0外部输入(T0)。在闪存编程和验证时,Port 3接收一些控制信号。

    3. 其他引脚

  • RST:复位输入,RST变高时,所有I/O引脚复位为1。在振荡器运行时,将RST引脚保持高电平两个机器周期可复位设备。
  • XTAL1和XTAL2:用于连接晶振或陶瓷谐振器,构成片上振荡器。也可使用外部时钟源,此时XTAL2不连接,XTAL1由外部时钟信号驱动。

三、特殊功能寄存器与指令限制

1. 特殊功能寄存器(SFR)

SFR空间的部分地址被占用,未占用地址可能未在芯片上实现。读取这些未占用地址通常返回随机数据,写入操作效果不确定。用户软件不应向未列出的位置写入1,以免影响未来产品新特性的使用。

2. 指令限制

  • 分支指令:如LCALL、LJMP等无条件分支指令和CJNE、DJNZ等条件分支指令,目标地址必须在设备的物理程序内存空间(00H - 3FFH)内,否则可能导致程序行为异常。
  • MOVX相关指令:AT89C1051内部数据内存为64字节,不支持外部数据内存访问和外部程序内存执行,因此程序中不应包含MOVX指令。

四、工作模式

1. 空闲模式

在空闲模式下,CPU进入睡眠状态,片上外设保持活跃。该模式由软件调用,片上RAM和特殊功能寄存器内容不变。可通过任何使能的中断或硬件复位终止空闲模式。需注意,若使用硬件复位终止空闲模式,设备通常会从内部复位算法接管前最多两个机器周期处恢复程序执行。为避免复位终止空闲模式时意外写入端口引脚,调用空闲模式的指令之后不应是向端口引脚或外部内存写入的指令。

2. 掉电模式

掉电模式下,振荡器停止,调用掉电的指令是最后执行的指令。片上RAM和特殊功能寄存器保留其值,直到掉电模式终止。退出掉电模式的唯一方式是硬件复位,复位会重新定义SFR,但不改变片上RAM。复位应在VCC恢复到正常工作水平后激活,并保持足够长时间以使振荡器重启并稳定。

五、闪存编程与验证

1. 编程前准备

AT89C1051出厂时,1K字节的片上PEROM代码内存阵列处于擦除状态(内容为FFH),可随时编程。编程时,代码内存阵列一次写入一个字节,若要重新编程非空白字节,需先对整个内存阵列进行电擦除。

2. 编程算法

  • 上电:在VCC和GND引脚之间施加电源,将RST和XTAL1置为GND。
  • 设置引脚:将RST置为‘H’,P3.2置为‘H’。
  • 选择编程操作:通过对P3.3、P3.4、P3.5、P3.7引脚施加适当的逻辑电平,选择编程操作。
  • 写入数据:将000H位置的代码字节数据施加到P1.0 - P1.7。
  • 启动编程:将RST升高到12V以启用编程,脉冲P3.2一次以编程PEROM阵列或锁定位,字节写入周期自动计时,通常需要1.2 ms。
  • 验证数据:将RST从12V降至逻辑‘H’电平,设置P3.3 - P3.7引脚到适当电平,在P1端口读取输出数据。
  • 继续编程:脉冲XTAL1引脚一次以推进内部地址计数器,将新数据施加到P1端口引脚,重复上述步骤,直到完成整个1K字节阵列的编程或到达目标文件末尾。
  • 下电:将XTAL1置为‘L’,RST置为‘L’,关闭VCC电源。

    3. 数据监测与验证

  • 数据轮询:AT89C1051具有数据轮询功能,在写入周期中,尝试读取最后写入的字节会在P1.7上得到写入数据的补码。写入周期完成后,所有输出上的数据有效,可开始下一个周期。
  • Ready/Busy信号:可通过RDY/BSY输出信号监测字节编程进度。编程时,P3.2变高后P3.1被拉低表示BUSY,编程完成后P3.1被拉高表示READY。
  • 程序验证:若锁定位LB1和LB2未编程,可通过数据线读取代码数据进行验证。

六、电气特性

1. 绝对最大额定值

AT89C1051的绝对最大额定值包括工作温度(-55°C至+125°C)、存储温度(-65°C至+150°C)、引脚电压(-1.0V至+7.0V)、最大工作电压(6.6V)和直流输出电流(25.0 mA)。超过这些额定值可能导致设备永久性损坏。

2. DC特性

在不同工作条件下,AT89C1051的输入输出电压、电流等参数有相应的规定。例如,输入低电压(VIL)范围为 - 0.5V至0.2Vcc - 0.1V,输出低电压(VoL)在不同负载电流和Vcc条件下有不同的最大值。

七、订购信息

AT89C1051有不同的速度(12 MHz和24 MHz)和电源电压(2.7V - 6.0V、4.0V - 6.0V)可供选择,封装类型包括20P3(20引脚,0.300”宽,塑料双列直插封装)和20S(20引脚,0.300”宽,塑料鸥翼小外形封装),适用于商业(0°C至70°C)、工业(-40°C至85°C)和汽车(-40°C至105°C)等不同应用场景。

AT89C1051凭借其丰富的功能、灵活的工作模式和良好的电气特性,在嵌入式控制领域具有广泛的应用前景。电子工程师在设计时,需充分了解其特性和限制,合理选择编程指令和工作模式,以实现最佳的设计效果。大家在使用AT89C1051的过程中,有没有遇到过什么特别的问题呢?欢迎在评论区分享交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分