目前正在研制的系統(tǒng)為大功率光伏陣列特性測(cè)試儀,其主要用于對(duì)各種規(guī)格、容量的光伏陣列進(jìn)行I-V特性的測(cè)試,為光伏系統(tǒng)(并網(wǎng)、發(fā)電)的選型提供必要的參考。該系統(tǒng)需要人員采集光伏陣列的電壓、電流、溫度、日照等數(shù)據(jù),由于該系統(tǒng)多用于野外,因此需要對(duì)所測(cè)得的數(shù)據(jù)進(jìn)行存儲(chǔ)以便進(jìn)行I-V特性曲線的繪制及光伏陣列在各種不同的日照和溫度下特性的推演。數(shù)據(jù)的采集及存儲(chǔ)可由系統(tǒng)控制芯片DSP通過(guò)串行接口USB118模塊通訊,并輔以大容量USB存儲(chǔ)設(shè)備來(lái)完成。
在所設(shè)計(jì)的系統(tǒng)中采用了西安達(dá)泰電子有限責(zé)任公司提供的 USB118AD模塊,其具有標(biāo)準(zhǔn)2.0協(xié)議及支持1G以上優(yōu)盤的優(yōu)點(diǎn),這點(diǎn)非常適合于本系統(tǒng)經(jīng)常在野外應(yīng)用的特點(diǎn),并且隨產(chǎn)品所提供的串行通訊程序也可以很方便的移植到所采用的DSP平臺(tái)上,大大簡(jiǎn)化了本系統(tǒng)在數(shù)據(jù)存儲(chǔ)方面的程序設(shè)計(jì)工作。

* USB118a 51匯編測(cè)試程序
* 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 ;計(jì)數(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 ;啟動(dòng)計(jì)時(shí)
MOV SCON,#40H
/*---------------------------------------------------------------------
延時(shí)是由于本人所用的單片機(jī)和USB118A是同一電源供電,
起初上電復(fù)位后由于USB118A要進(jìn)行U盤檢測(cè),延時(shí)大約讓檢測(cè)完成即可發(fā)送指令
----------------------------------------------------------------------*/
MOV R1,#10H ;閃爍10次
ML:
LCALL DELAY
LCALL DELAY ;延時(shí)
LCALL DELAY
LCALL DELAY
DJNZ R1,ML
//檢測(cè)U盤是否連接正常
USB_Detect:
CLR EA ;關(guān)閉中斷
CLR REN ;關(guān)閉接收位
MOV DPTR, #Detect ;檢測(cè)U盤命令初址
MOV R7, #66 ;R7定義為將要發(fā)送的字節(jié)數(shù)
LCALL SEND ;調(diào)用發(fā)送子程序
SETB REN ;打開(kāi)接收位
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答碼
CJNE A,#04H,OUT1 ;04檢測(cè)應(yīng)答碼,對(duì)則繼續(xù)執(zhí)行 判斷是否成功執(zhí)行 否則轉(zhuǎn)錯(cuò)誤處理
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答信號(hào)
CJNE A,#01H,OUT1 ;01判斷是否成功執(zhí)行,成功則繼續(xù)執(zhí)行 否則轉(zhuǎn)錯(cuò)誤處理
//create file
LCALL CRT
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答碼
CJNE A,#0AH,OUT1 ;0A檢測(cè)應(yīng)答碼,對(duì)則繼續(xù)執(zhí)行 判斷是否成功執(zhí)行 否則轉(zhuǎn)錯(cuò)誤處理
JNB RI,$ ;等待接收到數(shù)據(jù)
CLR RI
MOV A,SBUF ;接收應(yīng)答信號(hào)
CJNE A,#01H,OUT1 ;01判斷是否成功執(zhí)行,成功則繼續(xù)執(zhí)行 否則轉(zhuǎn)錯(cuò)誤處理
|