首页 理论教育 C46存储器设计实例

C46存储器设计实例

时间:2023-11-17 理论教育 版权反馈
【摘要】:93C46为串行三线SPI操作芯片,在时钟时序的同步下接收数据口的指令。该芯片擦写时间快,有擦写使能保护,可靠性高,擦写次数可达100万次,93C46的引脚功能如图10-38所示。实验时,请使用KC-106单片机总线模块进行扩展,从而完成SPI总线的实验。图10-40 软件流程图5.软件代码

C46存储器设计实例

下面就以目前单片机系统中应用广泛的SPI接口的数据存储器93C46为例,介绍SPI器件的基本应用。

1.93C46串行存储器简介

93C46是1k位串行EEPROM储存器。每一个储存器都可以通过DI/DO引脚写入或读出。它的存储容量为1024位,内部为128×8位或64×16位。93C46为串行三线SPI操作芯片,在时钟时序的同步下接收数据口的指令。指令码为9位十进制码,具有7个指令,读、擦写使能、擦除、写、全擦、全写及擦除禁止。该芯片擦写时间快,有擦写使能保护,可靠性高,擦写次数可达100万次,93C46的引脚功能如图10-38所示。93C46串行EEPROM指令格式选择表见表10-10。

CS-芯片选择SCK-时钟DI-串行数据输入DO-串行数据输出VSS-接地NC-空脚(应用时不用接任何电路)VCC-电源

978-7-111-30335-0-Chapter10-70.jpg

图10-38 93C46的引脚图

表10-10 93C46串行EEPROM指令格式选择表

978-7-111-30335-0-Chapter10-71.jpg

指令说明:

1)读(READ):当下达10XXXXXX指令后,地址(XXXXXXXX)的数据在SCK=1时由DO输出。

2)写(WRITE):在写入数据前,必须先下达写使能(EWEN)指令,然后再下达01XXXXXX指令后,当SCK=1时,会把数据码写入指定地址(XXXXXXXX);而DO=0时,表示还在进行写操作,写入结束后DO会转为高电平。写入动作完成后,必须再下达写禁止(EWDS)命令。

3)清除(ERASE):下达清除指令11XXXXXX后会将地址(XXXXXXXX)的数据清除。

4)写使能(EWEN):下达0011XXXX指令后,才可以进行写(WRITE)操作。

5)写禁止(EWDS):下达0000XXXX指令后,才可重复进行写入(WRITE)操作。

6)芯片清除(ERAL):下达0010XXXX指令后,全部禁止。

7)芯片写入(WRAL):下达0001XXXX指令后,全部写入“0”。

2.程序功能

本例用来实现对93C46存储器的读写操作,并验证数据是否正确。此程序可以用配套实验板与KC-106单片机总线模块相连接作为硬件实验平台。本程序先分别向0x02和0x03两个地址写入0x55和0xAA,然后读其中一个地址,并将读到的数据显示出来验证是否正确。程序默认是读0x02地址内的数据,读者也可以修改地址数据来读其他地址数据。实验时,请使用KC-106单片机总线模块进行扩展,从而完成SPI总线的实验。(www.xing528.com)

3.硬件原理图

如图10-39所示。

978-7-111-30335-0-Chapter10-72.jpg

图10-39 硬件原理图

4.程序流程图

见图10-40所示。

978-7-111-30335-0-Chapter10-73.jpg

图10-40 软件流程图

5.软件代码

978-7-111-30335-0-Chapter10-74.jpg

978-7-111-30335-0-Chapter10-75.jpg

978-7-111-30335-0-Chapter10-76.jpg

978-7-111-30335-0-Chapter10-77.jpg

978-7-111-30335-0-Chapter10-78.jpg

978-7-111-30335-0-Chapter10-79.jpg

978-7-111-30335-0-Chapter10-80.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈