單片機(jī)讀寫U盤的模塊 用U盤實現(xiàn)數(shù)據(jù)采集存儲
目前正在研制的系統(tǒng)為大功率光伏陣列特性測試儀,其主要用于對各種規(guī)格、容量的光伏陣列進(jìn)行I-V特性的測試,為光伏系統(tǒng)(并網(wǎng)、發(fā)電)的選型提供必要的參考。該系統(tǒng)需要人員采集光伏陣列的電壓、電流、溫度、日照等數(shù)據(jù),由于該系統(tǒng)多用于野外,因此需要對所測得的數(shù)據(jù)進(jìn)行存儲以便進(jìn)行I-V特性曲線的繪制及光伏陣列在各種不同的日照和溫度下特性的推演。數(shù)據(jù)的采集及存儲可由系統(tǒng)控制芯片DSP通過串行接口USB118模塊通訊,并輔以大容量USB存儲設(shè)備來完成。
在所設(shè)計的系統(tǒng)中采用了西安達(dá)泰電子有限責(zé)任公司提供的USB118AD模塊,其具有標(biāo)準(zhǔn)2.0協(xié)議及支持1G以上優(yōu)盤的優(yōu)點,這點非常適合于本系統(tǒng)經(jīng)常在野外應(yīng)用的特點,并且隨產(chǎn)品所提供的串行通訊程序也可以很方便的移植到所采用的DSP平臺上,大大簡化了本系統(tǒng)在數(shù)據(jù)存儲方面的程序設(shè)計工作。
* USB118a 51匯編測試程序
* Version 1.1
*西安達(dá)泰電子有限責(zé)任公司
(Xi'an DATA Electronic Co,Ltd)
* 網(wǎng)址: http://www.dataie.com
* 電話: 029-88354536 13892831469
*
* 西安達(dá)泰電子有限責(zé)任公司 2009.05
* U盤文件讀寫模塊 以字節(jié)為單位進(jìn)行U盤文件讀寫。
* MCS-51單片機(jī)匯編示例程序
* 硬件連接方式: 4線制串口(電源,地,輸入,輸出)
/*--------------------------------
初始化程序
---------------------------------*/
ORG 0000H
AJMP MAIN
ORG 0100H
/*--------------------------------
主函數(shù)
---------------------------------*/
MAIN:
MOV SP, #60H ;設(shè)置堆棧指針
MOV TMOD,#20H ;計數(shù)器1工作在方式2
MOV TH1, #0F3H ;晶振頻率為24MHZ,波特率為9600
MOV TL1, #0F3H
;MOV TH1, #0FAH ;晶振頻率為11.0592MHZ,波特率為9600
;MOV TL1, #0FAH
MOV PCON,#80H ;smod為1
SETB TR1 ;啟動計時
MOV SCON,#40H
/*---------------------------------------------------------------------
延時是由于本人所用的單片機(jī)和USB118A是同一電源供電,
起初上電復(fù)位后由于USB118A要進(jìn)行U盤檢測,延時大約讓檢測完成即可發(fā)送指令
----------------------------------------------------------------------*/
MOV R1,#10H ;閃爍10次
ML:
LCALL DELAY
LCALL DELAY ;延時
LCALL DELAY
LCALL DELAY
DJNZ R1,ML
//檢測U盤是否連接正常
USB_Detect:
CLR EA ;關(guān)閉中斷
CLR REN ;關(guān)閉接收位
MOV DPTR, #Detect ;檢測U盤命令初址
MOV R7, #66 ;R7定義為將要發(fā)送的字節(jié)數(shù)
LCALL SEND ;調(diào)用發(fā)送子程序
SETB REN ;打開接收位
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答碼
CJNE A,#04H,OUT1 ;04檢測應(yīng)答碼,對則繼續(xù)執(zhí)行 判斷是否成功執(zhí)行 否則轉(zhuǎn)錯誤處理
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答信號
CJNE A,#01H,OUT1 ;01判斷是否成功執(zhí)行,成功則繼續(xù)執(zhí)行 否則轉(zhuǎn)錯誤處理
//create file
LCALL CRT
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答碼
CJNE A,#0AH,OUT1 ;0A檢測應(yīng)答碼,對則繼續(xù)執(zhí)行 判斷是否成功執(zhí)行 否則轉(zhuǎn)錯誤處理
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答信號
CJNE A,#01H,OUT1 ;01判斷是否成功執(zhí)行,成功則繼續(xù)執(zhí)行 否則轉(zhuǎn)錯誤處理
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。