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

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

?? usb_main.c

?? C8051F320 USB示波器測試程序
?? C
字號:
//-----------------------------------------------------------------------------
// F32x_USB_Main.c
//-----------------------------------------------------------------------------
// Copyright 2005 Silicon Laboratories, Inc.
// http://www.silabs.com
//
// Program Description:
//
// This application note covers the implementation of a simple USB application 
// using the interrupt transfer type. This includes support for device
// enumeration, control and interrupt transactions, and definitions of 
// descriptor data. The purpose of this software is to give a simple working 
// example of an interrupt transfer application; it does not include
// support for multiple configurations or other transfer types.
//
// How To Test:    See Readme.txt
//
//
// FID:            32X000024
// Target:         C8051F32x
// Tool chain:     Keil C51 7.50 / Keil EVAL C51
//                 Silicon Laboratories IDE version 2.6
// Command Line:   See Readme.txt
// Project Name:   F32x_USB_Interrupt
//
//
// Release 1.3
//    -All changes by GP
//    -22 NOV 2005
//    -Changed revision number to match project revision
//     No content changes to this file
//    -Modified file to fit new formatting guidelines
//    -Changed file name from USB_MAIN.c

// Release 1.1
//    -All changes by DM
//    -22 NOV 2002
//    -Added support for switches and sample USB interrupt application.
//
// Release 1.0
//    -Initial Revision (JS)
//    -22 FEB 2002
//

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include <c8051f320.h>
#include "USB_Register.h"
#include "USB_Main.h"
#include "USB_Descriptor.h"
#include "intrins.h"


//-----------------------------------------------------------------------------
// 16-bit SFR Definitions for 'F32x
//-----------------------------------------------------------------------------


//-----------------------------------------------------------------------------
// Globals
//-----------------------------------------------------------------------------

sbit Led1 = P0^2;                      // LED='1' means ON
sbit RESET_IN    	= P0^6;

sbit RESET_OUT   	= P1^2;
sbit BDM_DIR    	= P1^4;
sbit BDM_IO      	= P1^6;
sbit BDM_CAP     	= P1^7;

idata BYTE command_buffer[128];
unsigned char * xdata pIn;
unsigned char * xdata pOut;
xdata unsigned char buffer[512];

//-----------------------------------------------------------------------------
// Main Routine
//-----------------------------------------------------------------------------

unsigned int cnt;
unsigned int sync_length;

void main(void)
{
	
	Port_Init();                        // Initialize crossbar and GPIO
	PCA0MD &= ~0x40;                    // Disable Watchdog timer
	Delay();
	Delay();
	Delay();
	Delay();
	Delay();
	Sysclk_Init();                      // Initialize oscillator
	Usb0_Init();                        // Initialize USB0
	Timer_Init();                       // Initialize timer2
	pIn = pOut = buffer;
	EIE1 |= 0x08;
	ADC_Init();
	while (1)
	{
	
	}
}

//-----------------------------------------------------------------------------
// Initialization Subroutines
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Sysclk_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// Initialize the system clock and USB clock
//
//-----------------------------------------------------------------------------
void Sysclk_Init(void)
{
   OSCICN |= 0x03;                     // Configure internal oscillator for
                                       // its maximum frequency and enable
                                       // missing clock detector

   CLKMUL  = 0x00;                     // Select internal oscillator as	input to clock multiplier

   CLKMUL |= 0x80;                     // Enable clock multiplier
   Delay();                            // Delay for clock multiplier to begin
   CLKMUL |= 0xC0;                     // Initialize the clock multiplier
   Delay();                            // Delay for clock multiplier to begin

   while(!(CLKMUL & 0x20));            // Wait for multiplier to lock
   CLKSEL  = SYS_4X_DIV_2;             // Select system clock
   CLKSEL |= USB_4X_CLOCK;             // Select USB clock
}

//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This function configures the crossbar and GPIO ports.
//
// P1.7   analog                  Potentiometer
// P2.2   digital   push-pull     LED
// P2.3   digital   push-pull     LED
//-----------------------------------------------------------------------------
void Port_Init(void)
{
   P0SKIP   = 0xFF;	//0b11111111;	   // Port 0 pin 7 skipped by crossbar
   P0MDIN   = 0xFE;	//0b11111110;	   // Port 0 pin 6 set as no analog input
   P0MDOUT  = 0x00; //0b00000000;      // Port 0 pins 0-7 set push-pull

   P1SKIP   = 0x7F;	//0b01111111;      // Port 1 pin 7 skipped by crossbar
   P1MDIN   = 0xFE;	//0b11111111;      // Port 1 pin 6 set as no analog input
   P1MDOUT  = 0x14;	//0b00010100;      // Port 1 pins 0-7 set push-pull

   P2MDOUT |= 0x0C;                    // P2.2 and P2.3 set to push-pull

   XBR0     = 0x00;
   XBR1     = 0x41;                    // Enable Crossbar
}

//-----------------------------------------------------------------------------
// Usb0_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
// 
// - Initialize USB0
// - Enable USB0 interrupts
// - Enable USB0 transceiver
// - Enable USB0 with suspend detection
//-----------------------------------------------------------------------------
void Usb0_Init(void)
{
   // Set initial values of In_Packet and Out_Packet to zero
   // Initialized here so that WDT doesn't kick in first

   POLL_WRITE_BYTE(POWER,  0x08);      // Force Asynchronous USB Reset
   POLL_WRITE_BYTE(IN1IE,  0x0F);      // Enable Endpoint 0-2 in interrupts
   POLL_WRITE_BYTE(OUT1IE, 0x0F);      // Enable Endpoint 0-2 out interrupts
   POLL_WRITE_BYTE(CMIE,   0x07);      // Enable Reset,Resume,Suspend interrupts

   USB0XCN = 0xE0;                     // Enable transceiver; select full speed
   POLL_WRITE_BYTE(CLKREC, 0x80);      // Enable clock recovery, single-step mode disabled
  
   EIE1 |= 0x02;                       // Enable USB0 Interrupts
   EA = 1;                             // Global Interrupt enable
                                       // Enable USB0 by clearing the USB Inhibit bit

   POLL_WRITE_BYTE(POWER,  0x01);      // and enable suspend detection
}


//-----------------------------------------------------------------------------
// Delay
//-----------------------------------------------------------------------------
//
// Used for a small pause, approximately 80 us in Full Speed,
// and 1 ms when clock is configured for Low Speed
//
//-----------------------------------------------------------------------------

void Delay(void)
{
   int x;
   for(x = 0;x < 500;x)
      x++;
}

void Timer_Init(void)	  // Initialize timer3
{
	TMR3RLL = 0x30;
	TMR3RLH = 0xF8;
	TMR3CN = 0x04; 		  // start timer3
	EIE1 |= 0x80;		  //Enable Timer3 Interrupt
}                       

void ADC_Init(void)
{
	AMX0P = 0x00;
	AMX0N = 0x1F;
	ADC0CF = 0x44;
	ADC0CN = 0x90;
}

//1ms tick 
// handles general timing functions and blinks the LED 
void usb_1ms_tick(void) interrupt 14
{
	TMR3CN &= 0x7F;
}


void adcisr(void) interrupt 10
{
	*pIn = ADC0H;
	if(pIn < buffer + 512)
		pIn++;
	ADC0CN = 0x90;

}

//-----------------------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜激情片| 日韩精品一区二区三区四区视频 | 国产一区二区三区| 国产成人精品三级麻豆| 中文字幕亚洲一区二区av在线 | 国产精品人人做人人爽人人添| 国产女人18毛片水真多成人如厕| 亚洲欧洲性图库| 日韩精品1区2区3区| 国产精品一区在线观看你懂的| 成人午夜av电影| 在线一区二区三区四区| 久久亚洲一区二区三区四区| 国产精品丝袜一区| 日韩高清不卡一区二区三区| 国产成人在线视频网址| 97久久精品人人澡人人爽| 3atv一区二区三区| 国产精品高潮久久久久无| 肉丝袜脚交视频一区二区| 福利一区二区在线| 日韩一级片网站| 亚洲人成人一区二区在线观看 | 麻豆久久久久久| 国产一区二区成人久久免费影院| 91毛片在线观看| 欧美精品一区视频| 亚洲妇熟xx妇色黄| 成人av综合在线| 精品久久久久久久久久久久包黑料| 日韩美女久久久| 国产成人av一区二区三区在线| 91九色最新地址| 国产精品乱码人人做人人爱| 免费观看日韩电影| 99热在这里有精品免费| 精品国产免费视频| 一区二区欧美视频| 成人高清在线视频| 26uuu色噜噜精品一区二区| 一区二区在线免费观看| 一级日本不卡的影视| 一本色道久久综合亚洲91| 日韩一区有码在线| 在线视频国内自拍亚洲视频| 亚洲色图丝袜美腿| 欧美亚洲日本国产| 日韩国产精品大片| 欧美不卡视频一区| 懂色av噜噜一区二区三区av| 国产精品二三区| 91视频在线观看免费| 亚洲国产wwwccc36天堂| 欧美一二区视频| 国产69精品久久99不卡| 亚洲乱码国产乱码精品精的特点| 91激情五月电影| 免费视频最近日韩| 欧美激情一区不卡| 在线观看视频91| 久久精品国产久精国产| 国产免费观看久久| 欧美体内she精高潮| 另类人妖一区二区av| 国产精品久久久爽爽爽麻豆色哟哟 | 日韩激情一区二区| 久久久亚洲午夜电影| 一本大道久久a久久综合| 美腿丝袜亚洲一区| 亚洲欧美日韩国产中文在线| 日韩一本二本av| 91色九色蝌蚪| 精品无码三级在线观看视频| 亚洲欧洲另类国产综合| 日韩一区二区三区视频在线观看| 国产91精品免费| 肉肉av福利一精品导航| 国产精品国产自产拍高清av王其| 欧美日本在线观看| 成年人网站91| 日本aⅴ免费视频一区二区三区| 欧美国产一区在线| 日韩天堂在线观看| 91看片淫黄大片一级| 国产真实精品久久二三区| 亚洲高清免费观看高清完整版在线观看 | 91在线高清观看| 久久99精品国产91久久来源| 国产精品欧美一级免费| 精品国产一区二区三区四区四 | 国产日韩高清在线| 91.成人天堂一区| 色综合天天综合网天天看片| 国产又黄又大久久| 蜜臀va亚洲va欧美va天堂| 伊人性伊人情综合网| 中文字幕va一区二区三区| 日韩久久久精品| 欧美日韩亚洲国产综合| 91欧美激情一区二区三区成人| 九一九一国产精品| 欧美aaa在线| 蜜桃av一区二区三区电影| 一区二区三区 在线观看视频| 国产精品久久久久久久久果冻传媒| 精品久久99ma| 精品少妇一区二区三区日产乱码| 欧美蜜桃一区二区三区| 91久久国产综合久久| 91视视频在线观看入口直接观看www | 国产精品中文字幕欧美| 激情文学综合丁香| 久久国产精品99精品国产| 三级亚洲高清视频| 日韩成人免费电影| 日韩av网站在线观看| 午夜欧美视频在线观看| 亚洲成人自拍一区| 一区二区三区.www| 亚洲九九爱视频| 中文字幕一区二区不卡| 中文字幕日韩欧美一区二区三区| 国产精品福利电影一区二区三区四区| 中文在线一区二区| 国产欧美一区二区精品久导航| 国产亚洲欧美日韩在线一区| 国产调教视频一区| 中文一区一区三区高中清不卡| 国产欧美一区二区精品忘忧草| 国产精品乱码一区二三区小蝌蚪| 亚洲欧美综合色| 亚洲狠狠爱一区二区三区| 亚洲成av人片一区二区| 婷婷夜色潮精品综合在线| 日韩不卡一区二区| 国产一区二区在线影院| 成人h版在线观看| 欧美午夜精品电影| 精品美女一区二区三区| 国产欧美va欧美不卡在线| 成人免费一区二区三区在线观看| 亚洲图片另类小说| 日韩国产在线一| 国产电影一区在线| 在线观看免费视频综合| 日韩精品一区二区三区四区视频| 国产嫩草影院久久久久| 亚洲综合精品久久| 免费观看一级特黄欧美大片| 成人黄色片在线观看| 欧美裸体bbwbbwbbw| 久久精子c满五个校花| 伊人夜夜躁av伊人久久| 激情国产一区二区| 欧美在线观看你懂的| 精品国产第一区二区三区观看体验 | 国产乱子轮精品视频| 色欧美88888久久久久久影院| 91精品国产综合久久久蜜臀粉嫩| 久久日一线二线三线suv| 亚洲精品日韩一| 激情五月激情综合网| 在线免费亚洲电影| 久久精品视频一区二区三区| 亚洲综合视频在线观看| 国产suv一区二区三区88区| 欧美色视频在线观看| 日本一区二区三区在线不卡| 天堂在线一区二区| 色悠悠久久综合| 国产欧美精品一区二区三区四区| 偷拍与自拍一区| 99精品国产热久久91蜜凸| 亚洲精品一区二区三区精华液 | 日韩主播视频在线| 91丨porny丨最新| 国产亚洲欧美日韩在线一区| 男人的天堂久久精品| 91精品福利视频| 国产精品久久久久久久久久免费看| 国产精品视频一二| 欧美a级理论片| 欧美亚洲国产一区二区三区va| 国产日韩欧美精品电影三级在线| 日本大胆欧美人术艺术动态| 色天天综合久久久久综合片| 国产精品麻豆久久久| 国产夫妻精品视频| 日韩精品中文字幕在线不卡尤物| 性做久久久久久免费观看 | 久久国产精品色| 欧美男女性生活在线直播观看| 一区二区三区四区五区视频在线观看 | 豆国产96在线|亚洲| 精品国产乱码久久| 国产精品一区免费在线观看| 日韩免费一区二区三区在线播放| 日韩成人午夜电影| 欧美一区二区视频观看视频| 天天亚洲美女在线视频|