探索AT87F52:8位微控制器的性能与应用
在嵌入式控制领域,AT87F52这款低功耗、高性能的CMOS 8位微控制器凭借其丰富的功能和出色的性能,成为众多工程师的选择。本文将深入剖析AT87F52的特性、引脚功能、寄存器配置以及工作模式,为电子工程师在设计中提供全面的参考。
文件下载:AT87F52-24AC.pdf
一、AT87F52概述
AT87F52具有8K字节的QuickFlash可编程只读存储器,采用Atmel高密度非易失性存储技术,与行业标准的80C51和80C52指令集及引脚兼容。它将8位CPU与QuickFlash集成在单芯片上,为嵌入式控制应用提供了高灵活性和成本效益的解决方案。不过需要注意的是,该产品不推荐用于新设计,建议使用AT89S52。
(一)主要特性
- 内存与性能:拥有8K字节的用户可编程QuickFlash内存,256 x 8位内部RAM,可满足不同应用的存储需求。其全静态操作频率范围为0 Hz至24 MHz,能适应多种工作场景。
- 外设资源:具备32个可编程I/O线、三个16位定时器/计数器、八个中断源和可编程串行通道,为系统的控制和通信提供了丰富的资源。
- 低功耗模式:支持低功耗空闲和掉电模式,可有效降低系统功耗,延长设备的续航时间。
二、引脚功能详解
(一)电源与接地引脚
- (V_{CC}):供电电压引脚,为芯片提供所需的电源。
- GND:接地引脚,确保芯片的电气参考地。
(二)I/O端口引脚
- Port 0:8位开漏双向I/O端口,可作为输出端口,每个引脚能吸收八个TTL输入;也可作为高阻抗输入引脚。在访问外部程序和数据存储器时,可配置为复用的低地址/数据总线。在QuickFlash编程和验证时,用于接收和输出代码字节。
- Port 1:8位双向I/O端口,具有内部上拉电阻。除了基本的I/O功能外,P1.0和P1.1还可分别配置为定时器/计数器2的外部计数输入和触发输入。在QuickFlash编程和验证时,接收低地址字节。
- Port 2:同样是8位双向I/O端口,有内部上拉电阻。在访问外部程序和数据存储器时,根据不同的地址模式,输出高地址字节或P2特殊功能寄存器的内容。在QuickFlash编程和验证时,接收高地址位和一些控制信号。
- Port 3:8位双向I/O端口,具备内部上拉电阻。除了基本I/O功能外,还承担了各种特殊功能,如串行输入输出、外部中断、定时器外部输入等。在QuickFlash编程和验证时,接收一些控制信号。
(三)控制引脚
- RST:复位输入引脚,在振荡器运行时,该引脚高电平持续两个机器周期可复位设备。
- ALE/PROG:地址锁存使能引脚,在访问外部存储器时输出脉冲用于锁存低地址字节;在QuickFlash编程时作为程序脉冲输入。
- PSEN:程序存储使能引脚,用于读取外部程序存储器。
- (overline{EA} / V{PP}):外部访问使能引脚,连接到GND可使设备从外部程序存储器获取代码;连接到(V{CC})用于内部程序执行。在QuickFlash编程时,接收12伏编程使能电压。
- XTAL1和XTAL2:用于连接晶体或陶瓷谐振器,构成片上振荡器;也可使用外部时钟源驱动,此时XTAL2不连接,XTAL1接收外部时钟信号。
三、特殊功能寄存器
(一)SFR映射
AT87F52的特殊功能寄存器(SFR)空间映射如表1所示,包含了各种控制和状态寄存器,如累加器(ACC)、程序状态字(PSW)、定时器/计数器控制寄存器等。需要注意的是,并非所有地址都被占用,未占用的地址可能未在芯片上实现,读写这些地址可能会返回随机数据或产生不确定的影响。
(二)定时器2寄存器
定时器2是一个16位的定时器/计数器,可作为定时器或事件计数器使用。其控制和状态位包含在T2CON和T2MOD寄存器中,捕获/重载寄存器(RCAP2H,RCAP2L)用于16位捕获模式或16位自动重载模式。定时器2有捕获、自动重载(向上或向下计数)和波特率发生器三种工作模式,通过T2CON中的位进行选择。
1. 捕获模式
当EXEN2 = 0时,定时器2作为16位定时器或计数器,溢出时设置TF2位,可用于产生中断。当EXEN2 = 1时,除了溢出设置TF2位外,外部输入T2EX的1到0过渡还会将TH2和TL2的当前值捕获到RCAP2H和RCAP2L中,并设置EXF2位,EXF2位也可用于产生中断。
2. 自动重载模式
在16位自动重载模式下,定时器2可配置为向上或向下计数。当DCEN = 0时,定时器2默认向上计数;当DCEN = 1时,T2EX引脚控制计数方向,逻辑1使定时器2向上计数,逻辑0使定时器2向下计数。
3. 波特率发生器模式
通过设置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接收外部时钟信号。
(二)低功耗模式
- 空闲模式:CPU进入睡眠状态,片上外设保持活动。该模式由软件调用,片上RAM和特殊功能寄存器的内容保持不变。可通过任何启用的中断或硬件复位终止空闲模式。
- 掉电模式:振荡器停止,调用掉电模式的指令是最后执行的指令。片上RAM和特殊功能寄存器保留其值,直到掉电模式终止。唯一的退出方式是硬件复位,复位会重新定义SFR,但不会改变片上RAM。
六、程序存储器锁定与编程
(一)程序存储器锁定位
AT87F52有三个锁定位,可通过编程获得不同的保护特性,如禁止从内部存储器获取代码字节、禁止进一步编程等。
(二)QuickFlash编程
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文章
69浏览量
14763 -
8位微控制器
+关注
关注
0文章
61浏览量
1334
发布评论请先 登录
探索AT87F52:8位微控制器的性能与应用
评论