mydatai的个人空间 https://www.eechina.com/space-uid-4863.html [收藏] [复制] [分享] [RSS]

博客

【达泰电子USB系列】用U盘实现数据采集存储

已有 1358 次阅读2013-9-14 10:07 | usb

usb host、U盘记录仪、无纸记录仪 

USB设备分为HOST(主设备)和SLAVE(从设备),只有当一台HOST与一台SLAVE连接时才能实现数据的传输。简单的说,如果一个数码设备支持USB HOST,那么它就可以从另外一个USB设备中取得数据。

目前正在研制的系统为大功率光伏阵列特性测试仪,其主要用于对各种规格、容量的光伏阵列进行I-V特性的测试,为光伏系统(并网、发电)的选型提供必要的参考。该系统需要人员采集光伏阵列的电压、电流、温度、日照等数据,由于该系统多用于野外,因此需要对所测得的数据进行USB接口存储以便进行I-V特性曲线的绘制及光伏阵列在各种不同的日照和温度下特性的推演。数据的采集及存储可由系统控制芯片DSP通过串行接口USB118模块通讯usb host,并辅以大容量USB存储设备来完成。

在所设计的系统中采用了西安达泰电子有限责任公司提供的USB118AD模块,其具有标准2.0协议及支持1G以上优盘的优点,这点非常适合于本系统usb host经常在野外应用的特点,并且随产品所提供的串行通讯程序usb host也可以很方便的移植到所采用的DSP平台上,usb host大大简化了本系统在数据存储方面的程序设计工作。

 

                   

*   USB118ausb host 51汇编测试程序

*                                                              Version 1.1

* U盘文件读写模块usb host以字节为单位进行U盘文件读写。

* MCS-51单片机汇编示例程序

* 硬件连接方式: 4线制串口(电源,地,输入,输出)

 

/*--------------------------------

初始化程序

---------------------------------*/

ORG 0000H

AJMP MAIN

ORG 0100H

/*--------------------------------

主函数

---------------------------------*/

MAIN:

MOV SP, #60H     ;设置堆栈指针

MOV TMOD,#20H        ;计数器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

 

/*--------------------------------------------------------------------

延时是由于本人所用的单片机和USB118Ausb host是同一电源供电,

起初上电复位后由于USB118A要进行U盘检测,延时大约让检测完成即可发送指令

----------------------------------------------------------------------*/

MOV R1,#10H         ;闪烁10次

ML:

LCALL DELAY

LCALL DELAY     ;延时

LCALL DELAY

LCALL DELAY

DJNZ R1,ML

 

//检测U盘usb host是否连接正常

USB_Detect:

CLR   EA           ;关闭中断

CLR   REN           ;关闭接收位

MOV   DPTR, #Detect ;检测U盘命令初址

MOV   R7, #66          ;R7定义为将要发送的字节数

LCALL SEND     ;调用发送子程序

SETB  REN        ;打开接收位

 

JNB   RI,$        ; usb host等待接收到数据

CLR   RI

MOV   A,SBUF      ;接收应答码

CJNE  A,#04H,OUT1   ;04检测应答码,对则继续执行判断是否成功执行否则转错误处理

 

JNB   RI,$        ; usb host等待接收到数据

CLR   RI

MOV   A,SBUF      ;接收应答信号

CJNE  A,#01H,OUT1   ;01判断是否成功执行,成功则继续执行否则转错误处理

 //create file

LCALL CRT

JNB   RI,$        ;等待接收到数据

CLR   RI

MOV   A,SBUF      ;接收应答码

CJNE  A,#0AH,OUT1  ;0A检测应答码,对则继续执行判断是否成功执行否则转错误处理

 

JNB   RI,$;等待接收到数据

CLR   RI

MOV   A,SBUF      ;接收应答信号

CJNE  A,#01H,OUT1   ;01判断是否成功执行,成功则继续执行否则转错误处理。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部