用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

串行FLASHSSF1101在单片机

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:55:08
数据块长度

;读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 ;选中芯片

MOV R0,#RCMD ;指向命令单元

MOV R1,#04H ;4字节命令

T RCMD: MOV A,@R0

LCALL S OUT ;调用发送子程序

INC R0

DJNZ R1,T RCMD

MOV R0,#ICRDATA ;指向读写数据

缓冲区首址

MOV R1,#NUMBER

RICDATA: LCALL SIN ;调用接收子程序

MOV @R0,A ;读128字节数据到主机

INC R0

DJNZ R1,RICDATA

SETB CS

RET

;写IC卡子程序;数据首先写入缓冲区,再使用内建擦除周期的从缓冲区1到内存传送命令写入主存

WCARD: SETB CS

SETB SI

SETB SO

CLR SCK

MOV RCMD,#60H ;“写缓冲区1”命令

MOV BAH,#00H ;写00H地址

MOV BAL,#00H ;单元

CLR CS

MOV R0,#RCMD

MOV R1,#04H

T RCMD1: MOV A,@R0

LCALL S OUT

INC R0

DJNZ R1,T RCMD

MOV R0,#ICRDATA;指向读写缓冲区

MOV R1,#NUMBER

T RDATA: MOV A,@R0

LCALL S OUT

INC R0

DJNZ R1,T-RDATA

SETB SCK

CLR SCK

SETB SCK

CLR SCK

SETB SCK

CLR SCK

MOV RCMD,#0A0H

MOV DAH,#00H

MOV DAC,#00H

CLR CS

MOV R0,#RCMD

MOV R1,#04H

T RCMD2: MOV A,@R0

LCALL S OUT

INC R0

DJNZ R1,T-RCMD

SETB CS

LCALL DL30MS ;延时30ms

RET

;接收一字节数据程序

S-IN: MOV R6,#8

RSHIFT: MOV C,SO

SETB SCK

RLC A

CLR SCK

DJNZ R6,RSHIFT

RET

;发送一字节数据子程序

S OUT: MOV R7,#8

TSHIFT: RLC A

MOV SI,C

SETB SCK

NOP

CLR SCK

NOP

CLR SCK

DJNA R7,TSHIFT

RET

5 结束语

SSF1101串行闪速存储器的串行IC卡封装形式非常便于和单片机接口,以便构成便携式数据存储装置,同时其较大的存储容量也可满足数据存储量较大的应用系统要求,因而该器件在数据存储领域有着较为广泛的应用前景。



上一页  [1] [2] [3] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:14,734.38000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号