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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch375hft.c

?? U盤對考的例子程序 U盤對考的例子程序
?? 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 主機文件系統接口 */
/* 支持: FAT12/FAT16/FAT32 */

/* MCS-51單片機C語言的U盤文件讀寫示例程序 */
/* 用于以下情況的MCS51單片機
   1. 高速MCS51單片機,機器周期小于0.3uS,或者在機器周期為12個時鐘時的時鐘頻率大于40MHz
   2. 非總線MCS51單片機,用普通I/O引腳模擬8位并行總線讀寫,與CH375之間采用并口連接
   3. 單片機與CH375之間采用串口連接
*/
/* 本程序用于演示將ADC模數采集的數據保存到U盤文件MY_ADC.TXT中 */
/* CH375的INT#引腳采用查詢方式處理,本例用普通I/O引腳模擬8位并行總線讀寫,同時提供串口連接示例,
   以字節為單位讀寫U盤文件,讀寫速度較扇區模式慢,但是由于字節模式讀寫文件不需要文件數據緩沖區FILE_DATA_BUF,
   所以總共只需要600字節的RAM,適用于單片機硬件資源有限、數據量小并且讀寫速度要求不高的系統 */


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

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

#define	MAX_BYTE_IO				29		/* 以字節為單位單次讀寫文件時的最大長度,默認值是29,值大則占用內存多,值小則超過該長度必須分多次讀寫 */

/* 以下定義的詳細說明請看CH375HF5.H文件 */
#define LIB_CFG_FILE_IO			1		/* 文件讀寫的數據的復制方式,0為"外部子程序",1為"內部復制" */
#define LIB_CFG_INT_EN			0		/* CH375的INT#引腳連接方式,0為"查詢方式",1為"中斷方式" */
/*#define LIB_CFG_UPD_SIZE		1*/		/* 在添加數據后是否自動更新文件長度: 0為"不更新",1為"自動更新" */
/* 默認情況下,如果扇區數/字節數不為0那么CH375FileWrite/CH375ByteWrite只負責寫入數據而不修改文件長度,
   如果需要每次寫完數據后會自動修改/更新文件長度,那么可以使全局變量CH375LibConfig的位4為1,
   如果長時間不寫入數據則應該更新文件長度,防止突然斷電后前面寫入的數據與文件長度不相符,
   如果確定不會突然斷電或者后面很快有數據不斷寫入則不必更新文件長度,可以提高速度并減少U盤損耗(U盤內部的內存壽命有限,不宜頻繁改寫) */
unsigned char volatile xdata	CH375_CMD_PORT _at_ 0xAFF1;	/* CH375命令端口的I/O地址 */
unsigned char volatile xdata	CH375_DAT_PORT _at_ 0xADF0;	/* CH375數據端口的I/O地址 */
unsigned char volatile xdata	CH375_CMD_PORT_U0 _at_ 0x9FF1;	/* CH375命令端口的I/O地址 */
unsigned char volatile xdata	CH375_DAT_PORT_U0 _at_ 0x9DF0;	/* CH375數據端口的I/O地址 */
unsigned char Change_Bit;
unsigned char xdata	copy_buf[512],copy_buf_u0[512];
unsigned char xdata copy_mCmdParam[100],copy_mCmdParam_u0[100];
unsigned char status,status_u0;
bit interrupt_bit,interrupt_bit_u0;
/* 只使用單片機內置的1KB外部RAM: 0000H-01FFH 為磁盤讀寫緩沖區, 以字節為單位讀寫文件不需要文件數據讀寫緩沖區FILE_DATA_BUF */
#define	DISK_BASE_BUF_ADDR		0x0000	/* 外部RAM的磁盤數據緩沖區的起始地址,從該單元開始的緩沖區長度為SECTOR_SIZE */
#define FILE_DATA_BUF_ADDR		0x0200	/* 外部RAM的文件數據緩沖區的起始地址,緩沖區長度不小于一次讀寫的數據長度,字節模式不用該緩沖區 */
/* 由于單片機內置的外部RAM只有1KB, 有些單片機還要去掉256字節內部RAM, 只剩下768字節的外部RAM, 其中前512字節由CH375子程序用于磁盤數據緩沖 */
#define FILE_DATA_BUF_LEN		0x4000	/* 外部RAM的文件數據緩沖區,緩沖區長度不小于一次讀寫的數據長度,字節模式不用該緩沖區 */

sbit CH375_INT_WIRE		=	P1^1;	/* P1.1, INT0, CH375的中斷線INT#引腳,連接CH375的INT#引腳,用于查詢中斷狀態 */
sbit CH375_INT_WIRE_U0	=	P1^2;	/* P1.1, INT0, CH375的中斷線INT#引腳,連接CH375的INT#引腳,用于查詢中斷狀態 */

#define NO_DEFAULT_CH375_F_ENUM		1		/* 未調用CH375FileEnumer程序故禁止以節約代碼 */
#define NO_DEFAULT_CH375_F_QUERY	1		/* 未調用CH375FileQuery程序故禁止以節約代碼 */

#include "CH375HFC.H"

/* 本例用I/O引腳模擬產生CH375的并口讀寫時序 */
/* 本例中的硬件連接方式如下(實際應用電路可以參照修改下述3個并口讀寫子程序) */
/* 單片機的引腳    CH375芯片的引腳
      P3.2                 INT#
      P1.0                 A0
      P1.1                 CS#    如果模擬出的并口上只有CH375,那么CS#可以直接接低電平,強制片選
      P1.2                 WR#
      P1.3                 RD#
      P0(8位端口)         D7-D0       */
//void mDelay1_2uS( )  /* 至少延時1.2uS,根據單片機主頻調整 */
//{
//	return;
//}

void CH375_PORT_INIT( )  /* 由于使用通用I/O模塊并口讀寫時序,所以進行初始化 */
{
	P0 = 0xFF;  /* 并口輸入 */
}

void xWriteCH375Cmd( UINT8 mCmd )		/* 外部定義的被CH375程序庫調用的子程序,向CH375寫命令 */
{
//	mDelay1_2uS( );  /* 至少延時1uS */
	if(Change_Bit==0x01)
		CH375_CMD_PORT=mCmd;
	else if(Change_Bit==0x02)
		CH375_CMD_PORT_U0=mCmd;
//	mDelay1_2uS( );  /* 至少延時2uS */
}

void xWriteCH375Data( UINT8 mData )		/* 外部定義的被CH375程序庫調用的子程序,向CH375寫數據 */
{
	if(	Change_Bit==0x01)
		CH375_DAT_PORT=mData;
	else if(Change_Bit==0x02)
		CH375_DAT_PORT_U0=mData;		
//	mDelay1_2uS( );  /* 至少延時1.2uS */
}

UINT8 xReadCH375Data( void )			/* 外部定義的被CH375程序庫調用的子程序,從CH375讀數據 */
{
	UINT8	mData;
//	mDelay1_2uS( );  /* 至少延時1.2uS */
	if(	Change_Bit==0x01)
		mData=CH375_DAT_PORT;
	if(	Change_Bit==0x02)
		mData=CH375_DAT_PORT_U0;
	return( mData );
}

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

UINT8	mCopyCodeStringToXRAM( UINT8 xdata *iDestination, UINT8 code *iSource )
{
	UINT8	i = 0;
	while ( *iDestination = *iSource ) {
		iDestination ++;
		iSource ++;
		i ++;
	}
	return( i );
}

void mCopy_Data_To_Data(unsigned char xdata *data_b0,unsigned char xdata *data_b1,unsigned short len)
{
	unsigned short	i;
	for(i=0;i!=len;i++){
		*data_b0=*data_b1;
		data_b0++;
		data_b1++;
		}
}
/* 檢查操作狀態,如果錯誤則顯示錯誤代碼并停機 */
void	mStopIfError( UINT8 iError )
{
	if ( iError == ERR_SUCCESS ) return;  /* 操作成功 */
	printf( "Error: %02X\n", (UINT16)iError );  /* 顯示錯誤 */
	while ( 1 ) {
		mDelay100mS( );
		mDelay100mS( );
	}
}

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

void wire_interrupt( )/*檢測設備插拔*/
{
	if(CH375_INT_WIRE==0){
		xWriteCH375Cmd(CMD_GET_STATUS);
		status=xReadCH375Data();
//		printf("status=%02x\n",(unsigned short)status);
	}
		
}

void wire_interrupt_u0( )/*檢測設備插拔*/
{
	if(CH375_INT_WIRE_U0==0){
		xWriteCH375Cmd(CMD_GET_STATUS);
		status_u0=xReadCH375Data();
//		printf("status_u0=%02x\n",(unsigned short)status_u0);
	}

}

main( ) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产视频一区二区| 色av一区二区| 国产精品亚洲第一区在线暖暖韩国| 亚洲大片一区二区三区| 一区二区三区免费观看| 日韩中文字幕不卡| 美女网站色91| 色88888久久久久久影院野外| 欧洲亚洲精品在线| 26uuu欧美| 亚洲乱码国产乱码精品精小说 | 亚洲综合在线视频| 日本午夜一区二区| 97久久精品人人爽人人爽蜜臀| 91丨九色丨蝌蚪富婆spa| 欧美日本韩国一区| 国产午夜精品一区二区三区视频 | 成人自拍视频在线观看| 欧美在线啊v一区| 国产精品你懂的在线| 天天综合色天天| 欧美日韩中文字幕一区| 欧美经典三级视频一区二区三区| 污片在线观看一区二区| 91网址在线看| 亚洲欧美偷拍卡通变态| 国产精品一区二区在线观看不卡 | 5月丁香婷婷综合| 日日夜夜精品视频免费| 国产91精品精华液一区二区三区 | 色噜噜狠狠一区二区三区果冻| 精品国产一二三| 看电视剧不卡顿的网站| 欧美二区乱c少妇| 日本成人在线一区| 日韩欧美黄色影院| 狠狠色狠狠色综合日日91app| 欧美高清www午色夜在线视频| 一区二区三区在线高清| 欧洲一区在线电影| 三级欧美韩日大片在线看| 日韩精品一区二区三区老鸭窝| 亚洲成人自拍偷拍| 日韩一区二区电影网| 久久精品999| 亚洲国产精品传媒在线观看| 99国内精品久久| 亚洲成a人片在线观看中文| 日韩一区二区三区视频在线观看| 精品一区在线看| 亚洲免费av观看| 91福利区一区二区三区| 久久成人免费网| 亚洲综合999| 国产欧美日韩综合精品一区二区| 色综合色狠狠天天综合色| 激情综合网av| 日本三级韩国三级欧美三级| 亚洲欧洲av另类| 26uuu精品一区二区在线观看| 日韩免费福利电影在线观看| 日韩欧美在线综合网| 国产精品77777竹菊影视小说| 日韩一区在线免费观看| 精品99久久久久久| 欧美日韩一区不卡| 中文字幕亚洲在| 国产一区二区0| 欧美精品一区二区久久婷婷| 亚洲国产成人porn| 欧亚一区二区三区| 亚洲国产日韩精品| 欧美日韩日日夜夜| 亚洲一区在线观看网站| 一本色道久久综合狠狠躁的推荐| 久久综合中文字幕| 国产成人免费视频网站高清观看视频| 欧美疯狂做受xxxx富婆| 蜜臀久久久久久久| 亚洲综合成人在线视频| 欧美午夜精品一区| 精品剧情在线观看| 亚洲sss视频在线视频| 成人妖精视频yjsp地址| 黄色小说综合网站| 欧美亚洲综合一区| 国产成a人亚洲| 国产精品美女一区二区| fc2成人免费人成在线观看播放| 久久久久久一二三区| 成人免费的视频| 一级女性全黄久久生活片免费| 色婷婷综合久久| 美女视频黄免费的久久 | 春色校园综合激情亚洲| 一区二区三区四区精品在线视频| 日韩一卡二卡三卡国产欧美| 亚洲aⅴ怡春院| 成人国产精品视频| 亚洲一区二区高清| 欧美精品123区| eeuss鲁片一区二区三区在线看| 亚洲精品一二三四区| 久久久亚洲午夜电影| 欧美久久免费观看| 91国产免费观看| 国产黑丝在线一区二区三区| 视频一区二区三区中文字幕| 久久久另类综合| 91精品国产一区二区三区蜜臀 | 91福利资源站| 91女厕偷拍女厕偷拍高清| 国模少妇一区二区三区| 日本不卡的三区四区五区| 一区二区三区在线观看网站| 久久色.com| 久久亚洲精品小早川怜子| 97成人超碰视| 日本高清不卡视频| 91麻豆国产福利在线观看| 成人深夜视频在线观看| 国产成人精品免费网站| 国产宾馆实践打屁股91| 成人免费精品视频| 99精品黄色片免费大全| 91丨国产丨九色丨pron| 在线视频国内自拍亚洲视频| 99视频一区二区| 在线免费观看日本一区| 欧美三级视频在线观看| 欧美日韩国产123区| 日韩一区二区三区av| 欧美成人r级一区二区三区| 久久久久久久久久久久久女国产乱 | 国产精品污www在线观看| 亚洲视频在线观看三级| 亚洲www啪成人一区二区麻豆 | 亚洲福利一区二区| 精品夜夜嗨av一区二区三区| 国产成人免费视| 欧美性xxxxxxxx| 国产精品久久久久久亚洲伦| 亚洲影视资源网| 国产精品一品视频| 欧美日韩国产小视频在线观看| 久久夜色精品一区| 午夜精品一区二区三区三上悠亚 | 成人看片黄a免费看在线| 欧美浪妇xxxx高跟鞋交| 国产精品久久看| 国产一区免费电影| 欧美日韩mp4| 亚洲一区av在线| 色哟哟一区二区| 国产欧美日韩中文久久| 国产一区高清在线| 日韩一区二区三区电影| 亚洲成av人**亚洲成av**| 一本一本大道香蕉久在线精品 | 亚洲国产欧美日韩另类综合| av亚洲精华国产精华精| 日本一区二区视频在线| 国产一区在线观看视频| 2023国产精品视频| 丁香婷婷综合激情五月色| 日韩一区二区三区高清免费看看| 日韩成人免费在线| 欧美成人女星排名| 成人激情午夜影院| 国产精品久久久久婷婷| 成人福利电影精品一区二区在线观看| 精品乱码亚洲一区二区不卡| 久久国产精品99久久人人澡| 欧美一区二区三区日韩| 国产一区二区三区黄视频| 中文字幕在线一区免费| 欧亚洲嫩模精品一区三区| 精彩视频一区二区三区| 国产精品视频观看| 欧美日韩欧美一区二区| 国内欧美视频一区二区| 亚洲一区二区免费视频| 精品免费日韩av| 欧美日韩在线电影| 激情综合网激情| 日本特黄久久久高潮| 中文字幕亚洲成人| 久久这里只精品最新地址| 欧美日韩一区二区三区四区| 国产69精品一区二区亚洲孕妇| 亚洲成a人片综合在线| 一区在线中文字幕| 久久久久久久久一| 精品乱人伦小说| 欧美一区二区私人影院日本| 91猫先生在线| 色中色一区二区| 粉嫩av一区二区三区粉嫩| 国产精品小仙女| 国内成人免费视频|