电子说
在嵌入式控制领域,AT87F52这款低功耗、高性能的CMOS 8位微控制器凭借其丰富的功能和出色的性能,成为众多工程师的选择。本文将深入剖析AT87F52的特性、引脚功能、寄存器配置以及工作模式,为电子工程师在设计中提供全面的参考。
文件下载:AT87F52-24AC.pdf
AT87F52具有8K字节的QuickFlash可编程只读存储器,采用Atmel高密度非易失性存储技术,与行业标准的80C51和80C52指令集及引脚兼容。它将8位CPU与QuickFlash集成在单芯片上,为嵌入式控制应用提供了高灵活性和成本效益的解决方案。不过需要注意的是,该产品不推荐用于新设计,建议使用AT89S52。
AT87F52的特殊功能寄存器(SFR)空间映射如表1所示,包含了各种控制和状态寄存器,如累加器(ACC)、程序状态字(PSW)、定时器/计数器控制寄存器等。需要注意的是,并非所有地址都被占用,未占用的地址可能未在芯片上实现,读写这些地址可能会返回随机数据或产生不确定的影响。
定时器2是一个16位的定时器/计数器,可作为定时器或事件计数器使用。其控制和状态位包含在T2CON和T2MOD寄存器中,捕获/重载寄存器(RCAP2H,RCAP2L)用于16位捕获模式或16位自动重载模式。定时器2有捕获、自动重载(向上或向下计数)和波特率发生器三种工作模式,通过T2CON中的位进行选择。
当EXEN2 = 0时,定时器2作为16位定时器或计数器,溢出时设置TF2位,可用于产生中断。当EXEN2 = 1时,除了溢出设置TF2位外,外部输入T2EX的1到0过渡还会将TH2和TL2的当前值捕获到RCAP2H和RCAP2L中,并设置EXF2位,EXF2位也可用于产生中断。
在16位自动重载模式下,定时器2可配置为向上或向下计数。当DCEN = 0时,定时器2默认向上计数;当DCEN = 1时,T2EX引脚控制计数方向,逻辑1使定时器2向上计数,逻辑0使定时器2向下计数。
通过设置T2CON中的TCLK和/或RCLK,可将定时器2选择为波特率发生器。该模式下,TH2的溢出会使定时器2寄存器重新加载RCAP2H和RCAP2L中的16位值。波特率由定时器2的溢出率决定,计算公式为:Modes 1 and 3 Baud Rates = Timer 2 Overflow Rate / 16 。
AT87F52共有六个中断向量,包括两个外部中断(INT0和INT1)、三个定时器中断(定时器0、1和2)和串行端口中断。这些中断源可通过特殊功能寄存器IE中的位单独启用或禁用,IE还包含一个全局禁用位EA,可一次性禁用所有中断。
XTAL1和XTAL2可配置为片上振荡器的输入和输出,可使用石英晶体或陶瓷谐振器。也可使用外部时钟源驱动,此时XTAL2不连接,XTAL1接收外部时钟信号。
AT87F52有三个锁定位,可通过编程获得不同的保护特性,如禁止从内部存储器获取代码字节、禁止进一步编程等。
AT87F52的片上QuickFlash存储器阵列可通过常规的第三方Flash或EPROM编程器进行编程。编程时需要高电压(12伏)编程使能信号,采用字节编程方式。编程算法包括设置地址、数据和控制信号,将(overline{EA} / V_{PP})升至12V,脉冲ALE/PROG进行字节编程。编程过程中可通过数据轮询和RDY/BSY输出信号监测编程进度,编程完成后可进行程序验证。
文档提供了AT87F52的绝对最大额定值、直流特性和交流特性等详细电气参数,工程师在设计时需确保芯片工作在这些参数范围内,以保证芯片的正常运行和可靠性。
AT87F52提供了不同速度和封装形式的产品,可根据实际需求选择合适的型号。例如,不同的速度选项(12 MHz、16 MHz、20 MHz、24 MHz)和封装类型(44A、44J、40P6等),以满足不同应用场景的要求。
总之,AT87F52作为一款功能强大的8位微控制器,在嵌入式控制领域有着广泛的应用前景。电子工程师在设计过程中,需要深入了解其特性、引脚功能、寄存器配置和工作模式,合理利用其资源,以实现高效、稳定的系统设计。大家在实际应用中是否遇到过一些特殊的问题呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !