
如果你的程序中包含了大量的数据(而不是运行的代码),如显示图片。然后分离出来的时候,程序上运行的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吧。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)