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

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

?? test.c

?? USB接口芯片的單片機(jī)端借口程序
?? C
字號:
/*
; CH375/CH372 Bulk Data Test
; U2(AT89C51) Program
; 本程序測試數(shù)據(jù)傳輸?shù)恼_性,可以用于長時間連續(xù)測試,對應(yīng)的計算機(jī)端的測試程序為TEST.EXE
; 方法: 下傳隨機(jī)長度的隨機(jī)數(shù)據(jù)包,被單片機(jī)接收并將數(shù)據(jù)按位取反后返回,最終由計算機(jī)程序接收后比較數(shù)據(jù)是否正確
;
; Website:  http://winchiphead.com
; Email:    tech@winchiphead.com
; Author:   W.ch 2003.09
*/

/* MCS-51單片機(jī)C語言的示例程序,用于其它單片機(jī)時一般只要修改前面幾個接口子程序及硬件定義 */

#pragma NOAREGS
#include <reg52.h>
#include <string.h>
#include "CH375INC.H"	/* 頭文件,在網(wǎng)上下載的CH372或者CH375評估板資料中有 */

unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1;		/* CH375命令端口的I/O地址 */
unsigned char volatile xdata CH375_DAT_PORT _at_ 0xBCF0;		/* CH375數(shù)據(jù)端口的I/O地址 */

/* 延時2微秒,不精確 */
void	delay2us( )
{
	unsigned char i;
	for ( i = 2; i != 0; i -- );  /* 根據(jù)單片機(jī)的時鐘選擇初值 */
}

/* 延時1微秒,不精確,因為MCS51單片機(jī)較慢所以實際上無需延時 */
//void	delay1us( )
//{
//	unsigned char i;
//	for ( i = 1; i != 0; i -- );
//}

/* 基本操作 */

void CH375_WR_CMD_PORT( unsigned char cmd ) {  /* 向CH375的命令端口寫入命令,周期不小于4uS,如果單片機(jī)較快則延時 */
	delay2us();
	CH375_CMD_PORT=cmd;
/* ******************** 注釋中是用普通I/O引腳模擬8位并口的時序,CH375_CS引腳是可選的,可以一直接GND強制片選
	CH375_D0_D7 = cmd;
	CH375_A0 = 1;  選擇CH375的命令口
//	CH375_D0_D7_DIR = output;  對于標(biāo)準(zhǔn)雙向I/O,請在此設(shè)置為輸出方向
	CH375_RD = 1;  如果I/O默認(rèn)電平是高電平,那么這是可選操作
	CH375_CS = 0;
	CH375_WR = 0;
//	CH375_CS = 0;  對于高速單片機(jī),該指令用于延時,以便向CH375_WR產(chǎn)生寬度至少為80nS的低電平脈沖
	CH375_WR = 1;
	CH375_CS = 1;
	CH375_A0 = 0;
//	CH375_D0_D7_DIR = input;  對于標(biāo)準(zhǔn)雙向I/O,請在此設(shè)置為輸入方向
	CH375_D0_D7 = 0xFF;  對于準(zhǔn)雙向I/O,請在此設(shè)置輸出全高電平
******************** */
	delay2us();
}

void CH375_WR_DAT_PORT( unsigned char dat ) {  /* 向CH375的數(shù)據(jù)端口寫入數(shù)據(jù),周期不小于1.5uS,如果單片機(jī)較快則延時 */
	CH375_DAT_PORT=dat;
/* ******************** 注釋中是用普通I/O引腳模擬8位并口的時序
	CH375_D0_D7 = dat;
//	CH375_D0_D7_DIR = output;  對于標(biāo)準(zhǔn)雙向I/O,請在此設(shè)置為輸出方向
	CH375_CS = 0;
	CH375_WR = 0;
//	CH375_CS = 0;  對于高速單片機(jī),該指令用于延時,以便向CH375_WR產(chǎn)生寬度至少為80nS的低電平脈沖
	CH375_WR = 1;
	CH375_CS = 1;
//	CH375_D0_D7_DIR = input;  對于標(biāo)準(zhǔn)雙向I/O,請在此設(shè)置為輸入方向
	CH375_D0_D7 = 0xFF;  對于準(zhǔn)雙向I/O,請在此設(shè)置輸出全高電平
******************** */
//	delay1us();  /* 因為MCS51單片機(jī)較慢所以實際上無需延時 */
}

unsigned char CH375_RD_DAT_PORT( void ) {  /* 從CH375的數(shù)據(jù)端口讀出數(shù)據(jù),周期不小于1.5uS,如果單片機(jī)較快則延時 */
//	delay1us();  /* 因為MCS51單片機(jī)較慢所以實際上無需延時 */
/* ******************** 注釋中是用普通I/O引腳模擬8位并口的時序
//	CH375_D0_D7_DIR = input;  對于標(biāo)準(zhǔn)雙向I/O,請在此設(shè)置為輸入方向
	CH375_D0_D7 = 0xFF;  對于準(zhǔn)雙向I/O,請在此設(shè)置輸出全高電平,便于輸入
	CH375_CS = 0;
	CH375_RD = 0;
//	CH375_CS = 0;  對于高速單片機(jī),該指令用于延時,以便向CH375_RD產(chǎn)生寬度至少為80nS的低電平脈沖
	unsigned char dat = CH375_D0_D7;
	CH375_RD = 1;
	CH375_CS = 1;
	CH375_D0_D7 = 0xFF;  對于準(zhǔn)雙向I/O,請在此設(shè)置輸出全高電平
	return( dat );
******************** */
	return( CH375_DAT_PORT );
}

/* 延時50毫秒,不精確 */
void	Delay50ms( )
{
	unsigned char i, j;
	for ( i=200; i!=0; i-- ) for ( j=250; j!=0; j-- );
}

/* CH375初始化子程序 */
void	CH375_Init( )
{
	unsigned char i;
/* 測試CH375是否正常工作,可選操作,通常不需要 */
	CH375_WR_CMD_PORT( CMD_CHECK_EXIST );  /* 測試CH375是否正常工作 */
	CH375_WR_DAT_PORT( 0x55 );  /* 寫入測試數(shù)據(jù) */
	i = ~ 0x55;  /* 返回數(shù)據(jù)應(yīng)該是測試數(shù)據(jù)取反 */
	if ( CH375_RD_DAT_PORT( ) != i ) {  /* CH375不正常 */
		for ( i=80; i!=0; i-- ) {
			CH375_WR_CMD_PORT( CMD_RESET_ALL );  /* 多次重復(fù)發(fā)命令,執(zhí)行硬件復(fù)位 */
			CH375_RD_DAT_PORT( );
		}
		CH375_WR_CMD_PORT( 0 );
		Delay50ms( );  /* 延時50ms */
	}
/* 設(shè)置USB工作模式, 必要操作 */
	CH375_WR_CMD_PORT( CMD_SET_USB_MODE );
	CH375_WR_DAT_PORT( 2 );  /* 設(shè)置為使用內(nèi)置固件的USB設(shè)備方式 */
	for ( i=100; i!=0; i-- ) {  /* 等待操作成功,通常需要等待10uS-20uS */
		if ( CH375_RD_DAT_PORT( ) == CMD_RET_SUCCESS ) break;
	}
/*	if ( i==0 ) { CH372/CH375存在硬件錯誤 }; */
/* 下述啟用中斷,假定CH375連接在INT0 */
	IT0 = 0;  /* 置外部信號為低電平觸發(fā) */
	IE0 = 0;  /* 清中斷標(biāo)志 */
	EX0 = 1;  /* 允許CH375中斷 */
}

/* CH375中斷服務(wù)程序,使用寄存器組1 */
void	mCh375Interrupt( ) interrupt 0 using 1
{
	unsigned char InterruptStatus;
	unsigned char i, length;
	unsigned char data buffer[ 64 ];
	CH375_WR_CMD_PORT( CMD_GET_STATUS );  /* 獲取中斷狀態(tài)并取消中斷請求 */
	InterruptStatus = CH375_RD_DAT_PORT( );  /* 獲取中斷狀態(tài) */
	switch ( InterruptStatus ) {  /* 分析中斷狀態(tài)處理 */
		case USB_INT_EP2_OUT: {  /* 批量端點下傳成功 */
			CH375_WR_CMD_PORT( CMD_RD_USB_DATA );  /* 從當(dāng)前USB中斷的端點緩沖區(qū)讀取數(shù)據(jù)塊,并釋放緩沖區(qū) */
			length = CH375_RD_DAT_PORT( );  /* 首先讀取后續(xù)數(shù)據(jù)長度 */
			for ( i = 0; i < length; i ++ ) buffer[ i ] = CH375_RD_DAT_PORT( );  /* 接收數(shù)據(jù)包 */
			/* 測試數(shù)據(jù)正確性,將接收到的命令包數(shù)據(jù)取反后返回給PC機(jī) */
			CH375_WR_CMD_PORT( CMD_WR_USB_DATA7 );  /* 向USB端點2的發(fā)送緩沖區(qū)寫入數(shù)據(jù)塊 */
			CH375_WR_DAT_PORT( length );  /* 首先寫入后續(xù)數(shù)據(jù)長度,回傳剛接收到的數(shù)據(jù)長度 */
			for ( i = 0; i < length; i ++ ) CH375_WR_DAT_PORT( ~ buffer[ i ] );  /* 數(shù)據(jù)取反后返回,由計算機(jī)應(yīng)用程序測試數(shù)據(jù)是否正確 */
			break;
		}
		case USB_INT_EP2_IN: {  /* 批量數(shù)據(jù)發(fā)送成功 */
			CH375_WR_CMD_PORT( CMD_UNLOCK_USB );  /* 釋放當(dāng)前USB緩沖區(qū) */
			break;
		}
		default: {  /* 其它中斷,未用到,解鎖后退出即可 */
			CH375_WR_CMD_PORT( CMD_UNLOCK_USB );  /* 釋放當(dāng)前USB緩沖區(qū) */
			break;
		}
	}
}

main( ) {
	Delay50ms( );	/* 延時等待CH375初始化完成,如果單片機(jī)由CH375提供復(fù)位信號則不必延時 */
	CH375_Init( );  /* 初始化CH375 */
	EA = 1;  /* 允許中斷 */
	while ( 1 );  /* 以下指令開始工作循環(huán),等待PC機(jī)命令進(jìn)行操作 */
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情综合网| 成人高清免费观看| 粉嫩欧美一区二区三区高清影视| 99久久国产综合精品女不卡| 制服丝袜日韩国产| 亚洲欧美日韩人成在线播放| 国产乱码精品一区二区三区av| 欧美精品一级二级| 专区另类欧美日韩| 本田岬高潮一区二区三区| 日韩视频永久免费| 日本三级韩国三级欧美三级| 日本精品视频一区二区| 国产精品高潮久久久久无| 国产成人av一区二区三区在线| 欧美久久一二区| 午夜激情一区二区| 欧美色综合天天久久综合精品| 最近日韩中文字幕| 成人免费毛片片v| 国产欧美中文在线| 国产91丝袜在线播放| 精品久久久三级丝袜| 麻豆精品蜜桃视频网站| 欧美一区二区成人6969| 日韩和的一区二区| 欧美乱妇15p| 日本成人在线电影网| 日韩精品一区二区三区视频播放| 日日夜夜精品视频天天综合网| 欧美色男人天堂| 亚洲制服丝袜av| 欧美精品一二三区| 麻豆精品一区二区av白丝在线| 日韩欧美国产午夜精品| 久久99久久99| wwwwww.欧美系列| 国产成人午夜精品5599| 国产精品无码永久免费888| 成人美女在线视频| 一区二区三区中文字幕电影| 欧洲视频一区二区| 天天影视涩香欲综合网| 日韩一区二区免费在线电影| 久久99久久久久| 国产亚洲1区2区3区| 成人中文字幕合集| 尤物在线观看一区| 91精品国产欧美一区二区| 精品一区二区三区的国产在线播放| 欧美mv日韩mv国产网站| 成人高清伦理免费影院在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 午夜免费久久看| 欧美精品第1页| 黄色精品一二区| 国产精品久久久久久久久搜平片| 色欧美日韩亚洲| 美女一区二区三区在线观看| 国产欧美日韩中文久久| 欧美性色欧美a在线播放| 麻豆精品视频在线观看免费| 国产精品乱码久久久久久| 欧美色涩在线第一页| 国产美女视频91| 亚洲一区二区三区小说| 久久综合狠狠综合| 在线免费观看日本欧美| 国产一区91精品张津瑜| 亚洲午夜精品一区二区三区他趣| 久久综合五月天婷婷伊人| 欧美艳星brazzers| 国产高清精品久久久久| 五月天一区二区| 中文字幕欧美三区| 欧美一级欧美一级在线播放| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 亚洲欧美日韩人成在线播放| 日韩视频中午一区| 在线视频你懂得一区| 国产99一区视频免费 | 精品视频在线免费看| 国产一区二区三区四区五区入口| 亚洲一区二区在线视频| 欧美国产1区2区| 精品少妇一区二区三区在线播放 | 亚洲免费看黄网站| 2021国产精品久久精品| 这里只有精品99re| 欧美色图天堂网| 91免费国产在线| 福利一区福利二区| 精品午夜一区二区三区在线观看| 一区二区三区欧美久久| 中文字幕精品一区| 国产欧美一区二区精品忘忧草| 欧美精品tushy高清| 在线视频你懂得一区二区三区| 成人免费av在线| 成人一区二区视频| 国产一区不卡视频| 国产一区二区三区av电影 | 久久久夜色精品亚洲| 日韩一区二区三区电影| 欧美精品乱码久久久久久按摩| 91黄视频在线观看| 色婷婷久久久亚洲一区二区三区| gogo大胆日本视频一区| 成人一区在线观看| 成人app在线观看| 成人免费三级在线| 99精品视频在线播放观看| 成人av免费观看| 91网站最新地址| 色婷婷久久久亚洲一区二区三区 | 精品国产露脸精彩对白 | 亚洲夂夂婷婷色拍ww47 | 5858s免费视频成人| 91精品国产综合久久蜜臀| 91精选在线观看| 精品国精品自拍自在线| 久久久激情视频| 国产免费成人在线视频| 国产精品网曝门| 亚洲免费三区一区二区| 亚洲高清免费视频| 另类小说视频一区二区| 国产精品18久久久久久久久 | 精品国产一区a| 国产丝袜在线精品| 国产精品高潮呻吟| 亚洲主播在线播放| 麻豆精品视频在线观看视频| 国产精品91一区二区| 色婷婷综合中文久久一本| 欧美性videosxxxxx| 日韩精品专区在线影院观看| 国产视频亚洲色图| 国产精品白丝在线| 天堂成人免费av电影一区| 蜜臀av一级做a爰片久久| 国产一区二区电影| av电影天堂一区二区在线观看| 91国偷自产一区二区开放时间| 欧美一区二区三区小说| 久久久不卡网国产精品一区| 日韩理论电影院| 免费观看成人av| 99国产精品视频免费观看| 欧美一区二区精品| 亚洲天天做日日做天天谢日日欢| 婷婷亚洲久悠悠色悠在线播放| 国产iv一区二区三区| 欧美片网站yy| 国产精品久久久久一区二区三区共 | 国产日韩精品一区二区浪潮av| 亚洲一卡二卡三卡四卡| 国产一区二区h| 欧美精品久久久久久久多人混战| 国产精品丝袜91| 久久精品噜噜噜成人88aⅴ| 91免费看片在线观看| 久久嫩草精品久久久精品一| 亚洲一区免费观看| 成人理论电影网| 精品日韩欧美在线| 亚洲成人av资源| 91浏览器入口在线观看| 精品国产乱码久久久久久蜜臀| 亚洲午夜精品久久久久久久久| 大胆欧美人体老妇| 精品国产一二三| 蜜臀av一区二区在线观看| 欧美性一二三区| 综合久久给合久久狠狠狠97色| 国产一区二区三区在线观看免费视频| 欧美日韩免费在线视频| 亚洲欧美日韩电影| av色综合久久天堂av综合| 久久九九99视频| 国内成人精品2018免费看| 欧美理论片在线| 亚洲国产中文字幕在线视频综合| 粉嫩aⅴ一区二区三区四区| 久久综合色8888| 激情综合亚洲精品| 欧美www视频| 久久国产三级精品| 精品久久国产老人久久综合| 日韩av高清在线观看| 欧美精品少妇一区二区三区| 亚洲无线码一区二区三区| 欧美专区日韩专区| 亚洲在线视频免费观看| 欧美亚洲一区二区在线| 亚洲午夜精品在线| 91麻豆精品国产自产在线 | 精品国产亚洲在线| 久久69国产一区二区蜜臀| ww久久中文字幕|