Ⅰ 如何使用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圖像並在彩屏上顯示,一分鍾刷了一幅圖,罪孽啊!!實在無聊