电子说
在嵌入式系统设计领域,微控制器的选择对于产品的性能、功能和成本有着至关重要的影响。T89C5115作为一款基于80C51核心架构的高性能8位微控制器,凭借其丰富的外设资源、出色的性能和低功耗特性,在工业控制、消费电子等众多领域得到了广泛应用。今天,我们就来深入剖析一下这款微控制器的特点和应用。
文件下载:T89C5115-TISUM.pdf
T89C5115采用80C51核心架构,拥有256字节的片上RAM和256字节的片上XRAM,为数据存储和处理提供了充足的空间。此外,它还配备了16KB的片上Flash存储器,数据保留时间长达10年(85°C环境下),擦写周期可达100K次,能很好满足大多数程序和数据存储的需求。同时,还有2KB的片上Flash用于引导加载程序,2KB的片上EEPROM,擦写周期同样为100K次,可用于存储重要的非易失性数据。
T89C5115提供了多种封装形式,如SOIC28、SOIC24、PLCC28、VQFP32等,用户可以根据实际需求进行选择。不同封装的引脚配置有所不同,但主要引脚的功能基本一致。
在使用这些引脚时,需要注意一些细节。例如,当选择P1端口的模拟功能时,内部上拉电阻可以禁用;在进行I/O操作时,要注意引脚的驱动能力和电平匹配问题,以确保系统的稳定性和可靠性。
T89C5115的核心每个机器周期仅需6个时钟周期,这种“X2”特性带来了诸多优势。它可以将晶体频率降低一半,使用更廉价的晶体,同时保持相同的CPU性能;在保持CPU性能的前提下,还能节省振荡器的功耗;在运行和空闲模式下,通过将动态工作频率降低一半,进一步节省功耗;此外,在相同晶体频率下,还能使CPU性能提升一倍。
为了保持与原始C51的兼容性,在XTAL1信号和核心的主时钟输入之间插入了一个二分频器,该分频器可以通过软件禁用。通过硬件安全字节中的X2B位,还可以在复位后启用X2模式。
T89C5115实现了两种电源降低模式:空闲模式和掉电模式。在空闲模式下,程序执行暂停,CPU时钟冻结,但外设和中断系统仍在运行,CPU进入该模式前的状态得以保留。进入空闲模式只需设置PCON寄存器中的IDL位,退出则可以通过产生使能中断或复位信号来实现。
在掉电模式下,振荡器停止工作,所有时钟冻结,CPU进入该模式前的状态同样被保留。进入掉电模式需要设置PCON寄存器中的PD位,退出可以通过产生使能外部中断或复位信号来实现。需要注意的是,在掉电模式期间,如果VDD电压降低,必须等到VDD恢复到正常工作水平后再退出该模式。
此外,通过X2模式,还可以动态地将核心和外设的时钟频率降低一半,进一步降低系统功耗。
T89C5115的数据内存分为内部空间和外部空间。内部空间又分为三个独立的段:低128字节的RAM段、高128字节的RAM段和256字节的扩展RAM段(XRAM)。此外,还有一个专门用于特殊功能寄存器(SFR)的段,地址范围为80h至FFh,可通过直接寻址方式访问。
低128字节的RAM可以使用直接或间接寻址方式访问,其中最低的32字节被分为4个寄存器组(R0 - R7),可通过PSW寄存器中的RS0和RS1位来选择使用哪个寄存器组,这有助于提高代码空间的使用效率。
高128字节的RAM只能使用间接寻址方式访问,而片上256字节的扩展RAM(XRAM)则需要通过MOVX指令使用间接寻址方式访问。需要注意的是,这些RAM都是易失性存储器,上电后其内容是不确定的,需要进行初始化。
为了提高代码执行速度和减少代码大小,T89C5115实现了第二个数据指针。DPTR0和DPTR1被CPU视为DPTR,可以通过SFR地址83h和84h(即DPH和DPL地址)进行访问。AUXR1寄存器中的DPS位用于选择使用哪个数据指针,软件可以利用这两个数据指针实现块操作,如数据复制、比较等,提高系统的处理效率。
T89C5115拥有16KB的片上程序/代码内存,采用Flash技术,支持在线电路擦除和编程。通过内部电荷泵,利用标准的VDD电压即可在片上产生编程或擦除Flash单元所需的高电压,因此可以使用单电压进行编程,支持在线系统编程(ISP),也可以使用特定的编程工具进行硬件编程。
该微控制器有两个片上Flash存储器:FM0包含16KB的程序内存(用户空间),组织为128字节的页面;FM1包含2KB的引导加载程序和应用编程接口(API)。FM0可以通过并行编程和串行ISP进行编程,而FM1仅支持通过编程器进行并行编程。
T89C5115的串行I/O端口与80C52兼容,支持同步和异步通信模式,可作为通用异步接收器和发送器(UART)在三种全双工模式下工作。该端口还具备帧错误检测和自动地址识别等增强功能。
通过设置PCON寄存器中的SMOD0位,可以启用帧错误检测功能,接收器会检查每个输入数据帧的停止位是否有效,如果检测到无效停止位,会设置SCON寄存器中的FE位。
当SCON寄存器中的SM2位被设置时,自动地址识别功能将被启用。该功能允许串行端口检查每个输入命令帧的地址,只有当识别到自己的地址时,才会设置SCON寄存器中的RI位,产生中断,从而避免CPU被其他设备的命令帧中断。
T89C5115实现了两个通用的16位定时器/计数器(定时器0和定时器1),以及一个与80C52兼容的16位定时器/计数器(定时器2)。这些定时器/计数器可以独立配置为定时器或事件计数器,以多种模式工作。
定时器/计数器的基本操作是将THx和TLx寄存器(x = 0, 1, 2)级联形成一个16位定时器。通过设置TCON寄存器中的TRx位,可以启动定时器,其计数源可以通过C/Tx#位选择为内部时钟或外部引脚信号。
定时器0有四种工作模式,定时器1有三种工作模式,定时器2则具有自动重载模式(可作为向上或向下计数器)和可编程时钟输出模式等增强功能。
PCA为系统提供了更多的定时功能,且减少了CPU的干预,具有降低软件开销和提高精度的优点。它由一个专用的定时器/计数器作为时间基准,以及一组两个比较/捕获模块组成。其时钟输入可以编程为计数多种信号,如PCA时钟频率的1/6、1/2,定时器0的溢出信号,或ECI(P1.2)引脚上的外部输入信号。
每个比较/捕获模块可以编程为多种模式,如上升和/或下降沿捕获、软件定时器、高速输出、脉冲宽度调制器等。当模块执行其功能时,可以产生中断,两个模块和PCA定时器溢出共享一个中断向量。
T89C5115集成了一个10位的模数转换器,具有8个ADC通道,可用于采样外部模拟信号。该ADC支持标准转换(8位)和精确转换(10位)两种模式。
在精确转换模式下,需要设置ADCON寄存器中的PSIDLE位并启动转换,此时设备进入伪空闲模式,CPU停止运行,但外设仍在工作,以确保高分辨率转换所需的低数字噪声环境。该模式需要使用转换完成中断来唤醒设备。
ADC的转换时间约为16微秒,具有较高的精度,零误差(偏移)最大为±2 LSB,积分非线性典型值为1 LSB,最大值为2 LSB,差分非线性典型值为0.5 LSB,最大值为1 LSB。
T89C5115微控制器以其丰富的功能、出色的性能和低功耗特性,为电子工程师提供了一个强大而灵活的设计平台。在实际应用中,我们可以根据具体需求合理配置其引脚、时钟、电源管理和外设功能,实现高效、稳定和可靠的系统设计。
你是否在项目中使用过类似的微控制器?在设计过程中遇到过哪些挑战?欢迎在评论区分享你的经验和见解。
全部0条评论
快来发表一下你的评论吧 !