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

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

?? test.c

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

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

#pragma NOAREGS
#include <reg52.h>
#include <string.h>
#include <absacc.h>
#include <INTRINS.H>

#include "CH375INC.H"	// 頭文件,在網上下載的CH372或者CH375評估板資料中有 

#define uchar unsigned char
#define DELAY_2us();	_nop_(); _nop_();
#define DELAY_3us();	_nop_(); _nop_(); _nop_();
#define DELAY_5us();	_nop_(); _nop_(); _nop_(); _nop_(); _nop_();

unsigned char volatile xdata CH375_CMD_PORT _at_ 0xC001;		// CH375命令端口的I/O地址 
unsigned char volatile xdata CH375_DAT_PORT _at_ 0xC000;		// CH375數據端口的I/O地址 

//晶體為11.0592MHZ
uchar    mucTime5ms;
uchar    mucTime100ms;
uchar    mucTime1s;
//uchar    mucTime60s;

uchar    muc1msDelay;
uchar    muc100msDelay;
uchar    muc1sDelay;
uchar    muc60sDelay;

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

// 延時1微秒,不精確,因為MCS51單片機較慢所以實際上無需延時 
//void	delay1us( )
//{
//	unsigned char i;
//	for ( i = 1; i != 0; i -- );
//}
/*
// 延時50毫秒,不精確 
void	Delay50ms( )
{
	unsigned char i, j;
	for ( i=200; i!=0; i-- ) for ( j=250; j!=0; j-- );
}
*/
//定時器0中斷延時n*1ms,最大值為256ms
void delay_ms(uchar n)
{
 	for(muc1msDelay=0;muc1msDelay<n;);
}
/*
//定時器0延時n*100ms,最大值為25600ms=25.6s
void delay_100ms(uchar n)
{
 	for(muc100msDelay=0;muc100msDelay<n;);
}
/*
//定時器0延時n*1s,最大值為256s=約4.27分鐘
void delay_1s(uchar n)
{
 	for(muc1sDelay=0;muc1sDelay<n;);
}
*/


// 基本操作 
void CH375_WR_CMD_PORT( unsigned char cmd ) 
{  
	// 向CH375的命令端口寫入命令,周期不小于4uS,如果單片機較快則延時 
	//delay2us();
	DELAY_2us()
	CH375_CMD_PORT=cmd;
	//delay2us();
	DELAY_2us()
}

void CH375_WR_DAT_PORT( unsigned char dat ) 
{  
	// 向CH375的數據端口寫入數據,周期不小于1.5uS,如果單片機較快則延時 
	CH375_DAT_PORT=dat;
}

unsigned char CH375_RD_DAT_PORT( void ) 
{  
	// 從CH375的數據端口讀出數據,周期不小于1.5uS,如果單片機較快則延時 
	//	delay1us();  // 因為MCS51單片機較慢所以實際上無需延時 
	return( CH375_DAT_PORT );
}

// CH375初始化子程序 
void	CH375_Init(void)
{
	unsigned char i;
	//Delay50ms( );  // 延時50ms 
	delay_ms(60);
	//硬件復位
	CH375_WR_CMD_PORT(CMD_RESET_ALL);
	//Delay50ms( );  // 延時50ms 
	delay_ms(60);

	// 測試CH375是否正常工作,可選操作,通常不需要 
	CH375_WR_CMD_PORT( CMD_CHECK_EXIST );  // 測試CH375是否正常工作 
	CH375_WR_DAT_PORT( 0x55 );  // 寫入測試數據 
	i = ~ 0x55;  // 返回數據應該是測試數據取反 
	if ( CH375_RD_DAT_PORT( ) != i ) {  // CH375不正常 
		for ( i=80; i!=0; i-- ) {
			CH375_WR_CMD_PORT( CMD_RESET_ALL );  // 多次重復發命令,執行硬件復位 
			CH375_RD_DAT_PORT( );
		}
		CH375_WR_CMD_PORT( 0 );
		//Delay50ms( );  // 延時50ms 
		delay_ms(60);
	}
	// 設置USB工作模式, 必要操作 
	CH375_WR_CMD_PORT( CMD_SET_USB_MODE );
	CH375_WR_DAT_PORT( 2 );  // 設置為使用內置固件的USB設備方式 
	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;  // 置外部信號為低電平觸發 
	//IE0 = 0;  // 清中斷標志 
	//EX0 = 1;  // 允許CH375中斷 

	EA=0;
	IT1 = 1;  // 置外部信號為低電平觸發 
	IE1 = 0;  // 清中斷標志 
	EX1 = 1;  // 允許CH375中斷 
	EA=1;
}
void init(void)
{
	//定時器0工作在方式1,作為16位定時器
	//定時器1工作在方式2,作為波特率發生器
	TMOD=0x21;
    	TL0=-(4608%256);//5ms中斷一次
    	TH0=-(4608/256);

	TL1=0xE8; //串口波特率為1200,晶體為11.0592MHZ
	TH1=0xE8;

	SCON=0x50;//串口工作方式一,允許接收
	PCON=0;

    	IE=0x16;     	//允許串行口中斷,定時器0中斷,外中斷1
	TCON=0x54;	//外部中斷1為下降沿觸發,啟動定時器0,1

	EA=1;

	mucTime5ms=0;            //5毫秒計數器
	mucTime100ms=0;          //100毫秒計數器
	mucTime1s=0;             //秒計數器
}
//晶體為11.0592MHZ
void time0(void) interrupt 1 using 1
{
	//TL0=0x00;	//定時器0時常數為50mS
    	//TH0=0x4C;
    	TL0=-(4608%256);//5ms中斷一次
    	TH0=-(4608/256);
	mucTime5ms++;
	muc1msDelay+=5;
	if(mucTime5ms>=20)
	{
		mucTime5ms=0;
		mucTime100ms++;
		muc100msDelay++;
		if(mucTime100ms>=10)
		{
			mucTime100ms=0;
			//mucTime1s++;
			muc1sDelay++;
			/*if(mucTime1s>=60)
			{
				mucTime1s=0;
				mucTime60s++;
			}*/
		}
	}
}

unsigned char data buffer[ 64 ];

// CH375中斷服務程序,使用寄存器組1 
//void	mCh375Interrupt(void) interrupt 0 using 1
void	mCh375Interrupt(void) interrupt 2 using 1
{
	unsigned char InterruptStatus;
	unsigned char i, length;
	CH375_WR_CMD_PORT( CMD_GET_STATUS );  // 獲取中斷狀態并取消中斷請求 
	InterruptStatus = CH375_RD_DAT_PORT( );  // 獲取中斷狀態 
	switch ( InterruptStatus ) {  // 分析中斷狀態處理 
		case USB_INT_EP2_OUT: {  // 批量端點下傳成功 
			CH375_WR_CMD_PORT( CMD_RD_USB_DATA );  // 從當前USB中斷的端點緩沖區讀取數據塊,并釋放緩沖區 
			length = CH375_RD_DAT_PORT( );  // 首先讀取后續數據長度 
			for ( i = 0; i < length; i ++ ) buffer[ i ] = CH375_RD_DAT_PORT( );  // 接收數據包 
			// 測試數據正確性,將接收到的命令包數據取反后返回給PC機 
			CH375_WR_CMD_PORT( CMD_WR_USB_DATA7 );  // 向USB端點2的發送緩沖區寫入數據塊 
			CH375_WR_DAT_PORT( length );  // 首先寫入后續數據長度,回傳剛接收到的數據長度 
			for ( i = 0; i < length; i ++ ) CH375_WR_DAT_PORT( ~ buffer[ i ] );  // 數據取反后返回,由計算機應用程序測試數據是否正確 
			break;
		}
		case USB_INT_EP2_IN: {  // 批量數據發送成功 
			CH375_WR_CMD_PORT( CMD_UNLOCK_USB );  // 釋放當前USB緩沖區 
			break;
		}
		default: {  // 其它中斷,未用到,解鎖后退出即可 
			CH375_WR_CMD_PORT( CMD_UNLOCK_USB );  // 釋放當前USB緩沖區 
			break;
		}
	}
}
/*
main( ) {
	Delay50ms( );	// 延時等待CH375初始化完成,如果單片機由CH375提供復位信號則不必延時 
	CH375_Init();  // 初始化CH375 
	EA = 1;  // 允許中斷 
	while ( 1 );  // 以下指令開始工作循環,等待PC機命令進行操作 
}
*/

void main(void)
{
	init();
	delay_ms(50);
	CH375_Init();  // 初始化CH375 
	EA=1;
	while(1)
	{
		;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩五月天| 亚洲男人电影天堂| 亚洲日本乱码在线观看| 天天av天天翘天天综合网色鬼国产| 九九九精品视频| 欧美伊人久久久久久午夜久久久久| 2023国产精品视频| 日本欧美在线观看| 在线观看亚洲精品视频| 国产日本一区二区| 国产精品自拍在线| 精品久久久久香蕉网| 婷婷开心激情综合| 色婷婷综合久久久久中文一区二区 | 在线播放中文字幕一区| 亚洲免费观看高清完整版在线观看 | 国内精品伊人久久久久av一坑 | 欧美高清在线一区| 国产在线观看一区二区| 欧美一区二区精美| 日本系列欧美系列| 欧美日韩高清一区二区不卡 | 国产米奇在线777精品观看| 日韩一区二区三区免费看 | 一区二区三区产品免费精品久久75| 国产精品一区二区免费不卡| 欧美日韩国产一级二级| 亚洲精品亚洲人成人网| 972aa.com艺术欧美| 中文字幕在线免费不卡| hitomi一区二区三区精品| 国产亚洲精久久久久久| 国产福利精品导航| 中文字幕av一区 二区| 成人性色生活片| 国产精品三级视频| av欧美精品.com| 亚洲综合一区二区三区| 欧美巨大另类极品videosbest | 亚洲h精品动漫在线观看| 欧美怡红院视频| 丝袜美腿一区二区三区| 欧美成人性福生活免费看| 国产做a爰片久久毛片| 国产情人综合久久777777| 不卡高清视频专区| 亚洲综合av网| 日韩一级片在线观看| 国产精品资源在线| 亚洲色图制服诱惑| 欧美色图一区二区三区| 蜜臀91精品一区二区三区| 久久综合久久综合久久| 波多野结衣的一区二区三区| 亚洲高清免费观看| 久久日韩粉嫩一区二区三区| www.亚洲在线| 午夜精品影院在线观看| 久久综合色播五月| 91福利社在线观看| 国产在线麻豆精品观看| 亚洲精品国产a| 日韩美女在线视频| 99视频在线观看一区三区| 日韩电影在线观看网站| 国产精品全国免费观看高清| 欧美日韩精品欧美日韩精品| 国产精品一线二线三线精华| 一区二区视频免费在线观看| 日韩欧美国产一区在线观看| 97精品超碰一区二区三区| 久久国产婷婷国产香蕉| 亚洲中国最大av网站| 日韩亚洲欧美综合| 色成人在线视频| 国产在线精品免费| 午夜精品免费在线观看| 国产女主播视频一区二区| 91精品国产综合久久香蕉的特点| 国产福利一区二区三区视频在线| 亚洲成人免费在线观看| 国产女主播一区| 精品国产一区二区亚洲人成毛片 | 欧美伦理电影网| 成人激情视频网站| 韩国三级在线一区| 日韩高清一区二区| 亚洲国产日日夜夜| 亚洲女人小视频在线观看| 久久―日本道色综合久久| 91精品久久久久久久99蜜桃| 色视频欧美一区二区三区| 丁香亚洲综合激情啪啪综合| 久久激情五月激情| 日韩av午夜在线观看| 亚洲自拍偷拍综合| 亚洲精品日韩一| 国产精品另类一区| 国产亚洲综合色| 久久女同互慰一区二区三区| 欧美成人国产一区二区| 这里只有精品电影| 91精品国产高清一区二区三区蜜臀| 在线免费视频一区二区| 久久综合久久综合久久| 91精品国产91久久久久久一区二区| 在线观看三级视频欧美| 91片在线免费观看| 色就色 综合激情| 日本韩国一区二区| 91麻豆视频网站| 一本久道久久综合中文字幕| 99视频热这里只有精品免费| www.欧美.com| 91麻豆国产福利精品| 91亚洲大成网污www| 色婷婷激情久久| 欧美丝袜丝交足nylons| 欧美日韩精品一区二区三区蜜桃 | 94色蜜桃网一区二区三区| 91影视在线播放| 欧美色图第一页| 欧美一区二区精品| 久久在线免费观看| 国产欧美日韩三区| 成人免费在线视频| 亚洲香蕉伊在人在线观| 日本一区中文字幕| 蜜桃av一区二区三区电影| 国产一区二区在线观看免费| 国产精品一线二线三线| 99久久国产综合精品色伊| 欧美撒尿777hd撒尿| 日韩一区二区三区四区| 久久精品人人做人人爽人人| 国产精品久久久久久久午夜片| 亚洲欧洲精品一区二区三区 | 欧美三级蜜桃2在线观看| 91精品国产一区二区三区蜜臀| 精品久久久久一区二区国产| 日本一区二区免费在线观看视频 | 91日韩精品一区| 777精品伊人久久久久大香线蕉| 精品国产精品网麻豆系列| 国产日韩欧美精品综合| 一区二区三区不卡在线观看 | 欧美精品一区二区精品网| 日本一区二区高清| 视频一区视频二区中文字幕| 国产剧情在线观看一区二区| 日本道在线观看一区二区| 日韩精品一区二区在线观看| 国产日韩欧美精品电影三级在线 | 亚洲色图在线视频| 麻豆成人免费电影| 91视频在线看| 久久久久免费观看| 亚洲高清免费视频| 成人黄动漫网站免费app| 欧美一级国产精品| 一区二区欧美视频| 国产91丝袜在线播放| 欧美日韩国产首页| 综合激情成人伊人| 国产一区视频导航| 欧美日韩精品三区| 亚洲精选在线视频| 国产成人在线视频播放| 91精品国产日韩91久久久久久| 中文字幕亚洲区| 国产裸体歌舞团一区二区| 欧美日韩不卡在线| 亚洲精品久久久蜜桃| 成人激情校园春色| 国产亚洲综合性久久久影院| 日本aⅴ免费视频一区二区三区| 色8久久精品久久久久久蜜| 日本一区二区三区四区在线视频| 日韩电影在线一区二区| 欧美熟乱第一页| 亚洲午夜视频在线| 在线观看亚洲精品| 一区二区三区在线免费视频| 丁香婷婷综合色啪| 蜜臀久久久久久久| 久久成人综合网| 成人亚洲精品久久久久软件| 欧美一区二区在线视频| 亚洲大片精品永久免费| 在线观看国产91| 亚洲黄色免费电影| 91香蕉视频在线| 亚洲天堂2016| 色综合激情五月| 亚洲一卡二卡三卡四卡五卡| av在线不卡网| 最近中文字幕一区二区三区| 99久久99久久精品国产片果冻| 中文字幕制服丝袜一区二区三区| 国产精品白丝jk黑袜喷水|