U盘伴侣 U盘接口 U盘模块 USB转串口

上传人:油条 文档编号:1950875 上传时间:2017-07-17 格式:DOC 页数:10 大小:61.51KB
返回 下载 相关 举报
U盘伴侣 U盘接口 U盘模块 USB转串口_第1页
第1页 / 共10页
U盘伴侣 U盘接口 U盘模块 USB转串口_第2页
第2页 / 共10页
U盘伴侣 U盘接口 U盘模块 USB转串口_第3页
第3页 / 共10页
U盘伴侣 U盘接口 U盘模块 USB转串口_第4页
第4页 / 共10页
U盘伴侣 U盘接口 U盘模块 USB转串口_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《U盘伴侣 U盘接口 U盘模块 USB转串口》由会员分享,可在线阅读,更多相关《U盘伴侣 U盘接口 U盘模块 USB转串口(10页珍藏版)》请在金锄头文库上搜索。

1、用 MCS51 单片机串口读写 U 盘的 C 语言编程实例一、概述目前,基于USB接口的移动存储设备已经被广泛使用,尤其是采用USB-FLASH技术的U盘产品几乎完全取代了软盘。 U盘的使用通常是作为计算机的外部存储设备,能否脱离计算机直接向U盘读写数据呢?答案是肯定的。嵌入式U盘读写模块提供了通过串口读写U盘的简单途径,由此结合单片机的串口就可以实现U盘的文件读写。 嵌入式U盘读写模块可以嵌入用户的数据采集系统中,从而实现数据的海量存储。在工控领域,军工产品、石油、交通、水文等野外数据采集系统中可以广泛使用。二、* USB118 C51测试程序* * 网址: http:/ * 电话: 029

2、-85272421 , 88022900/* U盘文件读写模块 以字节为单位进行U盘文件读写。10条精简命令完成所有读写过程* MCS-51单片机C语言示例程序 * 硬件连接方式: 4线制串口(电源,地,输入,输出) #include #include #define uchar unsigned char#define uint unsigned int/检测u盘命令uchar code Detect66=0xaa,0xbb,0x01,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20

3、,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20; /建立TEST.TXT文件命令uchar code Create66=0xaa,0xbb,0x07,0x54,0x45,0x5

4、3,0x54,0x20,0x20,0x20,0x20,0x54,0x58,0x54,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x4F,0xFD,0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

5、0;/打开文件命令uchar code Open66 =0xaa,0xbb,0x06,0x54,0x45,0x53,0x54,0x20,0x20,0x20,0x20,0x54,0x58,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

6、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/写文件命令uchar code Write66=0xaa,0xbb,0x09,0x00,74,0x01,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20

7、,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20;/读文件命令uchar code Read66=0xaa,0xbb,0x08,0x08,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,

8、0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20;/设置文件指针命令uchar code SetFilePointer66=0xaa,0xbb,0x15,0x00,74,0x01,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,

9、0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20;/数据1uchar code Date166=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x

10、39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x0d,0x0a;/数据2uchar code Da

11、te266=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64

12、,0x65,0x30,0x31,0x32,0x33,0x34,0x35;uchar data num;void delay_xms(unsigned int); /延时函数void init_com(void); /初始化串口函数void test(void); /系统测试函数void Send_Data(uchar Serial_data); /发送一个字节函数void TXD_Int(uchar *s); /发送数据函数bit Receive_Data(uchar,uint ); /接收数据函数uchar Receive_One(void); /接收一个字节函数void main()int

13、 i,j;SP = 0x60; /设置堆栈指针P3 = 0xff;init_com(); /初始化串口test(); /系统测试并延时det: /检测U盘TXD_Int(Detect);if(Receive_Data(0x04,0)=0) /命令是否成功执行,是则继续执行 /否则重新执行delay_xms(1000);goto det;num=0x41;for(j=0;j0) /应答信号后有数据for(i=0;inum;i+) /接收数据Receive_One();REN = 0; /关闭接收位return(1); /返回1/*接收一个字节通讯函数功能:接收一个字节通讯入口参数:无出口参数:返回接收值*/uchar Receive_One(void)while(!RI)P0=0x00; /等待接收P0=0xff;RI = 0;return(SBUF); /将接收数据返回

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号