Ⅰ 如何使用8051单片机读写sd卡的TXT文件
第一步:你要模拟SPI协议读取SD卡的一个扇区。
第二步:移植FATFS文件系统,或者其它文件系统也行。
第三步:用文件系统提供的函数对TXT文件进入基本的输入输出操作,你移植的文件系统会有相关文档介绍。
第四步:要在显示屏上显示,还要加上字库,如果不显示就通过串口发给PC吧。
Ⅱ 单片机读SD卡中的文件要做哪些工作
单片机指令系统与汇编语言程序
前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件。所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步:
第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。 第二步:把第二个数从它所在的存贮单元中取出来,送至运算器;
第三步:相加;
第四步:把相加完的结果,送至存贮器中指定的单元。
所有这些取数、送数、相加、存数等等都是一种操作(Operation),我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。但是怎样才能辨别和执行这些操作呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统(Iustruction Set),不同种类的单片机,其指令系统亦不同。
使用单片机时,事先应当把要解决的问题编成一系列指令。这些指令必须是选定的单片机能识别和执行的指令。单片机用户为解决自己的问题所编的指令程序,称为源程序(Source Program)。指令通常分为操作码(Opcode)和操作数(Operand)两大部分。操作码表示计算机执行什么操作,即指令的功能;操作数表示参加操作的数或操作数所在的地址(即操作数所存放的地方编号)。因为单片机是一种可编程器件,只“认得”二进码(0、1)。要单片机运作,单片机系统中的所有指令,都必须以二进制编码的形式来表示。例如,在Intel公司的MCS-51系列单片机中,从存贮器中取出一数到CPU中的累加器(在运算器中,参与运算、存放运算结果的专用寄存器)的指令代码为74H,累加器内容加立即数的代码为24H,再加上立即数代码,累加器送数到内部RAM存贮器的代码为F6H~F7H等。这些指令是用十六进制表示二进制的机器码。MCS-51单片机的字长为8位,有时,要完成某些操作用一个字节尚不能充分表达。所以,在指令系统中有单字节指令,也有多字节指令。机器码是由一连串的0和1组成,没有明显的特征,不好记忆,不易理解,易出错。所以,直接用它来编写程序十分困难。因而,人们就用一些助记符(Mue monic)——通常是指令功能的英文缩写来代替操作码,如MCS-51中数的传送常用MOV(Move的缩写)、加法用Add(Addition的缩写)来作为助记符。这样,每条指令有明显的动作特征,易于记忆和理解,也不容易出错。用助记符来编写的程序称为汇编语言程序。但是,助记符编写的程序便于人理解,可单片机却只认识二进制机器代码,因此,为了让单片机能“读懂”汇编语言程序必须再转换成由二进制机器码构成的程序,这种转换过程,就称为“汇编”。汇编可借助于人工查表法来实现,也可借助PC机通过所谓“交叉汇编程序”来完成。由机器码构成的用户程序一旦“进入”了单片机,再“启动”单片机,就可让它执行输入程序所规定的任务。
Ⅲ 单片机怎样在SD卡中形成TXT文档
同上,需要文件系统的支持,推荐一个好用的
znFAT,支持
FAT16
/32,有文件系统的话不只是txt,任何类型文件都行,还可以对文件删除,读取,修改等~还有可以
新建文件夹
,很多子目录。。。。如果是单片机玩的话,在调试的时候请把SD卡格式化一下,注意要把最小
扇区
改成512(字节),还得找个内存起码1KB的单片机吧~我自己在测试znFAT的时候用的是Atmega32,读的速度在几十K,写的话比较慢了,因为是总线模拟的,建议采用硬件SPI对SD卡操作,这样加上文件系统后速度不会太慢了,当然再怎么也不能和电脑比:-)
里面提供很多例子,包括最底层的SD卡扇区读写,到SD卡文件系统读写。他的资料都是以
51单片机
为基础编写的。只需更改底层操作函数,大概是Sd卡的读字节和写字节就可以很轻松的完成任何mcu的移植了。mcu内存大点哦!
下面是资料代码的下载地址:请把中文也复制进去
http://www.znmcu.cn/soft.asp?BigClassName=源码资料下载
Ⅳ 单片机和sd卡或U盘通信的问题
SD卡是SPI总线的,所以单片机读取SD卡的内容,需要通过SPI总线接口去驱动,网上已有很多例子可参考,如果你单片机内置SPI控制器,那就直接用该控制器去访问SD卡即可,要是没有,则需要模拟SPI总线的时序,去控制SD卡。
上面所提到的所谓控制,其实是读写SD卡内部的寄存器,包括控制的,状态的,还有存放数据的等等。
而U盘是在完成任意读写SD卡的基础上,再学习USB通信协议中的海量存储类而实现的,对于初学者来说,难度较大,如果你只是两选一,那你选择做SD卡的吧,不过此种单纯的SD卡读写,是不带文件系统的,其上面的数据无法为windows等操作系统所识别。
可以用AT89C51或52或者AT89S51/52等51系列的单片机,模拟时序去控制SD卡,因为普通的51单片机没有内置SPI总线控制器。
Ⅳ 你好 单片机记录数据以txt形式存储到SD卡上是需要利用文件系统的吗
如果SD卡需要在计算机或数码设备上直接读取,则需要文件系统。
如果没有上述需求,根本没有必要折腾文件系统。
Ⅵ 怎么用单片机给SD卡读写文件夹
你是用的什么单片机呢?可以使用单片机的SPI或者SDIO接口和SD卡连接,然后移植FAT文件系统将可以了。你也可以关注论坛,会有个带SD卡功能的开发板推出!
Ⅶ 怎么看到单片机写入SD卡中的数据
你先把SD卡在WINDOWS下格式化,再存入几个小文件,最好是TXT的文件,内容你自己都应该明确。
然后用单片机初始化SD卡成功后,读出,找找文件的位置和内容,分析文件系统的结构。
清楚了结构体系,再写入,再到电脑上,就可以看到了。
Ⅷ 单片机怎么用sd卡
首先SD一般有两种接口协议,SPI和SDIO
如果你单片机没有SDIO那就用SPI好了,SPI用硬件的或者软件模拟都可以,然后调用SPI发送和接收函数写SD的驱动,写完之后SD卡就可以类似于EEPROM来用了,但是注意,这时候的SD卡是没有“文件”这个概念的,EEPROM也没有嘛,如果想读取SD中的文件那还需要移植文件系统,比如fatfs,移植成功后你就可以用类似于fopen之类的函数啦~驱动方面可以参考原子哥
《STM32不完全》手册的SD卡操作的相关内容,文件系统移植嘛,单片机强一点推荐用fatfs,弱一点的用Petit
FAT,曾经在STC
1T的51单片机上使用Petit
FAT文件系统读取bmp图像并在彩屏上显示,一分钟刷了一幅图,罪孽啊!!实在无聊