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

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

?? f350_adc_buffered_2.c

?? 含24bitAD的C8051F350單片機的測試程序
?? C
字號:
//插上短路環(huán)J4,J7,J8的2,3腳,J9的2,3腳,J15,連上232串口線。
//AIN1與AGND連接,在AIN0輸入0-2.5V之間的電壓。
// Includes
//-----------------------------------------------------------------------------
#include <c8051f350.h>                    // SFR declarations
#include <stdio.h>                        // Standard I/O Library
#include <math.h>
//-----------------------------------------------------------------------------
// 16-bit SFR Definitions for 'F35x
//-----------------------------------------------------------------------------
sfr16 DP       = 0x82;                    // data pointer
sfr16 TMR3RL   = 0x92;                    // Timer3 reload value
sfr16 TMR3     = 0x94;                    // Timer3 counter
sfr16 ADC0DEC  = 0x9a;
sfr16 TMR2RL   = 0xca;                    // Timer2 reload value
sfr16 TMR2     = 0xcc;                    // Timer2 counter
sfr16 PCA0CP0  = 0xe9;                    // PCA0 Module 1 Capture/Compare
sfr16 PCA0CP1  = 0xeb;                    // PCA0 Module 2 Capture/Compare
sfr16 PCA0CP2  = 0xed;                    // PCA0 Module 2 Capture/Compare
sfr16 PCA0     = 0xf9;                    // PCA0 counter

//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------

#define SYSCLK       49000000             // SYSCLK frequency (Hz)
#define BAUDRATE     115200               // UART0 Baudrate (bps)

#define MDCLK        2457600              // Modulator Clock (Hz)
#define OWR          10                   // desired Output Word Rate in Hz

#define VREF         2530                 // External VREF (x 10^-2 V)
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
long xdata sample_array[128];
long ADC_OutputVal=0;         // Concatenated ADC output value
int   cyz;
//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------
void SYSCLK_Init (void);
void PORT7_Init (void);
void ADC0_Init (void);
void IDA0_Init (void);
void UART0_Init (void);
void YJ_Init(void);
void Write_CHAR(unsigned char yjchar);

//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------
void main (void) {



		   unsigned int i,g;
		   float average;
		   unsigned char e11,e22,e33,e44;
		   unsigned int e1,e2,e3,e4; 

   
		   PCA0MD &= ~0x40;                      // disable watchdog timer 

		   SYSCLK_Init();                         // Initialize system clock to 49 MHz

		   PORT7_Init();                           // Initialize crossbar and GPIO

  
   	     for(i=0;i<128;i++)
	 	  {
	      sample_array[i]=0;
	  
	 	  }

		   ADC0_Init();                           // 初始化ADC0

		   UART0_Init();                          // 初始化UART0

		   EA = 1;                                // 使能總中斷

		   printf("\nMeasurements using the 24-bit ADC in C8051F350\n");
		   printf("\nCalibrating ...\n");

		   EIE1 &= ~0x08;                         // 不使能 ADC0 中斷

		   ADC0MD |= 0x01;                        // 完全內部校準

		   while (!AD0CALC);                      // 等待轉換完成

		   ADC0MD &= ~0x07;                       //  ADC0 為理想模式 
                                         

		   printf("Calibration complete\n\n");

		   AD0INT = 0;                            // clear pending sample indication
		   ADC0MD |= 0x83;                         // 啟動連續(xù)轉換

   while(1)                                        //處理采樣值
	  		{

      // 捕捉128次采樣
      		printf ("Collecting 128 samples...\n");
      
     	  for (i = 0; i < 128; i++) 
      	   {
         	while(!AD0INT);                     //等待轉換完成
        	AD0INT = 0;                         //清 AD0 中斷標志

         // concatenate ADC0 data bytes to form the 24-bit value
 
 			ADC_OutputVal = ADC0H;
         	ADC_OutputVal =ADC_OutputVal<< 16;
         	ADC_OutputVal += (long)ADC0L + ((long)ADC0M << 8);
         	sample_array[i] = ADC_OutputVal;
		 
     	 	}
	  	 
     	  for(i=0;i<128;i++)
	 		{
	 	  average=average+(float)sample_array[i];
	  
	 		}
	      average=average/128;
		  average=average/256/256/256;
		  average=average*VREF;
		  average=average*2;
	 	  average=average;

 		  printf("ADC Vin = %6d mV",(int)average);
      
	      cyz=(int)average;
		  e1=cyz/1000;
		  e2=(cyz-1000*e1)/100;
		  e3=(cyz-1000*e1-100*e2)/10;
		  e4=cyz-1000*e1-100*e2-10*e3;
		  g=0;
		  do
		  {
       
		    if(g==e1)e11=0x30+g;
		            
			if(g==e2)e22=0x30+g;
		           
	        if(g==e3)e33=0x30+g;
		           
			if(g==e4)e44=0x30+g;
		            
		    g++;
		   }while(g<10);
 	
	     YJ_Init();                                      //液晶顯示采樣值
	     for(i=0;i<4000;i++);
	     for(i=0;i<4000;i++);
	     for(i=0;i<4000;i++);
	 	 Write_CHAR(e11);
	   	 Write_CHAR(0x2e);
		 Write_CHAR(e22);
		 Write_CHAR(e33);
		 Write_CHAR(e44);
		 Write_CHAR(0x56);
		 for(i=0;i<4000;i++);
	     for(i=0;i<4000;i++);
	     for(i=0;i<4000;i++);
		 }

}


//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
//
// This routine initializes the system clock to use the internal 24.5MHz
// oscillator as its clock source, with x 2 multiply for
// 49 MHz operation. Also enables missing clock detector reset.
//
void SYSCLK_Init (void)
{
   		unsigned i;

  		 OSCICN = 0x80;                         // enable intosc
  		 CLKSEL = 0x00;                         // select intosc as sysclk source

// INTOSC configure

   		OSCICN = 0x83;

// PLL configure

  	 	CLKMUL = 0x00;                         // Reset Clock Multiplier

   		CLKMUL &= ~0x03;                       // select INTOSC / 2 as PLL source

   		CLKMUL |= 0x80;                        // Enable 4x Multipler (MULEN = 1)

   		for (i = 0; i < 125; i++);             // Delay for at least 5us

   		CLKMUL |= 0xC0;                        // Initialize Multiplier

   		while (!(CLKMUL & 0x20));              // Poll for Multiply Ready

// SYSCLK configure

   		VDM0CN = 0x80;                         // enable VDD monitor
   		RSTSRC = 0x06;                         // enable missing clock detector
                                          // and VDD monitor reset sources
   		CLKSEL = 0x02;                         // select PLL as clock source
}

//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
//
// Configure the Crossbar and GPIO ports.
// P0.4 - TX0 (push-pull)
// P0.5 - RX0

void PORT7_Init (void)
{
   		XBR0     |= 0x01;                       // UART0 Selected
   		XBR1     |= 0x40;                       // Enable crossbar and weak pull-ups
   		P0MDOUT |= 0xD0;                       // TX, LEDs = Push-pull
}

//-----------------------------------------------------------------------------
// ADC0_Init extVREF Bipolar AIN0.1-AIN0.0
//-----------------------------------------------------------------------------
//
// This function initializes the ADC to measure across AIN0.1 and AIN0.0 
// on the Target Board (Differential measurements, Bipolar codes)

void ADC0_Init (void)
{
   		unsigned ADC0_decimation;

     	REF0CN &= ~0x01;                       // disable internal vref

//   	REF0CN |= 0x01;                        // (enable if using internal vref)


//   	ADC0CN = 0x00;                         // unipolar output codes, GAIN=1
	 	ADC0CN = 0x10;                         // Bipolar output codes, GAIN=1

//   	ADC0CF = 0x00;                         // interrupts upon SINC3 filter output
                                          // and uses internal VREF

    	ADC0CF = 0x04;                         // interrupts upon SINC3 filter output
                                          // and uses external VREF

   
   		ADC0CLK = (SYSCLK/MDCLK)-1;            // Ideally, MDCLK = 2.4576 MHz
                                          
                                          // Generate MDCLK for modulator.
                               


   // program decimation rate for desired OWR

   		ADC0_decimation = (unsigned long) SYSCLK/ (unsigned long) OWR / 
                     (unsigned long) (ADC0CLK+1)/(unsigned long)128;

   		ADC0_decimation--;

  	    ADC0DEC = ADC0_decimation;


  	    ADC0BUF = 0x00;                        // 關閉輸入緩沖


    	ADC0MUX = 0x01;                       // 差分輸入
                                          // AIN+ => AIN0.0
                                          // AIN- => AIN0.1 
                                          




     	ADC0MD |= 0x80;                      // 使能(IDLE Mode)
}

//-----------------------------------------------------------------------------
// UART0_Init
//-----------------------------------------------------------------------------
//
// Configure the UART0 using Timer1, for <BAUDRATE> and 8-N-1.
//
void UART0_Init (void)
{
   		SCON0 = 0x10;                          // 8-bit variable bit rate
                                          // level of STOP bit is ignored
                                          // RX enabled
                                          // ninth bits are zeros
                                          // clear RI0 and TI0 bits
   		if (SYSCLK/BAUDRATE/2/256 < 1)
    	{
      	TH1 = -(SYSCLK/BAUDRATE/2);
     	 CKCON |=  0x08;                     // T1M = 1; SCA1:0 = xx
    	} 
   		else if (SYSCLK/BAUDRATE/2/256 < 4)
		{
      	TH1 = -(SYSCLK/BAUDRATE/2/4);
      	CKCON &= ~0x0B;                     // T1M = 0; SCA1:0 = 01                  
      	CKCON |=  0x01;
  		} 
		else if (SYSCLK/BAUDRATE/2/256 < 12) 
		{
      	TH1 = -(SYSCLK/BAUDRATE/2/12);
      	CKCON &= ~0x0B;                     // T1M = 0; SCA1:0 = 00
   		} 
		else 
		{
      	TH1 = -(SYSCLK/BAUDRATE/2/48);
      	CKCON &= ~0x0B;                     // T1M = 0; SCA1:0 = 10
      	CKCON |=  0x02;
  		 }

   		TL1 = TH1;                             // init Timer1
   		TMOD &= ~0xf0;                         // TMOD: timer 1 in 8-bit autoreload
   		TMOD |=  0x20;                       
   		TR1 = 1;                               // START Timer1
  		TI0 = 1;                               // Indicate TX0 ready
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美经典| 午夜视频一区二区| 亚洲欧美日韩国产一区二区三区| 国产欧美日韩视频在线观看| 国产精品福利av| 午夜精彩视频在线观看不卡| 无吗不卡中文字幕| 国产一区二区网址| 欧洲在线/亚洲| 国产欧美日韩另类一区| 亚洲成人自拍网| 成人免费高清视频在线观看| 在线视频一区二区免费| 久久亚洲精精品中文字幕早川悠里 | 一区二区三区91| 精品一区二区av| 99久久国产综合精品女不卡| 欧美日韩成人综合在线一区二区| 亚洲私人影院在线观看| 亚洲自拍偷拍av| 成人av综合在线| 日韩精品一区二区三区中文精品| 一区二区三区鲁丝不卡| 成人免费电影视频| 国产拍欧美日韩视频二区| 日本亚洲电影天堂| 91麻豆精品国产91久久久久久| 1024精品合集| 色综合天天综合网天天看片| 亚洲天堂成人在线观看| 91免费版在线看| 亚洲视频在线一区二区| 91色综合久久久久婷婷| 亚洲精品一二三四区| 色噜噜久久综合| 亚洲女人的天堂| 在线观看免费亚洲| 午夜欧美电影在线观看| 欧美三区在线视频| 日韩成人精品视频| 欧美国产一区二区| 一本色道久久加勒比精品| 亚洲精品中文字幕在线观看| 色综合久久88色综合天天 | 国产永久精品大片wwwapp| www国产亚洲精品久久麻豆| 国产成人av一区二区| 日韩精品中文字幕一区二区三区| 国产尤物一区二区| 亚洲精品国久久99热| 在线观看91av| 99久久精品国产导航| 午夜精品久久久久久久久久久 | 亚洲成国产人片在线观看| 精品久久五月天| 91蜜桃免费观看视频| 免费成人在线观看| 亚洲国产高清在线| 日韩欧美专区在线| 99精品一区二区| 精品在线一区二区三区| 亚洲精品乱码久久久久久黑人| 精品国产成人在线影院| 91蝌蚪porny| 国产成人在线视频免费播放| 国产激情偷乱视频一区二区三区| 欧美国产日韩亚洲一区| 日韩色视频在线观看| 欧美性生活大片视频| 99这里只有久久精品视频| 麻豆国产精品777777在线| 亚洲欧美日韩在线| 亚洲欧美欧美一区二区三区| 中文一区一区三区高中清不卡| 日韩欧美中文一区二区| 在线成人av网站| 欧美一区二区免费视频| 91精品国产色综合久久久蜜香臀| 欧美丝袜第三区| 欧美日韩午夜影院| 制服丝袜av成人在线看| 欧美浪妇xxxx高跟鞋交| 在线不卡免费av| 精品国产乱子伦一区| 国产亚洲精品bt天堂精选| 国产性色一区二区| 亚洲青青青在线视频| 一区二区三区中文字幕电影| 亚洲免费观看高清完整版在线观看熊| 亚洲日本在线观看| 亚洲国产婷婷综合在线精品| 日韩成人一级大片| 国产成人在线电影| 欧美三级中文字| 日韩欧美电影一区| 日本一区二区不卡视频| 一级精品视频在线观看宜春院 | 成人性生交大合| 欧美视频一区二区| 国产日产亚洲精品系列| 一区二区三区高清在线| 久久99久久精品| 欧美伊人久久大香线蕉综合69| 久久综合五月天婷婷伊人| 日韩高清在线一区| 国产精品一区二区久久精品爱涩 | 亚洲精品国产品国语在线app| 日韩国产精品91| 欧美日免费三级在线| 日本一区二区三区四区在线视频| 亚洲地区一二三色| 91蝌蚪国产九色| 亚洲色图丝袜美腿| 国产成人精品午夜视频免费| 911精品国产一区二区在线| 亚洲精品高清视频在线观看| 成人av电影免费观看| 亚洲国产电影在线观看| 成人黄色片在线观看| 久久久精品蜜桃| 国产精品一级黄| 国产亚洲一区二区在线观看| 美洲天堂一区二卡三卡四卡视频| 欧美高清一级片在线| 丝袜美腿一区二区三区| 欧美猛男超大videosgay| 亚洲国产一区二区三区青草影视| 在线观看一区二区视频| 亚洲成人自拍偷拍| 欧美成人免费网站| 丰满放荡岳乱妇91ww| 一色桃子久久精品亚洲| 91丨porny丨首页| 亚洲成人免费在线观看| 欧美一级淫片007| 国产精品中文欧美| 亚洲丝袜精品丝袜在线| 91免费版在线| 麻豆精品在线播放| 亚洲日本va在线观看| 欧美一区欧美二区| www.亚洲精品| 日韩电影网1区2区| 国产精品毛片a∨一区二区三区| 欧美影视一区在线| 国产**成人网毛片九色| 国产激情一区二区三区| 亚洲国产视频网站| 国产精品毛片大码女人| 91精品国产综合久久国产大片| 不卡视频一二三四| 成人免费视频一区二区| 麻豆成人91精品二区三区| 亚洲在线免费播放| 中文字幕在线不卡视频| 日韩欧美色综合| 欧美日韩精品一二三区| 99riav久久精品riav| 国产乱对白刺激视频不卡| 日韩电影网1区2区| 秋霞影院一区二区| 亚洲成a人v欧美综合天堂下载| 自拍偷拍欧美精品| 亚洲人成网站色在线观看| 国产精品欧美久久久久一区二区| 欧美一区二区日韩一区二区| 欧美精品在线观看一区二区| 欧美最新大片在线看| 欧美四级电影在线观看| 色8久久人人97超碰香蕉987| 91小视频免费观看| 欧美在线综合视频| 欧美精品九九99久久| 欧美一区二区三级| 26uuu欧美| 成人免费小视频| 一区二区三区不卡视频 | 欧洲一区二区av| 国产成人综合在线| 夜夜精品视频一区二区| 日韩国产欧美一区二区三区| 91欧美一区二区| 欧美国产精品一区| 国产乱码精品一区二区三 | 亚洲国产精品久久不卡毛片 | 一区二区三区中文字幕电影| 亚洲成人av免费| 成人综合日日夜夜| 欧美一区二区免费视频| 亚洲色图视频网| 国产一区欧美日韩| 欧美喷潮久久久xxxxx| 国产欧美日韩三区| 韩国精品主播一区二区在线观看| 在线精品亚洲一区二区不卡| 国产欧美一区二区精品仙草咪| 日本va欧美va欧美va精品| 色天天综合久久久久综合片| 精品国产髙清在线看国产毛片| 亚洲成人自拍一区|