AT87F51:8位微控制器的技术剖析与应用指南
在嵌入式控制应用领域,一款性能卓越且功能丰富的微控制器往往能为工程师们带来更多的设计灵感和便利。AT87F51就是这样一款值得深入探究的8位微控制器,下面将为大家详细介绍它的各项特性、功能及使用要点。
文件下载:AT87F51-24AI.pdf
一、产品概述
AT87F51是一款低功耗、高性能的CMOS 8位微计算机,拥有4K字节的QuickFlash可编程只读存储器。它采用Atmel的高密度非易失性存储技术制造,与行业标准的MCS - 51™指令集和引脚排列兼容。将通用的8位CPU与QuickFlash集成在单芯片上,为众多嵌入式控制应用提供了高度灵活且经济高效的解决方案。
二、关键特性
2.1 内存与性能
- 可编程内存:具备4K字节的用户可编程QuickFlash™内存,可通过传统的非易失性存储器编程器进行用户编程。
- 静态操作:支持全静态操作,频率范围从0 Hz到24 MHz,能适应不同的工作场景。
- 内部RAM:拥有128 x 8位的内部RAM,为数据存储和处理提供了一定的空间。
2.2 外设功能
- I/O端口:32条可编程I/O线,可灵活配置以满足各种输入输出需求。
- 定时器/计数器:两个16位定时器/计数器,可用于定时、计数等功能。
- 中断系统:六个中断源,提供了丰富的中断处理能力,能及时响应外部事件。
- 串行通道:可编程串行通道,支持全双工通信,方便与其他设备进行数据传输。
2.3 低功耗模式
- 空闲模式:CPU进入睡眠状态,而片上外设如RAM、定时器/计数器、串行端口和中断系统仍可继续工作。可通过软件调用,且片上RAM和特殊功能寄存器内容保持不变。可由任何使能的中断或硬件复位终止。
- 掉电模式:振荡器停止工作,调用掉电模式的指令是最后执行的指令。片上RAM和特殊功能寄存器的值会保留,直到通过硬件复位退出该模式。
三、引脚配置与功能
3.1 电源与接地引脚
- (V_{cc}):电源电压引脚,为芯片提供工作所需的电能。
- GND:接地引脚,为电路提供参考电位。
3.2 I/O端口引脚
- 端口0(Port 0):8位开漏双向I/O端口,可作为输出端口时每个引脚能吸收八个TTL输入;写入1时可作为高阻抗输入。还可配置为复用的低阶地址/数据总线,在QuickFlash编程和验证时接收和输出代码字节。
- 端口1(Port 1):8位双向I/O端口,带有内部上拉电阻。输出缓冲器可吸收/源出四个TTL输入,写入1时可作为输入,外部拉低引脚时会因内部上拉电阻而产生电流。在QuickFlash编程和验证时接收低阶地址字节。
- 端口2(Port 2):8位双向I/O端口,带有内部上拉电阻。功能与端口1类似,在访问外部程序和数据存储器时,可发出高阶地址字节。在QuickFlash编程和验证时接收高阶地址位和一些控制信号。
- 端口3(Port 3):8位双向I/O端口,带有内部上拉电阻。除了基本的I/O功能外,还具有多种特殊功能,如串行输入输出、外部中断、定时器外部输入、外部数据存储器读写选通等。
3.3 控制引脚
- RST:复位输入引脚,在振荡器运行时,该引脚高电平持续两个机器周期可复位设备。
- ALE/PROG:地址锁存使能输出脉冲,用于在访问外部存储器时锁存地址的低字节。在QuickFlash编程时作为编程脉冲输入。正常操作时,ALE以振荡器频率的1/6恒定速率发出,可用于外部定时或时钟。可通过设置特殊功能寄存器(SFR)位置8EH的第0位来禁用ALE操作。
- PSEN:程序存储使能引脚,是访问外部程序存储器的读选通信号。在执行外部程序存储器代码时,每个机器周期激活两次,但在访问外部数据存储器时会跳过两次激活。
- (overline{EA} / V{PP}):外部访问使能引脚,(overline{EA})接地可使设备从外部程序存储器地址0000H到FFFFH获取代码;接(V{CC})用于内部程序执行。在QuickFlash编程时,该引脚接收12伏编程使能电压(V_{PP})。
- XTAL1和XTAL2:分别为反相振荡器放大器的输入和输出引脚,可配置为片上振荡器,可使用石英晶体或陶瓷谐振器。若使用外部时钟源,XTAL2应悬空,XTAL1由外部时钟信号驱动。
四、编程与验证
4.1 QuickFlash编程
AT87F51的片上QuickFlash内存阵列可进行编程,编程接口需要12伏的高电压编程使能信号,且与传统的第三方Flash或EPROM编程器兼容。编程算法如下:
- 在地址线上输入所需的内存位置。
- 在数据线上输入适当的数据字节。
- 激活正确的控制信号组合。
- 将(EA/V_{PP})提升到12V。
- 脉冲ALE/PROG一次,对QuickFlash阵列中的一个字节或锁定位进行编程。字节写入周期是自定时的,通常不超过1.5 ms。重复上述步骤,直到完成整个阵列的编程或到达目标文件的末尾。
4.2 数据轮询与状态监测
- 数据轮询:AT87F51具有数据轮询功能,用于指示写周期的结束。在写周期内,尝试读取最后写入的字节时,PO.7上会出现写入数据的补码。写周期完成后,所有输出上的数据才有效,可开始下一个周期。
- Ready/Busy信号:可通过RDY/BSY输出信号监测字节编程的进度。编程时ALE变高后,P3.4被拉低表示忙碌;编程完成后P3.4被拉高表示就绪。
4.3 程序验证与签名字节读取
- 程序验证:若锁定位LB1和LB2未编程,可通过地址和数据线读取编程的代码数据进行验证,但锁定位不能直接验证,需通过观察其功能是否启用进行验证。
- 签名字节读取:通过与正常验证位置030H、031H和032H相同的程序读取签名字节,但需将P3.6和P3.7拉低到逻辑低电平。返回的值分别为(030H) = 1EH(表示由Atmel制造)、(031H) = 87H(表示87F系列)、(032H) = 01H(表示87F51)。
五、电气特性
5.1 绝对最大额定值
- 工作温度:-55°C至+125°C。
- 存储温度:-65°C至+150°C。
- 引脚电压:相对于地为-1.0V至+7.0V。
- 最大工作电压:6.6V。
- 直流输出电流:15.0 mA。
5.2 直流特性
在不同的输入输出条件下,对输入低电压、输入高电压、输出低电压、输出高电压、输入电流、输入泄漏电流等参数都有明确的规定。例如,输入低电压(除EA外)范围为 -0.5至0.2(V_{CC}) - 0.1 V;输出高电压在不同的输出电流和电源电压条件下有不同的值。
5.3 交流特性
包括外部程序和数据存储器的各种时序参数,如ALE脉冲宽度、地址有效到ALE低电平的时间、PSEN脉冲宽度等,这些参数在不同的振荡器频率下有不同的取值范围。
六、订购与封装信息
6.1 订购信息
提供了不同速度(12 MHz、16 MHz、20 MHz、24 MHz)和电源(5V ± 20%)组合下的多种封装选项,包括44A(44引脚薄塑料鸥翼四方扁平封装,TQFP)、44J(44引脚塑料J形引脚芯片载体,PLCC)和40P6(40引脚0.600”宽塑料双列直插封装,PDIP),并区分了商业级(0°C至70°C)和工业级(-40°C至85°C)的工作范围。
6.2 封装尺寸
详细给出了三种封装的尺寸信息,包括毫米和英寸两种单位,方便工程师在设计PCB时进行布局。
七、总结与思考
AT87F51以其丰富的功能、低功耗特性和灵活的编程方式,在嵌入式控制领域具有广泛的应用前景。工程师们在使用时,需要根据具体的应用需求合理配置引脚、选择合适的工作模式,并严格遵守电气特性的要求,以确保芯片的稳定运行。同时,对于编程和验证过程中的细节,如锁定位的设置和数据轮询的使用,也需要深入理解和掌握。大家在实际应用中是否遇到过类似芯片的使用问题呢?又是如何解决的呢?欢迎在评论区分享交流。
-
嵌入式控制
+关注
关注
0文章
69浏览量
14763 -
AT87F51
+关注
关注
0文章
2浏览量
7023 -
8位微控制器
+关注
关注
0文章
61浏览量
1334
发布评论请先 登录
AT87F51:8位微控制器的技术剖析与应用指南
评论