微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 三线制Microware同步串行EEPROM在MCS-51单片机上的运用

三线制Microware同步串行EEPROM在MCS-51单片机上的运用

时间:02-09 来源:互联网 点击:

MCS-51系列单片机没有三线制Microware串行总线接口,当它与 93C06/46/56/66等具有三线制Microware串行总线的EEPROM连接时,应使用相应的软件来模拟三线制Microware串行总线的操作,其中包括串行时钟、数据输入和数据输出。图2为串行EEPROM芯片AT93C66与AT89C51单片机的硬件连接图,图中的R为上拉电阻, AT89C51的P1.0口用于模拟AT93C66的片选端CS,P1.1口模拟AT93C66的时钟输入端SK,P1.2口模拟它的数据输入端 DI,P1.3口模拟数据输出端DO(DI和DO也可以连接在一起)。当在时钟的上升沿第一次检测到CS和DI都为高电平时,可启动AT93C66。在写操作时,首先使AT89C51的P1.1由低变高并产生一个脉冲,再在脉冲的上升沿将1 位数据(先为高位)从P1.2输出到AT93C66中,并清P1.1为0,然后再置P1.1为1,随之P1.2又输出1位数据……依次循环8次, AT89C51便可完成1个字节的输出操作。在写入周期完成后,P1.0由高变低,并在保持最少100ns后变为高电平,这时93C66的DO线用来表示芯片的状态,DO为1表示数据已写入指定的地址中,D0为0则表示正在编程。利用AT89C51可通过查询P1.3的状态来决定是否继续操作,读操作时, P1.1由低变高,AT89C51经P1.3从AT93C66读入1位数据,并循环8次,然后读入1个字节,下面是根据操作时序写出的AT90C51与 93C66连接时的模拟三线制Microware串行总线的操作源程序。

  首先根据AT93C66的指令集,规定如下指令格式:
  指令格式:00001××A8,其中1为起始位,××为操作码,A8为第9位地址码;
  读指令(READ):00001100,即0x0c(如果对93C66的100H…1FFH地址空间操作,则指令最后一位为1,写和擦除指令均如此); 写指令(WRITE):00001010,即0x0a 擦除指令(ERASE):00001110,即0x0e
  擦/写允许指令(EWEN):0000100110000000,即0x0980,该指令分两次写入。

  本程序可用C51语言编写,具体代码如下(不包括整片写和擦除功能):







参考文献

1.窦振中.单片机外围器件实用手册存储器分册.北京:北京航空航天大学出版社,1998 2.徐爱钧,彭秀华.单片机高级语言C51应用程序设计.北京:电子工业出版计,1998
3.白驹衔,雷晓平.单片计算机及其应用.成都:电子科技大学出版社,1994

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top