亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ch375hft.c

?? USB接口芯片文件接口模塊CH375EVT
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 2004.06.05
****************************************
**  Copyright  (C)  W.ch  1999-2004   **
**  Web:  http://www.winchiphead.com  **
****************************************
**  USB Host File Interface for CH375 **
**  TC2.0@PC, KC7.0@MCS51             **
****************************************
*/
/* CH375 主機文件系統(tǒng)接口 */
/* 支持: FAT12/FAT16 */

/* MCS-51單片機C語言的U盤文件讀寫示例程序, 適用于ATMEL/PHILIPS/SST等具有1KB內(nèi)部RAM以及雙DPTR的單片機 */
/* 該程序?qū)盤中的/C51/CH375HFT.C文件中的每64字節(jié)的前4個字符顯示出來(顯示4字符,跳過60字符,顯示4字符...),
   如果找不到原文件CH375HFT.C, 那么該程序?qū)@示C51子目錄下所有以CH375開頭的文件名,
   如果找不到C51子目錄, 那么該程序?qū)@示根目錄下的所有文件名,
   最后新建文件"里面全0.TXT",文件內(nèi)容全部是字符0,如果有ADC,可以用ADC的數(shù)據(jù)替找字符0
*/
/* CH375的INT#引腳采用查詢方式處理, 磁盤數(shù)據(jù)復制方式為"雙DPTR復制", 文件數(shù)據(jù)復制方式為"外部子程序",
   本例使用512字節(jié)的外部RAM作為磁盤數(shù)據(jù)緩沖區(qū), 而沒有文件數(shù)據(jù)緩沖區(qū), 演示沒有外部RAM但是單片機的內(nèi)部RAM大于1K字節(jié)的應用 */


/* C51   CH375HFT.C */
/* LX51  CH375HFT.OBJ , CH375HF4.LIB */
/* OHX51 CH375HFT */

#include <reg52.h>
#include <stdio.h>

/* 以下定義的詳細說明請看CH375HF4.H文件 */
#define LIB_CFG_DISK_IO			2		/* 磁盤讀寫的數(shù)據(jù)的復制方式,1為"單DPTR復制",2為"雙DPTR復制",3為"單DPTR和P2+R0復制" */
#define LIB_CFG_FILE_IO			0		/* 文件讀寫的數(shù)據(jù)的復制方式,0為"外部子程序",1為"單DPTR復制",2為"雙DPTR復制",3為"單DPTR和P2+R0復制" */
#define LIB_CFG_INT_EN			0		/* CH375的INT#引腳連接方式,0為"查詢方式",1為"中斷方式" */
/*#define LIB_CFG_FILE_IO_DEFAULT	1*/		/* 使用CH375HF4.H提供的默認"外部子程序" */

#define CH375_CMD_PORT_ADDR		0xBDF1	/* CH375命令端口的I/O地址 */
#define CH375_DAT_PORT_ADDR		0xBCF0	/* CH375數(shù)據(jù)端口的I/O地址 */
/* 只使用單片機內(nèi)置的1KB外部RAM: 0000H-01FFH 為磁盤讀寫緩沖區(qū), 沒有文件數(shù)據(jù)緩沖區(qū) */
#define	DISK_BASE_BUF_ADDR		0x0000	/* 外部RAM的磁盤數(shù)據(jù)緩沖區(qū)的起始地址,從該單元開始的緩沖區(qū)長度為SECTOR_SIZE */
/* 由于單片機內(nèi)置的外部RAM只有1KB, 有些單片機還要去掉256字節(jié)內(nèi)部RAM, 只剩下768字節(jié)的外部RAM,
   其中前512字節(jié)由CH375子程序用于磁盤數(shù)據(jù)緩沖, 由于"外部子程序"處理文件數(shù)據(jù)復制, 所以沒有文件數(shù)據(jù)緩沖區(qū) */

#define CH375_INT_WIRE			INT0	/* P3.2, INT0, CH375的中斷線INT#引腳,連接CH375的INT#引腳,用于查詢中斷狀態(tài) */

#include "CH375HF4.H"

UINT8X	mFileReadBuffer[ 64 ]	_at_ 0x0200;	/* 緩沖CH375讀文件的一次數(shù)據(jù)傳輸,長度為CH375_MAX_DATA_LEN */

void xWriteToExtBuf( UINT8 mLength )	/* 該子程序由CH375的子程序庫調(diào)用,用于從CH375讀取文件數(shù)據(jù)到外部緩沖區(qū),被CH375FileRead調(diào)用 */
{
	UINT8	i;
	PUINT8X	p;
	if ( mLength > 64 ) return;  /* 防止緩沖區(qū)溢出 */
	p = mFileReadBuffer;
	while ( mLength ) {  /* 根據(jù)長度讀取數(shù)據(jù),實際上長度總是CH375_MAX_DATA_LEN,也就是64 */
		*p = CH375_DAT_PORT;  /* 將U盤讀出數(shù)據(jù)暫存到內(nèi)部RAM緩沖區(qū),可以用這種方式將文件數(shù)據(jù)保存到單片機的各種串行存儲器中 */
		p ++;
		mLength --;
	}  /* 復制上述數(shù)據(jù)的總時間不得超過2mS */
/*	PutDataToDAC( mFileReadBuffer );  將mFileReadBuffer緩沖區(qū)中的數(shù)據(jù)輸出給DAC */
	for ( i = 0; i != 4; i ++ ) { while( TI == 0 ); TI = 0; SBUF = mFileReadBuffer[ i ]; }  /* 顯示前4個字符 */
}

UINT8 GetDataFromADC( )  /* 沒有ADC,所以總是模擬返回數(shù)據(jù)30H */
{
/*	while ( RI == 0 ); RI = 0; return( SBUF );  通過串口獲得數(shù)據(jù)或者從各種串行存儲器中取出數(shù)據(jù) */
	return( '0' );
}

void xReadFromExtBuf( UINT8 mLength )	/* 該子程序由CH375的子程序庫調(diào)用,用于從外部緩沖區(qū)讀取文件數(shù)據(jù)到CH375,被CH375FileWrite調(diào)用 */
{
	while ( mLength ) {  /* 根據(jù)長度寫入數(shù)據(jù),實際上長度總是CH375_MAX_DATA_LEN,也就是64 */
		CH375_DAT_PORT = GetDataFromADC( );  /* 從ADC獲取一字節(jié)數(shù)據(jù)寫入U盤,可以用這種方式從單片機的各種串行存儲器中取出文件數(shù)據(jù) */
		mLength --;
	}  /* 復制上述數(shù)據(jù)的總時間不得超過2mS,如果超過2mS請參考下述方法 */
}

#if	0	/* 如果xReadFromExtBuf子程序執(zhí)行總時間超過1mS,那么應該用下述方法避免CH375長時間等待數(shù)據(jù) */
UINT8X	mFileWriteBuffer[ 64 ]	_at_ 0x0240;	/* 緩沖CH375寫文件的一次數(shù)據(jù)傳輸,長度為CH375_MAX_DATA_LEN */
void xReadFromExtBuf( UINT8 mLength )	/* 該子程序由CH375的子程序庫調(diào)用,用于從外部緩沖區(qū)讀取文件數(shù)據(jù)到CH375,被CH375FileWrite調(diào)用 */
{
	UINT8	i;
	while ( mLength ) CH375_DAT_PORT = mLength --;  /* 由于CH375的命令必須在2mS之內(nèi)完成,所以先寫入無意義數(shù)據(jù)結(jié)束前一個命令 */
	for ( i = 0; i != 64; i ++ ) mFileWriteBuffer[ i ] = GetDataFromADC( );  /* 從ADC獲得數(shù)據(jù)暫存到臨時緩沖區(qū), 沒有時間限制 */
	CH375_CMD_PORT = CMD_WR_USB_DATA7;  /* 重新發(fā)出寫數(shù)據(jù)命令,向CH375的主機端點發(fā)送緩沖區(qū)寫入數(shù)據(jù)塊 */
	if ( CH375IntStatus ) CH375IntStatus = 0;  /* 僅作延時,不短于2uS */
	CH375_DAT_PORT = 64;  /* 后續(xù)數(shù)據(jù)的長度,對于寫U盤必須是64 */
	for ( i = 0; i != 64; i ++ ) CH375_DAT_PORT = mFileWriteBuffer[ i ];  /* 將臨時緩沖區(qū)中的數(shù)據(jù)寫入CH375,覆蓋前面寫入的無意義數(shù)據(jù) */
}
#endif

/* 在P1.4連接一個LED用于監(jiān)控演示程序的進度,低電平LED亮,當U盤插入后亮 */
sbit P1_4  = P1^4;
#define LED_OUT_INIT( )		{ P1_4 = 1; }	/* P1.4 高電平 */
#define LED_OUT_ACT( )		{ P1_4 = 0; }	/* P1.4 低電平驅(qū)動LED顯示 */
#define LED_OUT_INACT( )	{ P1_4 = 1; }	/* P1.4 低電平驅(qū)動LED顯示 */
sbit P1_5  = P1^5;
/* 在P1.5連接一個LED用于監(jiān)控演示程序的進度,低電平LED亮,當對U盤操作時亮 */
#define LED_RUN_ACT( )		{ P1_5 = 0; }	/* P1.5 低電平驅(qū)動LED顯示 */
#define LED_RUN_INACT( )	{ P1_5 = 1; }	/* P1.5 低電平驅(qū)動LED顯示 */
sbit P1_6  = P1^6;
/* 在P1.6連接一個LED用于監(jiān)控演示程序的進度,低電平LED亮,當對U盤寫操作時亮 */
#define LED_WR_ACT( )		{ P1_6 = 0; }	/* P1.6 低電平驅(qū)動LED顯示 */
#define LED_WR_INACT( )		{ P1_6 = 1; }	/* P1.6 低電平驅(qū)動LED顯示 */

/* 延時100毫秒,不精確 */
void	mDelay100mS( )
{
	UINT8	i, j, c;
	for ( i = 200; i != 0; i -- ) for ( j = 200; j != 0; j -- ) c+=3;
}

/* 將程序空間的字符串復制到內(nèi)部RAM中,返回字符串長度 */
UINT8	mCopyCodeStringToIRAM( UINT8 idata *iDestination, UINT8 code *iSource )
{
	UINT8	i = 0;
	while ( *iDestination = *iSource ) {
		iDestination ++;
		iSource ++;
		i ++;
	}
	return( i );
}

/* 檢查操作狀態(tài),如果錯誤則顯示錯誤代碼并停機 */
void	mStopIfError( UINT8 iError )
{
	if ( iError == ERR_SUCCESS ) return;  /* 操作成功 */
	printf( "Error: %02X\n", (UINT16)iError );  /* 顯示錯誤 */
	while ( 1 ) {
		LED_OUT_ACT( );  /* LED閃爍 */
		mDelay100mS( );
		LED_OUT_INACT( );
		mDelay100mS( );
	}
}

/* 為printf和getkey輸入輸出初始化串口 */
void	mInitSTDIO( )
{
	SCON = 0x50;
	PCON = 0x80;
	TMOD = 0x20;
	TH1 = 0xf3;  /* 24MHz晶振, 9600bps */
	TR1 = 1;
	TI = 1;
}

main( ) {
	UINT8	i, c, SecCount;
	UINT32	OldSize;
	UINT16	NewSize;  /* 因為演示板的RAM容量只有32KB,所以NewSize限制為16位,實際上如果文件大于32256字節(jié),應該分幾次讀寫并且將NewSize改為UINT32以便累計 */
	UINT8	code *pCodeStr;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合色播激情啊| 樱桃国产成人精品视频| 蜜臀av性久久久久蜜臀av麻豆| 欧美专区在线观看一区| 亚洲女人****多毛耸耸8| 99国产欧美另类久久久精品| 亚洲四区在线观看| 一本大道av伊人久久综合| 亚洲午夜av在线| 日韩亚洲欧美中文三级| 狠狠色丁香婷综合久久| 国产精品久久久久三级| 日本高清不卡一区| 免费成人在线视频观看| 久久久精品人体av艺术| 99久久99久久久精品齐齐| 亚洲一区二区在线免费观看视频| 欧美一区二区三区在线看| 久久99精品一区二区三区三区| 国产亚洲一区二区在线观看| 99re8在线精品视频免费播放| 一区二区三区精密机械公司| 欧美一区二区三区男人的天堂| 激情综合网天天干| 亚洲日本乱码在线观看| 91精品国产福利| 国产91高潮流白浆在线麻豆| 亚洲精品国产a| 日韩精品一区二区三区四区| 成人av在线一区二区| 日韩二区在线观看| 最近日韩中文字幕| 欧美videossexotv100| 丰满岳乱妇一区二区三区| 一区二区三区欧美日| 精品国产一区二区三区久久影院| 91视频.com| 国产专区综合网| 亚洲五码中文字幕| 国产精品久久国产精麻豆99网站| 777xxx欧美| 色哟哟在线观看一区二区三区| 麻豆91在线观看| 亚洲综合视频在线观看| 国产午夜精品久久| 日韩一区二区电影网| 色视频成人在线观看免| 国产精品一二三区| 热久久国产精品| 亚洲精品国产一区二区精华液| 久久看人人爽人人| 日韩欧美美女一区二区三区| 欧洲亚洲国产日韩| 91老司机福利 在线| 国产毛片一区二区| 精品一区二区三区日韩| 亚洲va韩国va欧美va精品 | 国产人伦精品一区二区| 日韩欧美自拍偷拍| 欧美另类变人与禽xxxxx| 色综合天天做天天爱| 成人午夜视频在线观看| 精品一区二区日韩| 人妖欧美一区二区| 男女性色大片免费观看一区二区| 一区二区三区精品在线观看| 亚洲男人的天堂网| 国产精品网站在线| 日本一区二区视频在线| 国产亚洲女人久久久久毛片| 久久毛片高清国产| 久久久噜噜噜久久中文字幕色伊伊| 91精品国产综合久久小美女| 欧美色手机在线观看| 欧美专区亚洲专区| 欧美日韩精品一区二区天天拍小说| 91在线免费播放| 91小视频在线观看| 色一情一乱一乱一91av| 91精品1区2区| 欧美丝袜自拍制服另类| 精品视频在线免费观看| 欧美日本在线播放| 7777精品伊人久久久大香线蕉 | 96av麻豆蜜桃一区二区| 99久久伊人精品| 91蝌蚪porny九色| 在线看国产日韩| 欧美日韩一区二区三区不卡| 欧美久久免费观看| 日韩免费一区二区三区在线播放| 欧美大度的电影原声| 国产欧美精品一区| 成人欧美一区二区三区白人| 亚洲精品成人a在线观看| 一区二区三区免费看视频| 亚洲午夜久久久久久久久电影网| 五月天欧美精品| 久久国产精品99久久久久久老狼| 国产精品一区二区你懂的| 99热精品国产| 欧美日韩三级视频| 久久色在线视频| 中文字幕一区二区三区不卡在线 | 亚洲国产精品二十页| 亚洲日本一区二区| 秋霞电影网一区二区| 国产成人综合在线| 色噜噜偷拍精品综合在线| 在线综合亚洲欧美在线视频| 久久久久久麻豆| 日韩美女视频19| 免费亚洲电影在线| 91丨porny丨在线| 欧美喷潮久久久xxxxx| 2017欧美狠狠色| 亚洲免费观看在线视频| 免费人成在线不卡| 99在线精品观看| 日韩精品一区二区三区视频| 亚洲精品少妇30p| 国内一区二区在线| 在线观看日韩电影| 久久精品日产第一区二区三区高清版| 亚洲青青青在线视频| 精品在线一区二区| 在线观看一区不卡| 久久久高清一区二区三区| 亚洲国产一区视频| 国产91精品在线观看| 日韩欧美中文字幕制服| 亚洲黄色av一区| 国产精品99久久久久久久vr | 成人黄色在线看| 91精品国产综合久久香蕉的特点| 国产女人18毛片水真多成人如厕| 亚洲高清免费视频| av爱爱亚洲一区| 久久日韩精品一区二区五区| 亚洲成av人**亚洲成av**| 豆国产96在线|亚洲| 日韩精品中文字幕一区二区三区| 亚洲制服丝袜av| 99久久精品国产观看| 日本一区二区三区电影| 精品亚洲成a人在线观看| 精品视频一区 二区 三区| 中文字幕一区二区三区在线播放 | 成人a级免费电影| 精品久久久久av影院 | 久久先锋资源网| 免费在线看成人av| 在线播放/欧美激情| 亚洲免费av观看| 99re视频这里只有精品| 欧美高清在线一区| 国产精品996| 久久久久一区二区三区四区| 麻豆91在线播放免费| 欧美一级免费观看| 日日摸夜夜添夜夜添国产精品| 欧美性一级生活| 亚洲国产综合视频在线观看| 在线亚洲欧美专区二区| 亚洲三级理论片| 色婷婷av久久久久久久| 亚洲你懂的在线视频| 91看片淫黄大片一级在线观看| 中文字幕高清一区| 成人激情图片网| 亚洲欧美一区二区不卡| 色综合久久久网| 一区二区三区四区不卡视频 | 8v天堂国产在线一区二区| 日韩电影在线一区二区三区| 56国语精品自产拍在线观看| 日本视频一区二区| 日韩女优制服丝袜电影| 极品少妇xxxx偷拍精品少妇| 国产视频视频一区| 91亚洲精品久久久蜜桃| 亚洲制服欧美中文字幕中文字幕| 欧美日韩视频一区二区| 天堂成人免费av电影一区| 91麻豆精品国产自产在线观看一区 | 欧美色图一区二区三区| 亚洲成av人片在线| 欧美变态tickle挠乳网站| 国产最新精品免费| 综合av第一页| 欧美日韩精品高清| 久久99精品网久久| 亚洲国产精品高清| 欧美三级电影一区| 精品无人区卡一卡二卡三乱码免费卡| 国产日产精品1区| 在线观看亚洲精品| 国产在线国偷精品免费看| 亚洲色图欧洲色图婷婷| 欧美一区二区播放|