如果你纯以直接物理地址访问的话需要30根地址线。51本身提供的地址线16根,其余的14根可以通过以下几种方法得到:
1、由P1和P3直接提供,这样的话就最多只有2个IO可用,其余作为地址线访问内存。当然高位地址(大于64K)需要手动特殊处理比如访问0003ffffH可以这样操作:
MOV P3,#00H
MOV P1,#03H
MOV DPTR,#0FFFFH
MOVX A,@DPTR
2、扩展两个8位口来提供高位地址,这样在硬件上做些处理,可以节约一些IO口,这种方式软件处理起来麻烦一些。这里就不做例子了。
用不用卡槽都是一个意思,连线正确就行!
arduino有标准sd卡的库可以用,如果你不想用可以,那你就自己去裸编。
sd卡有2种通讯协议,arduino支持其中的一种,就是标准SPI协议。另外的一种SD协议貌似需要更高级的处理器。
注意,电路和数据上,TF卡=SD卡
请做完下面的试验后再分析:
1. 用这张SD卡在同一批的另一片电路板上测试是否可以正常读写?
2. 用测试过的可用的SD卡在你的电路板上测试是否可以正常读写?
这单片机有SPI接口,TF卡的接口和SD卡一样,可以SPI驱动。
不过你要是想要存成电脑可以读写的文件格式,那需要加上文件系统的。
代码你是别想找到现成的了,因为暂时还没人做这种无聊的事情。
给你说个方法,找stm32的FATFS例程来修改,读取TF卡里面的文件,从里面读取参数然后转换来替代程序现在运行时用的参数,不复杂的。
一般的TF卡支持SPI接口,当然也可以用四位并行通信
SPI更简单一些读取的电路和驱动程序都简单,但速度慢
速度要求不严格的话可以用此方式
SPI 有MISO MOSI SCLK CS 四线
单片机怎么读写tf卡的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:单片机怎么读写tf卡