您当前的位置:五五电子网电子知识单片机-工控设备综合-其它X25165芯片在8051系统中的应用 正文
X25165芯片在8051系统中的应用

X25165芯片在8051系统中的应用

点击数:7667 次   录入时间:03-04 11:51:34   整理:http://www.55dianzi.com   综合-其它

   美国Xicor公司生产的Z25165芯片是集看门狗、电压监控和串行EEPROM三项功能于一体的集成电路产品。该芯片的应用将有利于简化单片机系统的结构,降低系统的成本,减少对电路板的空间需求,增加系统的可靠性。

1 芯片简介

    X25165的引脚排列如图1所示,各引脚功能说明如表1所列。

    X25165使用简单的三线总线串行外设接口(SPI),对芯片进行操作的所有操作码、字节地址及写入的数据均从SI引脚输入,写入数据在串行时钟(SCK)的上升沿被锁存,从芯片读取的数据从SO引脚串行移出,并在串行时钟的下降沿输出数据。

    芯片的看门狗定时器和Vcc电压监视器都对微处理器提供独立的保护,当系统发生故障时,只要看门狗定时器达到其可编程的超时极限,RESET引脚立即自动产生一个持续200ms的高电平复位信号。当电源电压Vcc降到4.5V以下时,RESET引脚立即自动产生主电平复位信号,并一直保护到电源电压恢复正常。在系统电源上电或掉电时,RESET引脚也立即自动产生一个高电平复位信号。这样,就能有效地防止系统死机、数据误写及误操作等故障现象的发生。

表1 X25165芯片在8051系统中的应用

引脚名

说   明

CS 片选输入(低电平有效) SO 串行输出 SI 串行输入 SCK 串行时钟输入 WP EEPROM写保护输入 RESET 复位信号输出 Vss 地 Vcc 电源电压

    X25165芯片内部有2k×8位的串行EEPROM,每个字节可以擦写10万次以上,内部数据可以保存100年以上。应用时,可以通过编程对指定的块进行锁定,以防止由于误操作等原因破坏保存的数据。

2 工作原理

2.1 指令

    X25165共有七条指令(见表2),对芯片的所有操作都需要通过对指令寄存器写命令来完成,所有的指令、地址、数据均以高位在前的方式(MSB)串行传送。

表2 指令集

指令名 指令格式 操   作 WREN 0000 0110 设置写使能锁存器(允许写操作) SFLB 0000 0000 设置FLB位 VRDI/RFLB 0000 0100 复位写使能锁存器/复位FLB位 RDSR 0000 0101 读状态寄存器 WRSR 0000 0001 写状态寄存器 READ 0000 0011 从指定的起始地址开始读数据 WRITE 0000 0010 将数据写到指定的存储单元

2.2 状态寄存器

    X25165内有一个八位状态寄存器,在任何时候都可以通过RDSR指令来读取状态寄存器的内容,也可以通过WREN,SFLB,WRSR等指令来设置状态寄存器中的某些位。状态寄存器的格式如下:

7 6 5 4 3 2 1 0 WPEN FLB WD1 WD0 BL1 BL0 WEL WIP

    WIP:是一个只读位,用于指示芯片是否正忙于内部非易失性的写操作。

    WEL:写使能,指示当前写使能锁存器的状态;

    BL1、BL0:设置EEPROM的块保护地址范围,见表3;

表3 块保护地址范围

BL1 BL0 被保护的地址范围 0 0 无 0 1 $0600……$07FF 1 0 $0400……$07FF 1 1 $0000……$07FF

    WD0、WD1:选择看门狗的超时周期,见表4;

表4 看门狗定时器的超时周期

WD1 WD0 看门狗超时周期 0 0 1.4秒 0 1 600毫秒 1 0 200毫秒 1 1 禁止

    FLB:只读位,指示一个易失位的状态,可用SFLB和RFLB指令进行置位和清零,上电时该位自动清零;

    WPEN:为非易失位,可用WRSR指令进行编程,该位和WP引脚配合使用能以编程方式实现对硬件的写保护(见表5)。当WP引脚为低电平且WPEN位被置位时,所有状态寄存器的写操作被禁止。

表5 块保护矩阵

状态寄存器 状态寄存器 芯片引脚 EEPROM EEPROM 状态寄存器 WEL WPEN WP 被保护块 未保护块 WPEN,BL0,BL1,WD0.WD1,BITS 0 × × 保护 保护 保护 1 1 0 保护 可写 保护 1 0 × 保护 可写 可写 1 × 1 保护 可写 可写

3 芯片应用

3.1 硬件接口电路

    在一个8051单片机系统中可按照图2的连接方式使用该芯片。

3.2 软件接口设计

    根据图2的连接方式,笔者编写了七个实用的应用接口程序,供大家参考。

    a.串行输出了程序

    将累加器A中的数据按照高位在前的顺序(MSB)串行输出至X25165芯片中。

    WD-OUTB:MOV R7,#08H;有8位数据要传输

    WD-OUTB1:CLR P1.2;使SCK为低电平

    RLC A ;将输出位移入C

    MOV P1.1,C;进位位移入SI

    SEIB P1.2;使SCK位为高电平

    DJNZ R7,WD-OUTB1;判断循环是否结束

    CLR P1.1;清SI

    RET

    b.串行输入子程序

    将1字节的数据按照高位在前的顺序(MSB)从X25165中串行读入累加器A中。

    WD-INB:MOV R7,#08H;有8位数据要接收

    WD-INB1:SETB P1.2;产生SCK脉冲

    CLR P1.2 ;

    MOV C, P1.0 ;S0移入进位位C

    RLC A ;累加器A带进位位去移

    DJNZ R7, WD-INB1;判断循环是否结束

    RET

    c.读状态寄存器子程序

    用于从X25165中读状态寄存器内容,读出的内容存放在A中。

    WD-RD-SR:CLR P1.2 ;使SCK为低电平

    CLR P1.3 ;芯片选择CS有效

    MOV A,#05H ;RDSR指令送累加器A

    LCALL WD-OUTB ;输出RDSR指令

    LCALL WD-INB ;读取状态寄存器内容

    CLR P1.2 ;使SCK为低电平

    SETB P1.3 ;芯片选择CS无效

    RET

    d.写状态寄存子程序

[1] [2]  下一页


本文关键字:暂无联系方式综合-其它单片机-工控设备 - 综合-其它

《X25165芯片在8051系统中的应用》相关文章>>>