单片机怎么向sd卡里写数据啊?

单片机怎么向sd卡里写数据啊?,第1张

你想要的程序在51单片机的SD卡上运行,然后让51单片机读取和执行?难! ! !除非你的单片机的bootloader,程序从SD卡读出并烧写到单片机的ROM,跳转到PC值= 0x0000开始执行此过程。

如果你的程序中包含了大量的数据(而不是运行的代码),如显示图片。然后分离出来的时候,程序上运行的SD卡上的数据时,从表演或如何做的SD读出。例如,让液晶显示器中国文字需要存储HZK16有260KB,51单片机64K是绝对合适的,所以SD卡或AT45DB161上,单片机程序只需要计算中国文字的偏移量,从SD卡或相应的LCD AT45DB161里的地址读取就可以了。

如果你纯以直接物理地址访问的话需要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口,这种方式软件处理起来麻烦一些。这里就不做例子了。

第一步:你要模拟SPI协议读取SD卡的一个扇区。

第二步:移植FATFS文件系统,或者其它文件系统也行。

第三步:用文件系统提供的函数对TXT文件进入基本的输入输出 *** 作,你移植的文件系统会有相关文档介绍。

第四步:要在显示屏上显示,还要加上字库,如果不显示就通过串口发给PC吧。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11348169.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存