微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 关于单片机AT89S52和CF卡的接口设计

关于单片机AT89S52和CF卡的接口设计

时间:03-15 来源:互联网 点击:

AT89S52的P0口就为数据线连接CF的DO—D7,CF卡的A0-A10为地址线,P3.6、P3.7分别为读(RD)、写(WE)线。由于 AT89S52是8位的单片机,所以对CF卡的访问采用8位的方式较为方便。通过把-CE2设为‘1’即可通过访问CF卡的D0--D7来存取数据。而- CEl可以作为CF卡的片选信号,通过设-CEl为‘0’来选通CF卡,即-CEl接AT89S52的P2.6来线选CF卡。当REG为‘0’时,访问 CF卡的属性寄存器;REG为‘1’时,CF卡在存储器模式下对数据进行读写操作。RDY/BSY为CF卡状态引脚,当为“0”时,CF卡忙,为“1”时可以对CF卡操作。原理图如图所示:

  限于篇幅只将写一个扇区代码编写(读扇区代码基本与此相同)如下:

  ;写一个扇区

  WRITE: MOV DPTR, #SECTR_CNT

  MOV A, #1

  MOVX @DPTR, A

  MOV DPTR, #SECTR_NO

  MOV A, SECTRNO

  MOVX @DPTR, A

  MOV DPTR, #CYLINDER_LOW

  MOV A, CYLINDERL

  MOVX @DPTR, A

  MOV DPTR, #CYLINDER_HI

  MOV A, CYLINDERH

  MOVX @DPTR, A

  MOV DPTR, #DRV_HEAD

  MOV A, DRVHEAD

  ANL A, #0FH

  ORL A, #0E0H

  MOVX @DPTR, A

  MOV DPTR, #COMMAND

  MOV A, 30H

  MOVX @DPTR, A

  WRITE512:MOV R6,#0

  MOV R7,#2

  WRITE: MOV DPTR,#DATA_REG

  MOV A,#31H

  MOVX @DPTR,A

  DJNZ R6,WRITE

  DJNZ R7,WRITE

  RET

  4.结束语

  本设计的接口电路,阐述了CF卡的读写方法,并采用了通用的MCS-51系列单片机为系统控制器,可移植性好。根据此电路可应用于其他单片机对CF卡进行读写,采用CF卡作为存储介质,容量大,体积小,价格低廉,可应用于MP3播放器,数码相机,移动存储等各个领域,本试验在线路板上调试通过,并配合计算机串口对CF卡进行读写操作,并可对CF卡进行数据恢复。

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

网站地图

Top