DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1711|回复: 1
打印 上一主题 下一主题

[待整理] AT93C46/56/55串行EEPROM及单片机程序

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 09:57:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AT93C46/56/55串行EEPROM及单片机程序

摘要:AT93C46/56/66是Atmel公司生产的低功耗、低电压、电可擦除、可编程只读存储器,采用CMOS工艺技术制造并带有3线串行接口,其容量分别为1kB/4kB,可重复写100万次,数据可保存100年以上。文中介绍了该存储器的引脚功能和指令时序,给出了AT93C46/56/66和单片机的接口应用电路和软件程序。    关键词:EEPROM 存储器 接口应用 程序 AT93C46/56/66
16位单片机以其适于高速控制场合及功能多等优点已在工业控制领域中占领了一定的市场。由于EEPROM能在不脱离系统的情况下修改其存储单元中的内容,故在16位单片机中的应用愈来愈广泛。本文结合16位机的特点,详细介绍AT93系列EEPROM及其使用方法。
AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器。它采用CMOS技术和Fairchild Semiconductor 公司的Mi-croWire工业标准3线串行接口,具有1kB/2kB/4kB的容量,并可通过ORG管脚配置成128×8/256×8/512×8或64×16/128×16/256×16等结构。该系列存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;采用8脚PDIP/SOIC封装和14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM相比,AT93C46/56/66可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。

1 引脚功能
AT93C46/56/66存储器芯片的引脚排列如图1所示。各引脚的功能如下:
CS:片选信号。高电平有效,低电平时进入等待模式。在连续的指令之间,CS信号必须持续至少250ns的低电平,才能保证芯片正常工作。
CLK:串行时钟信号。在CLK的上升沿,操作码、地址和数据位进入器件或从器件输出。在发送序列时,CLK最好不停止,以防止读/写数据的错误。
DI:串行数据输入。可在CLK的同步下输入开始位、操作码、地址位和数据位。
DO:串行数据输出。在CLK同步下读周期时,用于输出数据;而在地址擦/写周期或芯片擦/写周期时,该端用于提供忙/闲信息。
VSS:接地。
VCC:接+5V电源。
ORG:存贮器构造配置端。该端接VCC或悬空时,输出为16位;接GND时,输出为8位。
NC:空脚,不连接。

表1 AT93C46/56/66系统指令
指  令起始位操作码地址位数据位备  注
*8  *16
READ110AnAo  AnAo从指定的单元读数
EWEN10011xxxxx  11xxxx允许写指令
ERASE111An~Ao    An-1~Ao擦除指定单元
WRITE101An~Ao    An-1~AoD7~D0  D15~D0写入存储单元
ERAL10010xxxxx  10xxxx擦除存储器所有单元
WRAL10001xxxx   01xxxxD7~D0  D15~D0写入存储器所有单元
EWDS10000xxxxx    00xxxx禁止写指令
    表中,93C46 n=6;93C56n=7; 93C66n=8
2 指令及时序
AT93C46/56/66的指令如表1所列,各指令的具体含义如下:
(1)擦/写允许指令(EWEN)
由于在上电复位后AT93C46/56/66首先将处于擦/写不允许状态。故该指令必须在所有编程模式前执行,一旦该指令执行后,只要外部没有断电就可以对芯片进行编程。
(2)地址擦指令(ERASE)
该指令用于强迫指定地址中所有数据位都为“1”。一旦信息在DI端上被译码,就需使CS信号保持至少250ns的低电平,然后将CS置为高电平,这时,DO端就会指示“忙”标志。DO为“0”,表示编程正在进行;DO为“1”,表示该指定地址的寄存器单元已擦完,可以执行下一条指令。
(3)地址写指令(WRITE)
写指令时,先写地址,然后将16位的或8位数据写入到指定地址中。当DI端输出最后一个数据位后,在CLK时钟的下一个上升沿以前,CS必须为低,且需至少保持250ns,然后将CS置为高电平。需要说明的是:写周期时,每写一个字节需耗时4ms。
(4)地址读指令(READ)
读指令用于从指定的单元中把数据从高位到低位输出至DO端,但逻辑“0”位先于数据位输出。读指令在CLK的上升沿触发,且需经过一段时间方可稳定。为防止出错,建议在读指令结束后,再输出2~3个CLK脉冲。
(5)芯片擦指令(ERAL)
该指令可将整个存贮器阵列置为1,其它功能与地址擦指令相同。
(6)芯片写指令WRAL
该指令可将命令中指定的数据写入整个存贮器阵列,其它功能与地址写指令相同。该指令周期所花费时间的最大值为30ms。
(7)擦/写禁止指令(EWDS)
使用该指令可对写入的数据进行保护,操作步骤与擦/写允许指令相同。

3 AT93C56的应用
3.1 AT93C56与80C196KB的连接
串行EEPROM芯片AT93C56同80C196单片机接口的硬件电路连接方法如图2所示。图中,由于MCS-96系列16位单片机的P1口为准双向口,因此,为了防止数据错位,在向其P1口写数据时,必须先将P1口置“1”。
3.2 软件编程
该读/写程序采用PL/M语言编写,由于PL/M语言介于高级语言与汇编语言之间,故其对数据、地址位的处理比较繁琐。其中ADDR为指定的地址单元,DATA为写入的数据,在写数据、地址时均从高位开始。本程序已在仿真器上调试通过。且已被应用于电量测试仪中(如接触电阻测试仪)。
DECLARE SETCS LITERALLY ‘CALL BITSET. IO-PORT2,0′;
DECLARE CLRCS LITERALLY ‘CALL BITCLR. IOPORT2,0′;
DECLARE SETCLK LITERALLY ‘CALL BITSET. IOPORT2,5′;
DECLARE CLRCLK LITERALLY ‘CALL BITCLR. IOPORT2,5′;
DECLARE SETDI LITERALLY ‘CALL BITSET. IO-PORT1,5′;
DECLARE CLRDI LITERALLY ‘CALL BITCLR. IOPORT1,5′;
EWEN:PROCEDURE PUBLIC;
DECLARE I BYTE;
CLRCS; CLRDI; CLRCLK;
SETCS; SETDI; SETCLK;
DO I=1 TO 2;
CLRCLK; CLRDI; SETCLK;
END;
DO I=1 TO 2;
CLRCLK; SETDI; SETCLK;
END;
DO I = 0 TO 6;
CLRCLK; SETDI; SETCLK;
END;
CLRCLK; CLRCS; SETCS;
SETCLK; CLRCLK;
END EWEN;
READ:PROCEDURE(ADDR) PUBLIC;
DECLARE (ADDR,I,COUNT) BYTE;
CLRCS; CLRDI;
CLRCLK; SETCS;
DO I= 1 TO 2;
CLRCLK; SETDI; SETCLK;
END;
DO I =1 TO 2;
CLRCLK; CLRDI; SETCLK;
DO COUNT=1 TO 7;
BITOUT(COUNT)=SHR(BITOUT(COUNT),1);
END;
CLRCS; CLRDI; CLRCLK;
CALL TIME(100);
SETCS; CLRC;
END READ;
WRITE: PROCEDURE(ADDR,DATA) PUBLIC;
DECLARE (ADDR,DATA) BYTE;
CLRCS; CLRDI; CLRCLK;
SETCS; SETDI; SETCLK;
CLRDI; CLRCLK; SETCLK;
SETDI; CLRCLK; SETCLK;
END;
DO I =-1 TO 8;
X=ROL(ADDR,1);
ADDR=X; CLRCLK;
IF ((X AND 01H)=01H)THEN SETDI;
ELSE CLRDI;
SETCLK;
END;
DO I =1 TO 7;
CLRCLK; SETCLK;
END;
DO I =1 TO 8
CALL BITSET(.IOPORT1,7);
COUNT=COUNT-1;
CLRCLK; SETCLK;
BITOUT(COUNT)=IOPORT1;
END;
CLRCLK; SETCLK;
J=0;
AA: DO I= 1 TO 8;
J=J+1;
X=ROL(ADDR,1;
ADDR=X; CLRCLK;
IF((X AND 01H)=01H) THEN SETDI
ELSE CLRDI;
SETCLK;
END;
IF J<>16 THEN DO;
ADDR =DATA;
GOTO AA;
END;
CLRCS;SETCS;
CALL TIME(100);
END;
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-30 20:57 , 耗时 0.087224 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表