13回答

3收藏

[经验] MCS-51单片机读写U盘(CH375芯片)

 

51单片机 51单片机 7733 人阅读 | 13 人回复 | 2012-09-11

CH375是USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式。


        MCS-51单片机读写U盘的电路原理图,CH375芯片的TXD引脚接高电平,工作于串口方式。在串口方式下,CH375只需要与单片机/DSP/MCU连接3个信号线,TXD引脚、RXD引脚以及INT#引脚,其他引脚都可以悬空。除了连接线较少之外,其他外围电路与并口方式基本相同。由于INT#引脚和TXD 引脚在CH375复位期间只能提供微弱的高电平输出电流,在进行较远距离的连接时,为了避免INT#或者TXD在CH375复位期间受到干扰而导致单片机误操作,可以在INT#引脚或者TXD引脚上加阻值为1~5kΩ的上拉电阻,以维持较稳定的高电平。在CH375芯片复位完成后,INT#引脚和TXD引脚将能够提供5mA的高电平输出电流或者5mA的低电平吸入电流。



单片机读写U盘的接口
由于CH375内置了处理Mass-Storage海量存储设备的专用通信协议的固件,所以嵌入式系统的单片机可以通过CH375将U盘(USB闪存盘、USB外置硬盘)作为可移动的大容量存储器。数据读写只需要几条指令,而不需要详细了解USB通信协议。
如果嵌入式系统需要将USB存储设备组织为文件系统,可调用CH375文件级子程序库提供的接口API,由子程序库处理文件系统。

MCS-51单片机读写U盘范例源程序如下:

#include
#include "CH375INC.H"
#include   /* 以下定义适用于MCS-51单片机 */
#define  UINT8     unsigned char
#define  UINT16    unsigned short
#define  UINT32    unsigned long
#define  UINT8X    unsigned char xdata
#define  UINT8VX   unsigned char volatile xdata
UINT8VX    CH375_CMD_PORT _at_ 0xBDF1;  /* CH375命令端口的I/O地址 */
UINT8VX    CH375_DAT_PORT _at_ 0xBCF0;  /* CH375数据端口的I/O地址 */
#define    CH375_INT_WIRE    INT0       /* P3.2, 连接CH375的INT#引脚,用于查询中
断状态 */
UINT8X     DISK_BUFFER[512*32] _at_ 0x0000;  /* 外部RAM数据缓冲区的起始地址 */

UINT32  DiskStart;    /* 逻辑盘的起始绝对扇区号LBA */
UINT8   SecPerClus;   /* 逻辑盘的每簇扇区数 */
UINT8   RsvdSecCnt;   /* 逻辑盘的保留扇区数 */
UINT16

分享到:
回复

使用道具 举报

回答|共 13 个

倒序浏览

沙发

nemon

发表于 2012-9-11 17:50:48 | 只看该作者

板凳

baidu_studio

发表于 2012-9-16 18:09:36 | 只看该作者

万分感谢,好贴。。。顶!!!!!!!
地板

醉清风-385874

发表于 2012-9-17 07:51:25 | 只看该作者

本帖最后由 醉清风 于 2012-9-17 07:52 编辑

牛!LZ的程序,不会只有这么一点吧??
做对的事情比做对事情更重要!
5#

王传乾

发表于 2012-9-18 09:03:55 | 只看该作者

看了,感觉不错,谢谢您提供












汇锦国际酒店管理系统,www.huijinsoft.com
酒店管理系统,酒店管理软件,客房管理系统,宾馆管理系统
6#

fengye5340-272571

发表于 2012-10-13 19:34:48 | 只看该作者

楼主提供的代码不全啊,少了好多
7#

shamowangzi

发表于 2012-10-14 21:43:11 | 只看该作者

这个真是太全了!谢谢分享!!
8#

shamowangzi

发表于 2012-10-19 01:33:13 | 只看该作者

没事可以实验一下!
9#

w932443004

发表于 2012-10-26 22:48:30 | 只看该作者

还没完吧
10#

hxz0123

发表于 2012-10-27 01:30:32 | 只看该作者

楼主厉害,这点程序就能把CH375驱动起来
轻轻地
    我走了
       正如我轻轻地来
挥一挥衣袖
   不带走一片云彩
我的博客:http://blog.timcu.com/
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条