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

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

?? f31x_adc0_externalinput.lst

?? C8051F31系列單片機的例子
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.08   F31X_ADC0_EXTERNALINPUT                                               03/20/2009 15:55:34 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE F31X_ADC0_EXTERNALINPUT
OBJECT MODULE PLACED IN F31x_ADC0_ExternalInput.OBJ
COMPILER INVOKED BY: E:\Apps\Keil\C51\BIN\c51.exe F31x_ADC0_ExternalInput.c DB OE

line level    source

   1          //-----------------------------------------------------------------------------
   2          // F31x_ADC0_ExternalInput.c
   3          //-----------------------------------------------------------------------------
   4          // Copyright 2006 Silicon Laboratories, Inc.
   5          // http://www.silabs.com
   6          //
   7          // Program Description:
   8          // --------------------
   9          //
  10          // This example code takes and averages 2048 analog measurements from input
  11          // P2.5 using ADC0, then prints the results to a terminal window via the UART.
  12          //
  13          // The system is clocked by the internal 24.5MHz oscillator.  Timer 2 triggers
  14          // a conversion on ADC0 on each overflow.  The completion of this conversion
  15          // in turn triggers an interrupt service routine (ISR).  The ISR averages 
  16          // 2048 measurements, then prints the value to the terminal via printf before
  17          // starting another average cycle.
  18          //
  19          // The analog multiplexer selects P2.5 as the positive ADC0 input.  This 
  20          // port is configured as an analog input in the port initialization routine.
  21          // The negative ADC0 input is connected via mux to ground, which provides
  22          // for a single-ended ADC input.
  23          //
  24          // A 100kohm potentiometer may be connected as a voltage divider between 
  25          // P0.0 and AGND on the terminal strip as shown below:
  26          //
  27          // ---------
  28          //          |
  29          //          |
  30          //          |        
  31          //         o| P0.0 ----| 
  32          //         o| GND   ---|<-|
  33          //         o|             |
  34          //         o| P2.5--------|        
  35          //          |
  36          //----------   
  37          // C8051F310-TB
  38          //
  39          // Note that the ADC reference voltage is tied to Vdd, not a precision 
  40          // internal reference.  This limits the precision of the measurement,
  41          // as Vdd is set by the regulator on the board, not the C8051F310.
  42          //
  43          // Terminal output is done via printf, which directs the characters to 
  44          // UART0.  A UART initialization routine is therefore necessary.
  45          //
  46          // ADC Settling Time Requirements, Sampling Rate:
  47          // ----------------------------------------------
  48          //
  49          // The total sample time per input is comprised of an input setting time 
  50          // (Tsettle), followed by a conversion time (Tconvert): 
  51          //
  52          // Tsample  = Tsettle + Tconvert
  53          //
  54          // |--------Settling-------|==Conversion==|----Settling--- . . .
  55          // Timer 2 overflow        ^                          
C51 COMPILER V8.08   F31X_ADC0_EXTERNALINPUT                                               03/20/2009 15:55:34 PAGE 2   

  56          // ADC0 ISR                               ^       
  57          //
  58          // The ADC input voltage must be allowed adequate time to settle before the 
  59          // conversion is made.  This settling depends on the external source
  60          // impedance, internal mux impedance, and internal capacitance.
  61          // Settling time is given by:
  62          //
  63          //                   | 2^n |
  64          //    Tsettle =   ln | --- | * Rtotal * Csample
  65          //                   | SA  |       
  66          //
  67          // In this application, assume a 100kohm potentiometer as the voltage divider.
  68          // The expression evaluates to:
  69          //
  70          //                   | 2^10 |
  71          //    Tsettle =   ln | ---- | * 105e3 * 5e-12 = 4.4uS
  72          //                   | 0.25 |    
  73          //
  74          // In addition, one must allow at least 1.5uS after changing analog mux 
  75          // inputs or PGA settings.  The settling time in this example, then, is 
  76          // dictated by the large external source resistance.
  77          //
  78          // The conversion is 10 periods of the SAR clock <SAR_CLK>.  At 3 MHz, 
  79          // this time is 10 * 400nS = 3.3 uS.
  80          //
  81          // 
  82          // Tsample, minimum  = Tsettle + Tconvert
  83          //                   = 4.4uS + 3.3uS 
  84          //                   = 7.7 uS
  85          // 
  86          // Timer 2 is set to start a conversion  every 100uS, which is far longer 
  87          // than the minimum required.
  88          //
  89          // F310 Resources:
  90          // ---------------
  91          // Timer1: clocks UART
  92          // Timer2: overflow initiates ADC conversion
  93          //
  94          // How To Test:
  95          // ------------
  96          // 1) Download code to a 'F310 device on a C8051F310-TB development board
  97          // 2) Connect serial cable from the transceiver to a PC
  98          // 3) On the PC, open HyperTerminal (or any other terminal program) and connect
  99          //    to the COM port at <BAUDRATE> and 8-N-1
 100          // 4) Connect a variable voltage source (between 0 and VDD) 
 101          //    to P2.5, or a potentiometer voltage divider as shown above.
 102          // 5) HyperTerminal will print the voltage measured by the device if
 103          //    everything is working properly
 104          //
 105          // FID:            31X000011
 106          // Target:         C8051F310
 107          // Tool chain:     Keil C51 7.50 / Keil EVAL C51
 108          // Command Line:   None
 109          //
 110          //
 111          // Release 1.0
 112          //    -Initial Revision (clm)
 113          //    -24-Jul-06
 114          
 115          
 116          //-----------------------------------------------------------------------------
 117          // Includes
C51 COMPILER V8.08   F31X_ADC0_EXTERNALINPUT                                               03/20/2009 15:55:34 PAGE 3   

 118          //-----------------------------------------------------------------------------
 119          #include "c8051F310.h"                 // SFR declarations
 120          #include <stdio.h>
 121          
 122          //-----------------------------------------------------------------------------
 123          // 16-bit SFR Definitions for 'F31x
 124          //-----------------------------------------------------------------------------
 125          
 126          sfr16 TMR2RL   = 0xca;                 // Timer2 reload value 
 127          sfr16 TMR2     = 0xcc;                 // Timer2 counter
 128          sfr16 ADC0     = 0xbd;                 // ADC0 result
 129          
 130          //-----------------------------------------------------------------------------
 131          // Global CONSTANTS
 132          //-----------------------------------------------------------------------------
 133          
 134          #define SYSCLK       24500000          // SYSCLK frequency in Hz
 135          #define BAUDRATE     115200            // Baud rate of UART in bps
 136          
 137          sbit LED = P3^3;                       // LED='1' means ON
 138          
 139          //-----------------------------------------------------------------------------
 140          // Function PROTOTYPES
 141          //-----------------------------------------------------------------------------
 142          void SYSCLK_Init (void);
 143          void PORT_Init (void);
 144          void Timer2_Init(void);
 145          void ADC0_Init(void);
 146          void UART0_Init (void);
 147          
 148          
 149          void ADC_Init()
 150          {       
 151   1          int SARCLK=3000000; // 3 Mhz
 152   1              // Use AD0BUSY as conversion enable
 153   1              ADC0CN=0x40;                                    // ADC with normal track mode
 154   1              //REF0CN=0x0e;                                  // Enable temp sensor and use on chip Vref (VDD)
 155   1      //      REF0CN=0x0A;                                    // Enable temp sensor and use on external Vref
 156   1              AMX0N=0x1F;                                             // Single-Ended inputs
 157   1              ADC0CF=(SYSCLK/SARCLK-1)<<3;    // Conversion clock setting & results are right-justified
 158   1              ADC0CF |= 0x00;                     // right-justify results 
 159   1              EIE1 &= 0xF1;                                   // Disable ADC interrupt & disable win compare interrupts
 160   1              AD0EN=1;                                                // Enable ADC, ready for data conversion
 161   1      }
 162          
 163          unsigned int ADC_Read_Ch(unsigned char chan_num)
 164          {       
 165   1          unsigned long result;
 166   1              static int measure = 2048;
 167   1              static unsigned long accumulator = 0;
 168   1              unsigned long mV;                   // measured voltage in mV
 169   1      
 170   1      
 171   1      
 172   1              AMX0P = chan_num;                                       // Select chan to be read thru the MUX
 173   1              AD0INT = 0;                                                     // Clear conversion complete indicator
 174   1              AD0BUSY = 1;                                            // Initiate conversion
 175   1              
 176   1              while (!AD0INT);                                        // Wait for convesion completed.
 177   1              
 178   1         
 179   1      
C51 COMPILER V8.08   F31X_ADC0_EXTERNALINPUT                                               03/20/2009 15:55:34 PAGE 4   

 180   1         result = ADC0H;                                              // Stuff converted data
 181   1         result = (result << 8) | ADC0L; 
 182   1      
 183   1      
 184   1         accumulator += result;
 185   1         measure--;
 186   1      
 187   1         if(measure == 0)
 188   1         {  
 189   2            measure = 2048;
 190   2            result = accumulator / 2048;
 191   2            accumulator=0;
 192   2      
 193   2            // The 10-bit ADC value is averaged across 2048 measurements.  
 194   2            // The measured voltage applied to P1.4 is then:
 195   2            //
 196   2            //                           Vref (mV)
 197   2            //   measurement (mV) =   --------------- * result (bits) 
 198   2            //                       (2^10)-1 (bits)
 199   2      
 200   2            mV =  result * 3250 / 1023;   
 201   2            printf("P3.1 voltage: %ld mV\n",mV);
 202   2         }
 203   1      
 204   1              
 205   1              
 206   1              return result;
 207   1      }
 208          
 209          //-----------------------------------------------------------------------------
 210          // MAIN Routine
 211          //-----------------------------------------------------------------------------
 212          void main (void) 
 213          {
 214   1         PCA0MD &= ~0x40;                    // WDTE = 0 (clear watchdog timer 
 215   1                                             // enable)
 216   1      
 217   1         SYSCLK_Init ();                     // Initialize system clock to 
 218   1                                             // 12MHz
 219   1         PORT_Init ();                       // Initialize crossbar and GPIO

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产免费成人在线视频| 国产欧美一区二区精品仙草咪| 国产一区视频网站| 麻豆成人综合网| 亚洲成a人在线观看| 亚洲色图欧洲色图婷婷| 国产日韩欧美a| 久久久www免费人成精品| 91精品国产色综合久久不卡电影| 色综合久久久久网| 色系网站成人免费| 91视频一区二区三区| 成人午夜视频网站| 欧美一区二区三区啪啪| 欧美tickling网站挠脚心| 91精品国产乱| 精品国产一区二区三区四区四| 欧美一区二区私人影院日本| 欧美精品一区二区三区在线播放 | 欧美日韩午夜在线视频| 欧美亚洲综合网| 在线播放视频一区| 精品欧美黑人一区二区三区| 国产日韩一级二级三级| 《视频一区视频二区| 亚洲精品你懂的| 日韩精品乱码免费| 国产精品夜夜嗨| 91香蕉视频在线| 在线播放91灌醉迷j高跟美女| 精品乱码亚洲一区二区不卡| 国产嫩草影院久久久久| 亚洲电影第三页| 精品影视av免费| 色爱区综合激月婷婷| 欧美精品自拍偷拍动漫精品| 国产三级精品三级在线专区| 亚洲综合av网| 国产一区二区三区视频在线播放| 99久久精品免费看国产| 3atv在线一区二区三区| 亚洲欧美一区二区三区极速播放| 日韩高清电影一区| 91麻豆精品在线观看| 久久你懂得1024| 视频一区欧美精品| 99久久99久久精品免费观看| 日韩一区二区三区四区五区六区| 国产精品久久看| 成人免费观看视频| 精品久久久久久久久久久久久久久久久| 亚洲丝袜另类动漫二区| 国产精品资源在线看| 91精品国产色综合久久不卡蜜臀 | 国产精品青草久久| 久久99精品国产麻豆婷婷| 欧美私人免费视频| 亚洲欧美在线高清| 不卡av在线网| 久久精品欧美一区二区三区不卡| 久久激情五月激情| 日韩三级视频在线观看| 免费在线看一区| 精品久久久久久久一区二区蜜臀| 亚洲18影院在线观看| 欧洲国内综合视频| 午夜免费久久看| 日韩亚洲欧美在线观看| 亚洲成人免费在线观看| 欧美日韩电影在线播放| 日韩专区欧美专区| 欧美tickling挠脚心丨vk| 91国产福利在线| 青青国产91久久久久久| 久久蜜臀精品av| 国产成人亚洲精品青草天美| 国产精品视频一区二区三区不卡| 色综合久久久久网| 日韩经典一区二区| 国产色婷婷亚洲99精品小说| 99视频在线精品| 天天综合日日夜夜精品| 久久先锋影音av| 在线亚洲人成电影网站色www| 日韩在线播放一区二区| 国产精品素人一区二区| 欧美日韩日日夜夜| 成人免费视频app| 成人av网站在线| 日韩成人精品在线观看| 国产精品每日更新| 精品国产乱码91久久久久久网站| 青青草成人在线观看| 91精品麻豆日日躁夜夜躁| av电影一区二区| 国产91精品一区二区麻豆网站| 国产一区二区三区久久久| 一个色综合网站| 国产亚洲一本大道中文在线| 91福利在线看| 激情六月婷婷综合| 亚洲精品国产a| 日韩精品一区二区三区中文不卡| 成人网页在线观看| 奇米亚洲午夜久久精品| 一区二区三区欧美日韩| 久久久精品免费免费| 欧美精品亚洲一区二区在线播放| 国产一区二区三区综合| 日本视频一区二区| 天天做天天摸天天爽国产一区| 一区二区视频在线| 亚洲天堂成人网| 亚洲一区二区四区蜜桃| 一区二区三区中文在线观看| 亚洲色图一区二区| 亚洲啪啪综合av一区二区三区| 国产精品久久久久桃色tv| 久久久影视传媒| 国产婷婷一区二区| 国产日韩v精品一区二区| 国产精品美日韩| 最近日韩中文字幕| 日韩精彩视频在线观看| 国产在线播放一区| 色综合中文字幕国产 | 亚洲精品国产品国语在线app| 亚洲欧洲av色图| 日韩av电影天堂| 国产精品亚洲午夜一区二区三区| 成人精品免费网站| 欧美色老头old∨ideo| 中文字幕乱码日本亚洲一区二区 | 亚洲高清久久久| 日韩毛片精品高清免费| 首页亚洲欧美制服丝腿| 激情图片小说一区| 欧美三级视频在线播放| 精品国产一二三区| 一区二区三区四区不卡在线| 久久 天天综合| 欧美精品少妇一区二区三区 | 国产欧美久久久精品影院 | 男女性色大片免费观看一区二区| 成人涩涩免费视频| 久久久一区二区三区捆绑**| 亚洲激情网站免费观看| 国产一区二区伦理片| 欧美性色综合网| 欧美国产1区2区| 男人的j进女人的j一区| 欧美性高清videossexo| 国产欧美精品一区aⅴ影院| 视频一区免费在线观看| 99免费精品在线观看| 欧美α欧美αv大片| 亚洲一区二区三区在线播放| 成人免费视频视频在线观看免费| 国产婷婷色一区二区三区| 国产精品一区免费视频| 国产亚洲一区二区三区| 成人一区二区三区| 中文字幕一区二区三区在线观看| 色网站国产精品| 另类调教123区| 国产精品久久久久久久久久免费看| 大美女一区二区三区| 亚洲综合免费观看高清在线观看| 91同城在线观看| 中文字幕一区二区三| 成人国产电影网| 国产精品久久精品日日| 波多野结衣中文字幕一区二区三区| 国产亚洲欧美在线| 成人激情小说网站| 亚洲精品国产第一综合99久久| 色网站国产精品| 日韩电影免费在线观看网站| 91麻豆精品国产91久久久资源速度| 日本午夜一本久久久综合| 精品国精品国产| 成人黄色av网站在线| 一区二区三区不卡视频 | 成人精品视频一区二区三区| 国产欧美日本一区二区三区| 国产传媒欧美日韩成人| 亚洲欧洲av色图| 欧美人妇做爰xxxⅹ性高电影| 久久国产尿小便嘘嘘| 欧美激情中文不卡| 色偷偷88欧美精品久久久| 偷拍日韩校园综合在线| 日韩三级在线免费观看| 成人午夜短视频| 午夜亚洲国产au精品一区二区| 国产欧美一区二区精品性色超碰| 欧美视频一区二区三区在线观看| 极品瑜伽女神91| 国产精品久久久久久久久免费丝袜| 欧美日韩视频在线第一区|