串行FLASH SSF1101在单片机
[09-12 17:53:30] 来源:http://www.88dzw.com 单片机学习 阅读:8988次
文章摘要:其中,PA11-PA0用于指定被操作的闪存页面, 如果超出器件的范围,则自动取模;BA11-BA0则用来指定从页面内读取数据的开始地址,同样, 如果超出页面大小则自动取模。器件在第35个SCK的下降沿开始从SO引脚输出数据, 高位在前。 输出一个字节后页面内数据地址自动加1,然后继续输出下一地址的数据。如果到达页尾,则自动返回到页初地址。(4)比较闪存页面和缓冲区此命令用于比较指定的闪存页面和缓冲区内的数据是否相同,在被置高后开始比较, 同时BF被置1。如果比较结果为不相同,则状态寄存器的CF位被置1, 否则CF清零, 比较结束后BF清零。(5)读状态寄存器状态寄存器读命令用于读出器件内状态寄
串行FLASH SSF1101在单片机,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com其中,PA11-PA0用于指定被操作的闪存页面, 如果超出器件的范围,则自动取模;BA11-BA0则用来指定从页面内读取数据的开始地址,同样, 如果超出页面大小则自动取模。器件在第35个SCK的下降沿开始从SO引脚输出数据, 高位在前。 输出一个字节后页面内数据地址自动加1,然后继续输出下一地址的数据。如果到达页尾,则自动返回到页初地址。
(4)比较闪存页面和缓冲区
此命令用于比较指定的闪存页面和缓冲区内的数据是否相同,在被置高后开始比较, 同时BF被置1。如果比较结果为不相同,则状态寄存器的CF位被置1, 否则CF清零, 比较结束后BF清零。
(5)读状态寄存器
状态寄存器读命令用于读出器件内状态寄存器的值。
(6)片擦除
片擦除命令用于擦除闪存所有页面的数据,一个擦除周期大约需要2s。
4 具体应用
SSF1101由于具有512kbyte的大存储容量,因此可广泛应用于数字语音存储、图象存储和数据存储等应用领域,以构成大容量的单片机数据采集系统。由AT89C52单片机与SSF1101构成的IC卡读写电路如图3所示。
图3中,AT89C52的P1.0、P1.1、P1.2分别与SSF1101 SPI的接口SI、SCK及SO端相连以实现简单的三线串行通信,P1.3与CS相连用于控制对器件的访问,图中的C9与C10是IC卡座的接通开关,当IC卡插入时开关闭合,C1端接入+5V电源,SSF1101上电复位后读写电路进入正常的读写状态,当IC卡拔出后C1端经电阻R2向AT89C52的INT0端发出中断请求,从而转向掉卡中断处理程序。下面的程序代码为与上述硬件电路配套的读写IC卡程序:
;位定义
SI BIT P1.0;串行数据输入
SCK BIT P1.1;串行时钟
SO BIT P1.2;串行数据输出
CS BIT P1.3;片选控制
;内存定义
RCMD EQU 30H;读卡命令单元
PAH EQU 31H;闪存页面高位单元
PAL EQU 32H;闪存页面低位单元
BAH EQU 33H;闪存地址高位单元
BAL EQU 24H;闪存地址低位单元
ICRDATA EQU 20H;读写数据缓冲区首址
NUMBER EQU 80H;数据块长度
;读IC卡子程序,采用闪存直接读方式
RCARD: SETB CS
SETB SI ;初始化SPI
SETB SO
CLR SCK
MOV RCMD,#10H;“闪存直接读”命令
MOV DAH,#00H ;00页面
MOV DAL,#00H
MOV BAH,#00H ;00地址
MOV BAL,#00H
CLR CS ;选中芯片
上一页 [1] [2] [3] [4] [5] [6] 下一页
《串行FLASH SSF1101在单片机》相关文章
- › 串行FLASH SSF1101在单片机
- 在百度中搜索相关文章:串行FLASH SSF1101在单片机
- 在谷歌中搜索相关文章:串行FLASH SSF1101在单片机
- 在soso中搜索相关文章:串行FLASH SSF1101在单片机
- 在搜狗中搜索相关文章:串行FLASH SSF1101在单片机