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

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

?? d12ci.c

?? 51單片機控制USB的源代碼,不帶DMA控制功能.
?? C
字號:
/*
   //*************************************************************************
   //
   //                  		ZLGMCU
   //				www.zlgmcu.com
   // File Name:	D12ci.C
   // Revision:		0.2(2002-04-08)
   // Author:		Liu Ying Bin
   // Use library:  	USB51S.LIB
   // Note:			USB51S.LIB不帶DMA控制功能
   //*************************************************************************
   */
#include <reg51.h>                /* special function register declarations   */

#include "mainloop.h"
#include "isr.h"
#include "d12ci.h"
#include "absacc.h"

extern EPPFLAGS bEPPflags;

#define D12_COMMAND		XBYTE[0x7003]	//right
#define D12_DATA		XBYTE[0x7002]

//test for cpld
//#define D12_COMMAND		XBYTE[0x4001]
//#define D12_DATA		XBYTE[0x4000]


void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = 0xD0;
	
	if(bEnable)
		bAddress |= 0x80;
	D12_DATA = bAddress;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

void D12_SetEndpointEnable(unsigned char bEnable)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = 0xD8;
	if(bEnable)
		D12_DATA = 1;
	else
		D12_DATA = 0;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = 0xF3;
	D12_DATA = bConfig;
	D12_DATA = bClkDiv;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

void D12_SetDMA(unsigned char bMode)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = 0xFB;
	D12_DATA = bMode;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

unsigned short D12_ReadInterruptRegister(void)
{
	unsigned char b1;
	unsigned int j;

	D12_COMMAND = 0xF4;
	b1 = D12_DATA;
	j = D12_DATA;

	j <<= 8;
	j += b1;

	return j;
}

unsigned char D12_SelectEndpoint(unsigned char bEndp)
{
	unsigned char c;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = bEndp;
	c = D12_DATA;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return c;
}

unsigned char D12_ReadLastTransactionStatus(unsigned char bEndp)
{
	D12_COMMAND = 0x40 + bEndp;
	return D12_DATA;
}

/*
unsigned char D12_ReadEndpointStatus(unsigned char bEndp)
{
	unsigned char c;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = 0x40 + bEndp;
	c = D12_DATA;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return c;
}
*/

void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = 0x40 + bEndp;
	D12_DATA = bStalled;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

void D12_SendResume(void)
{
	D12_COMMAND = 0xF6;
}

unsigned short D12_ReadCurrentFrameNumber(void)
{
	unsigned short i,j;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = 0xF5;
	i = D12_DATA;
	j = D12_DATA;

	i += (j<<8);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return i;
}

/*
unsigned short D12_ReadChipID(void)
{
	unsigned short i,j;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(portbase+D12_COMMAND, 0xFD);
	i=inportb(portbase+D12_DATA);
	j=inportb(portbase+D12_DATA);
	i += (j<<8);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return i;
}
*/

unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
{
	unsigned char i, j;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = endp;
	i=D12_DATA;
	if((i & D12_FULLEMPTY) == 0) {
		if(bEPPflags.bits.in_isr == 0)
			ENABLE;
		return 0;
	}

	D12_COMMAND = 0xF0;
	j = D12_DATA;
	j = D12_DATA;

	if(j > len)
		j = len;

	for(i=0; i<j; i++)
		*(buf+i) = D12_DATA;

	D12_COMMAND = 0xF2;
	
	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return j;
}

unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
{
	unsigned char i;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	D12_COMMAND = endp;
	D12_DATA;

	D12_COMMAND = 0xF0;
	D12_DATA = 0;
	D12_DATA = len;

	for(i=0; i<len; i++)
		D12_DATA = *(buf+i);

	D12_COMMAND = 0xFA;

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return len;
}

void D12_AcknowledgeEndpoint(unsigned char endp)
{
	D12_COMMAND = endp;
	D12_COMMAND = 0xF1;
	if(endp == 0)
		D12_COMMAND = 0xF2;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡电影免费在线播放一区| 日韩美女天天操| 亚洲一区欧美一区| 一色屋精品亚洲香蕉网站| 久久精品日韩一区二区三区| 精品久久久三级丝袜| 91精品综合久久久久久| 欧美精品少妇一区二区三区| 欧美丰满一区二区免费视频| 日韩一区二区视频| 欧美成人国产一区二区| 精品国产成人系列| 国产精品麻豆99久久久久久| ...av二区三区久久精品| 亚洲九九爱视频| 亚洲成av人片www| 久久精品999| 国产99精品视频| 色香蕉久久蜜桃| 欧美精品久久久久久久久老牛影院| 这里只有精品99re| 26uuu另类欧美亚洲曰本| 国产精品免费久久久久| 欧美伊人精品成人久久综合97| 91视视频在线观看入口直接观看www | 国产一区视频在线看| 国产乱理伦片在线观看夜一区| 不卡视频免费播放| 欧美私模裸体表演在线观看| 欧美一区二区三区在线观看视频| 久久在线观看免费| 一区二区在线看| 激情综合色播激情啊| 色综合婷婷久久| 欧美一区2区视频在线观看| 国产成人综合亚洲网站| 最新国产成人在线观看| 亚洲男帅同性gay1069| 亚洲一区自拍偷拍| 国产一区二区三区在线看麻豆| 黄色日韩三级电影| 在线精品亚洲一区二区不卡| 精品国产亚洲在线| 一区二区成人在线| 国产成a人亚洲精品| 欧美日韩大陆一区二区| 18成人在线观看| 国产美女娇喘av呻吟久久| 欧美在线观看一区二区| 中文av字幕一区| 久久er99精品| 欧美色电影在线| 国产精品初高中害羞小美女文| 精品日本一线二线三线不卡| 亚洲日韩欧美一区二区在线| 国内精品久久久久影院一蜜桃| 日韩精品自拍偷拍| 亚洲欧美日韩中文字幕一区二区三区| 日本午夜精品视频在线观看| 91传媒视频在线播放| 国产精品久久久久影院| 国产精品一区不卡| 精品久久久久久久人人人人传媒| 亚欧色一区w666天堂| 在线亚洲高清视频| 亚洲四区在线观看| 99精品视频在线免费观看| 国产日韩三级在线| 国产成人在线看| 26uuu精品一区二区| 精品一区二区三区在线视频| 欧美一区二视频| 奇米影视7777精品一区二区| 制服丝袜一区二区三区| 婷婷丁香激情综合| 日韩一区二区三区高清免费看看| 五月天久久比比资源色| 欧美老年两性高潮| 日本美女一区二区三区| 日韩一级精品视频在线观看| 日韩在线a电影| 精品国产乱码久久久久久浪潮| 美女高潮久久久| 久久久久久久久久久久电影| 国产精华液一区二区三区| 中文字幕精品三区| 91在线精品一区二区三区| 亚洲综合精品久久| 欧美一区二区三区四区久久| 激情偷乱视频一区二区三区| 国产精品天美传媒| 色欧美88888久久久久久影院| 亚洲国产精品一区二区久久| 欧美电影一区二区| 国产麻豆精品在线观看| 中文无字幕一区二区三区| 色综合天天综合| 日韩福利视频导航| 久久蜜桃av一区二区天堂| www.亚洲国产| 天天综合日日夜夜精品| 久久综合999| 欧美在线观看视频一区二区 | 欧美午夜理伦三级在线观看| 日本女优在线视频一区二区| 国产片一区二区| 欧美日韩在线播放| 国产一区二区电影| 亚洲一区av在线| 久久精品亚洲麻豆av一区二区| 91蝌蚪porny| 国内一区二区视频| 亚洲一区在线观看免费| 国产女主播一区| 日韩一级片网站| 91影视在线播放| 国产毛片精品国产一区二区三区| 综合久久一区二区三区| 精品三级av在线| 91黄色小视频| 成人美女视频在线观看18| 青青青伊人色综合久久| 亚洲精品中文在线观看| 国产婷婷色一区二区三区 | 日韩精品在线一区| 色综合一个色综合亚洲| 国产99一区视频免费| 热久久久久久久| 亚洲最大的成人av| 中文字幕不卡在线播放| 日韩视频免费观看高清完整版 | 婷婷开心久久网| 国产精品福利一区二区| 精品国精品国产尤物美女| 欧美中文字幕一二三区视频| www.一区二区| 懂色av噜噜一区二区三区av| 麻豆91小视频| 秋霞国产午夜精品免费视频| 日本高清无吗v一区| 久久精品人人做| 91精品久久久久久久99蜜桃 | 亚洲国产精品成人久久综合一区 | 久久 天天综合| 午夜国产精品一区| 亚洲猫色日本管| 亚洲男人的天堂在线观看| 中文字幕精品在线不卡| 日本一区二区三区dvd视频在线| 精品欧美一区二区三区精品久久| 欧美丰满美乳xxx高潮www| 欧美日韩精品久久久| 欧美性视频一区二区三区| 91蜜桃婷婷狠狠久久综合9色| 不卡欧美aaaaa| 91亚洲国产成人精品一区二区三| 国产成都精品91一区二区三| 国产成都精品91一区二区三| 国产福利视频一区二区三区| 国产成人av一区二区三区在线| 国产精品99久久久久久久vr| 国产激情一区二区三区桃花岛亚洲| 精品影视av免费| 国产91精品在线观看| va亚洲va日韩不卡在线观看| 99国产精品久| 欧美日韩一级片在线观看| 制服丝袜一区二区三区| 精品成a人在线观看| 久久精品人人做人人综合 | 一本大道久久a久久精二百| 色综合久久久久久久| 欧美性色aⅴ视频一区日韩精品| 欧美精品tushy高清| 欧美成人精品高清在线播放 | 在线观看区一区二| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美午夜片在线看| wwwwxxxxx欧美| 成人免费在线观看入口| 亚洲一卡二卡三卡四卡| 久久爱www久久做| 成人精品电影在线观看| 欧美日韩免费不卡视频一区二区三区| 8v天堂国产在线一区二区| 久久久电影一区二区三区| 亚洲免费电影在线| 久久福利视频一区二区| av成人免费在线| 日韩免费电影网站| 亚洲免费观看高清完整版在线观看| 日韩av一二三| 99热99精品| 精品国精品国产| 一区二区欧美视频| 成人ar影院免费观看视频| 91精品啪在线观看国产60岁| 国产精品久久二区二区| 蜜桃av噜噜一区| 色拍拍在线精品视频8848|