亚洲欧美第一页_禁久久精品乱码_粉嫩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 主機文件系統(tǒng)接口 */
/* 支持: 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位并行總線讀寫,同時提供串口連接示例,
   以字節(jié)為單位讀寫U盤文件,讀寫速度較扇區(qū)模式慢,但是由于字節(jié)模式讀寫文件不需要文件數據緩沖區(qū)FILE_DATA_BUF,
   所以總共只需要600字節(jié)的RAM,適用于單片機硬件資源有限、數據量小并且讀寫速度要求不高的系統(tǒng) */


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

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

#define	MAX_BYTE_IO				29		/* 以字節(jié)為單位單次讀寫文件時的最大長度,默認值是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為"自動更新" */
/* 默認情況下,如果扇區(qū)數/字節(jié)數不為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 為磁盤讀寫緩沖區(qū), 以字節(jié)為單位讀寫文件不需要文件數據讀寫緩沖區(qū)FILE_DATA_BUF */
#define	DISK_BASE_BUF_ADDR		0x0000	/* 外部RAM的磁盤數據緩沖區(qū)的起始地址,從該單元開始的緩沖區(qū)長度為SECTOR_SIZE */
#define FILE_DATA_BUF_ADDR		0x0200	/* 外部RAM的文件數據緩沖區(qū)的起始地址,緩沖區(qū)長度不小于一次讀寫的數據長度,字節(jié)模式不用該緩沖區(qū) */
/* 由于單片機內置的外部RAM只有1KB, 有些單片機還要去掉256字節(jié)內部RAM, 只剩下768字節(jié)的外部RAM, 其中前512字節(jié)由CH375子程序用于磁盤數據緩沖 */
#define FILE_DATA_BUF_LEN		0x4000	/* 外部RAM的文件數據緩沖區(qū),緩沖區(qū)長度不小于一次讀寫的數據長度,字節(jié)模式不用該緩沖區(qū) */

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

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

#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++;
		}
}
/* 檢查操作狀態(tài),如果錯誤則顯示錯誤代碼并停機 */
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一区二区三区免费野_久草精品视频
久久99热99| 91精品国产乱| 国产精华液一区二区三区| 婷婷久久综合九色综合绿巨人| 久久精品亚洲一区二区三区浴池 | 国内精品不卡在线| 麻豆91精品视频| 日韩av网站免费在线| 亚洲第一会所有码转帖| 亚洲国产精品自拍| 亚洲尤物视频在线| 午夜国产精品影院在线观看| 视频在线观看一区二区三区| 日韩中文字幕麻豆| 九九久久精品视频| 国产91精品入口| 成人美女在线视频| 91浏览器打开| 欧美精品123区| 欧美大片在线观看一区| 91精品欧美一区二区三区综合在 | 欧美大度的电影原声| 日韩一区二区免费在线电影| 日韩免费福利电影在线观看| 国产日韩欧美电影| 亚洲欧美怡红院| 天天爽夜夜爽夜夜爽精品视频| 亚洲18女电影在线观看| 日本成人在线看| 国产成人精品亚洲午夜麻豆| 成人免费视频caoporn| 在线视频中文字幕一区二区| 欧美一区二区成人6969| 中文成人综合网| 视频一区视频二区在线观看| 奇米精品一区二区三区在线观看 | 韩国一区二区三区| 99九九99九九九视频精品| 欧美自拍偷拍午夜视频| 精品国产凹凸成av人导航| 国产亚洲精品免费| 亚洲 欧美综合在线网络| 国产福利精品一区二区| 91久久精品一区二区三区| 91精品国产aⅴ一区二区| 国产精品传媒在线| 蜜臀av性久久久久蜜臀aⅴ| gogogo免费视频观看亚洲一| 91精选在线观看| 亚洲精品视频在线| 国产一区在线精品| 538prom精品视频线放| 中文字幕一区二区不卡| 久久精品国产成人一区二区三区| 91首页免费视频| 国产三级三级三级精品8ⅰ区| 一区二区欧美视频| 国产成人aaaa| 欧美精品一区二区三区蜜桃视频 | 国产精品久久久久久久久久免费看| 亚洲成av人片| 日本高清视频一区二区| 欧美国产成人在线| 国产精品一区二区三区乱码| 欧美绝品在线观看成人午夜影视| 国产精品久久久久7777按摩| 久久97超碰色| 精品久久久久久久久久久院品网| 日韩在线一区二区| 51精品国自产在线| 日韩av一区二区三区四区| 99热精品一区二区| 日韩欧美国产麻豆| 亚洲嫩草精品久久| 极品瑜伽女神91| 在线观看成人小视频| 久久免费视频一区| www日韩大片| 亚洲精品久久久久久国产精华液| 裸体健美xxxx欧美裸体表演| 成人av网站大全| 精品乱人伦一区二区三区| 亚洲另类在线一区| 国产高清久久久久| 91精品国产综合久久精品性色| 国产精品看片你懂得| 免费欧美在线视频| 欧美精三区欧美精三区| 日韩理论片网站| 国产激情一区二区三区| 日韩欧美的一区| 午夜激情综合网| 在线观看成人小视频| 亚洲免费观看高清| 91久久精品一区二区三区| 国产精品夫妻自拍| 成人激情小说网站| 久久久国产精品午夜一区ai换脸| 奇米影视一区二区三区| 色综合久久天天综合网| 欧美国产国产综合| 国产精品一二三四| 久久综合久久99| 韩国欧美国产1区| 欧美精品一区二区三区久久久| 精品亚洲成a人| 99re这里都是精品| 中文字幕 久热精品 视频在线| 麻豆国产精品一区二区三区| 欧美一区二区精品| 精品在线亚洲视频| 久久欧美一区二区| 国产suv精品一区二区三区| 精品国产一二三| 国产福利一区二区| 国产精品日韩成人| 91亚洲精品久久久蜜桃网站| 日韩视频免费观看高清完整版 | 欧美视频中文一区二区三区在线观看| 国产精品视频免费| 成人免费毛片高清视频| 久久一夜天堂av一区二区三区| 美日韩一区二区| 久久精品无码一区二区三区| 国产成人欧美日韩在线电影| 中文字幕精品—区二区四季| 国产成人丝袜美腿| 亚洲精品亚洲人成人网| 91精品久久久久久蜜臀| 蜜臀av国产精品久久久久| 国产欧美精品一区二区色综合 | 香蕉久久夜色精品国产使用方法 | 波波电影院一区二区三区| 久久久久高清精品| 成人av在线电影| 亚洲综合一二区| 日韩欧美高清dvd碟片| 国产激情一区二区三区| 1024成人网| 欧美色区777第一页| 日韩国产精品91| 国产亚洲污的网站| 2欧美一区二区三区在线观看视频| jlzzjlzz亚洲日本少妇| 久久er精品视频| 国产精品久久久99| 亚洲午夜久久久久久久久电影院| 国产欧美日韩综合| 在线观看不卡一区| 欧美无砖砖区免费| 经典三级视频一区| 国产成人精品免费在线| 精品一区二区久久久| 天堂va蜜桃一区二区三区漫画版| 久久久不卡网国产精品一区| 国产亚洲精品aa| 欧美日韩视频在线一区二区 | 春色校园综合激情亚洲| 国产精品18久久久久久久久久久久 | 日韩伦理电影网| 精品美女被调教视频大全网站| 成人国产一区二区三区精品| 18成人在线视频| 欧美精品v国产精品v日韩精品 | 日韩高清不卡在线| 国产精品国产三级国产aⅴ原创 | 国内久久精品视频| 一区二区三区四区在线| 国产欧美精品一区| 欧美成人激情免费网| 成人av在线一区二区三区| 经典三级一区二区| 精品一区二区三区欧美| 免费在线看一区| 欧美日韩亚洲国产综合| 91在线精品一区二区| 亚洲国产乱码最新视频 | 日韩一级二级三级精品视频| 欧美亚洲综合一区| 日本在线不卡视频| 中文子幕无线码一区tr| 欧美妇女性影城| 美女国产一区二区三区| 宅男在线国产精品| 国产福利不卡视频| 成人影视亚洲图片在线| 国产电影一区在线| 成人自拍视频在线| 亚洲成人一区二区在线观看| 国产精品欧美经典| 中文字幕一区二区不卡| 亚洲天天做日日做天天谢日日欢| 色综合久久久久久久| 成熟亚洲日本毛茸茸凸凹| 成人午夜大片免费观看| 成人爱爱电影网址| 欧美视频一区二区在线观看| 欧美日韩夫妻久久| 久久综合999| 欧美成人免费网站|