电子说
在嵌入式控制应用领域,AT89S53这款低功耗、高性能的CMOS 8位微计算机凭借其丰富的特性和强大的功能,成为众多工程师的选择。尽管它已不推荐用于新设计,建议使用AT89S8253,但了解它的特性和工作原理,对于深入理解微控制器的设计和应用仍具有重要意义。
文件下载:AT89S53-24AC.pdf
AT89S53有PDIP、TQFP和PLCC等不同封装形式,每种封装的引脚排列都有其特定的功能。例如,P0口可作为8位开漏双向I/O口,也可配置为复用的低地址/数据总线;P1口除了基本的I/O功能外,部分引脚还具备额外功能,如P1.0和P1.1可配置为定时器/计数器2的外部计数输入和触发输入。
| 引脚 | 功能 |
|---|---|
| VCC | 电源电压 |
| GND | 接地 |
| P0 | 8位开漏双向I/O口,可复用为低地址/数据总线 |
| P1 | 8位双向I/O口,部分引脚有额外功能 |
| P2 | 8位双向I/O口,用于输出高地址字节 |
| P3 | 8位双向I/O口,具备多种特殊功能 |
| RST | 复位输入 |
| ALE/PROG | 地址锁存使能,Flash编程时为程序脉冲输入 |
| PSEN | 程序存储使能 |
| EA/VPP | 外部访问使能 |
| XTAL1 | 振荡器放大器输入 |
| XTAL2 | 振荡器放大器输出 |
| AT89S53的特殊功能寄存器(SFR)空间包含了控制和状态信息。部分SFR的复位值和功能如下: | 地址 | 寄存器 | 复位值 | 功能 |
|---|---|---|---|---|
| 0F0H | B | 00000000 | 通用寄存器 | |
| 0E0H | ACC | 00000000 | 累加器 | |
| 0D0H | PSW | 00000000 | 程序状态字 | |
| 0C8H | T2CON | 00000000 | 定时器/计数器2控制寄存器 | |
| 0C9H | T2MOD | XXXXXX00 | 定时器/计数器2模式控制寄存器 | |
| 96H | WCON | 00000010 | 看门狗控制寄存器 | |
| D5H | SPCR | 000001XX | SPI控制寄存器 | |
| AAH | SPSR | 00XXXXXX | SPI状态寄存器 | |
| 86H | SPDR | 不变 | SPI数据寄存器 |
定时器2是一个16位的定时器/计数器,可作为定时器或事件计数器使用,具有捕获、自动重载(向上或向下计数)和波特率发生器三种工作模式。其控制和状态位包含在T2CON和T2MOD寄存器中。
看门狗定时器(WDT)从独立的振荡器运行,其预分频器位PS0、PS1和PS2可设置定时器周期从16ms到2048ms。WDT通过设置WCON寄存器中的WDTEN位启用,通过设置WDTRST位复位。
SPI接口的控制和状态位包含在SPCR和SPSR寄存器中,SPI数据位包含在SPDR寄存器中。SPI具有全双工、3线同步数据传输、主/从操作等特性。
AT89S53实现了256字节的RAM,其中上128字节的RAM与SFR空间地址相同,但物理上是分开的。指令通过直接寻址访问SFR空间,通过间接寻址访问上128字节的RAM。
可编程看门狗定时器(WDT)从独立的振荡器运行,可通过设置WCON寄存器中的预分频器位来设置定时器周期。WDT在上电复位和掉电期间禁用,通过设置WDTEN位启用,通过设置WDTRST位复位。当WDT超时未复位或禁用时,会产生内部RST脉冲来复位CPU。
定时器0和1的操作方式与AT89C51、AT89C52和AT89C55中的定时器0和1相同。
定时器2是一个16位的定时器/计数器,可作为定时器或事件计数器使用,具有捕获、自动重载(向上或向下计数)和波特率发生器三种工作模式。
可以在P1.0引脚输出50%占空比的时钟,时钟输出频率取决于振荡器频率和定时器2捕获寄存器(RCAP2H,RCAP2L)的重载值,计算公式为: [Clock - Out Frequency =frac{ Oscillator Frequency }{4 times[65536-( RCAP2H, RCAP2L)]}]
AT89S53的UART操作方式与AT89C51、AT89C52和AT89C55中的UART相同。
SPI接口允许AT89S53与外围设备或多个AT89S53设备之间进行高速同步数据传输,具有全双工、3线同步数据传输、主/从操作、1.5MHz最大位频率等特性。
AT89S53凭借其丰富的功能和特性,在嵌入式控制应用中发挥了重要作用。尽管它已不推荐用于新设计,但对于学习和理解微控制器的工作原理和应用仍具有重要价值。在实际设计中,工程师可以根据具体需求选择合适的微控制器,并充分利用其各种功能来实现高效、稳定的嵌入式系统。你在使用类似微控制器时,是否也遇到过一些有趣的问题呢?欢迎在评论区分享你的经验。
全部0条评论
快来发表一下你的评论吧 !