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

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

?? adc.lst

?? keil下的ARM實驗例子,很詳細的實驗說明
?? LST
?? 第 1 頁 / 共 4 頁
字號:
ARM COMPILER V2.53,  adc                                                                   12/10/06  20:06:10  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE adc
OBJECT MODULE PLACED IN .\Obj\adc.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe adc.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\ADC.LST) TABS(4) OBJECT(
                    -.\Obj\adc.obj) 

stmt  level    source

    1          /*****************************************************************************
    2           *   adc.c:  ADC module file for Philips LPC214x Family Microprocessors
    3           *
    4           *   Copyright(C) 2006, Philips Semiconductor
    5           *   All rights reserved.
    6           *
    7           *   History
    8           *   2005.10.01  ver 1.00    Prelimnary version, first Release
    9           *
   10          ******************************************************************************/
   11          #include "LPC214x.h"                        /* LPC21xx definitions */
   12          #include "type.h"
   13          #include "irq.h"
   14          #include "target.h"
   15          #include "adc.h"
   16          
   17          DWORD ADC0Value[ADC_NUM], ADC1Value[ADC_NUM];
   18          DWORD ADC0IntDone = 0, ADC1IntDone = 0;
   19          
   20          #if ADC_INTERRUPT_FLAG
   21          /******************************************************************************
   22          ** Function name:       ADC0Handler
   23          **
   24          ** Descriptions:        ADC0 interrupt handler
   25          **
   26          ** parameters:          None
   27          ** Returned value:      None
   28          ** 
   29          ******************************************************************************/
   30          void ADC0Handler (void) __irq 
   31          {
   32   1          DWORD regVal;
   33   1        
   34   1          IENABLE;            /* handles nested interrupt */
   35   1      
   36   1          regVal = AD0STAT;       /* Read ADC will clear the interrupt */
   37   1          if ( regVal & 0x0000FF00 )  /* check OVERRUN error first */
   38   1          {
   39   2          regVal = (regVal & 0x0000FF00) >> 0x08;
   40   2                      /* if overrun, just read ADDR to clear */
   41   2                      /* regVal variable has been reused. */
   42   2          switch ( regVal )
   43   2          {
   44   3              case 0x01:
   45   3              regVal = AD0DR0;
   46   3              break;
   47   3              case 0x02:
   48   3              regVal = AD0DR1;
   49   3              break;
   50   3              case 0x04:
   51   3              regVal = AD0DR2;
   52   3              break;
   53   3              case 0x08:
   54   3              regVal = AD0DR3;
   55   3              break;
   56   3              case 0x10:
   57   3              regVal = AD0DR4;
   58   3              break;
ARM COMPILER V2.53,  adc                                                                   12/10/06  20:06:10  PAGE 2   

   59   3              case 0x20:
   60   3              regVal = AD0DR5;
   61   3              break;
   62   3              case 0x40:
   63   3              regVal = AD0DR6;
   64   3              break;
   65   3              case 0x80:
   66   3              regVal = AD0DR7;
   67   3              break;
   68   3              default:
   69   3              break;
   70   3          }
   71   2          AD0CR &= 0xF8FFFFFF;    /* stop ADC now */ 
   72   2          ADC0IntDone = 1;
   73   2          return; 
   74   2          }
   75   1          
   76   1          if ( regVal & ADC_ADINT )
   77   1          {
   78   2          switch ( regVal & 0xFF )    /* check DONE bit */
   79   2          {
   80   3              case 0x01:
   81   3              ADC0Value[0] = ( AD0DR0 >> 6 ) & 0x3FF;
   82   3              break;
   83   3              case 0x02:
   84   3              ADC0Value[1] = ( AD0DR1 >> 6 ) & 0x3FF;
   85   3              break;
   86   3              case 0x04:
   87   3              ADC0Value[2] = ( AD0DR2 >> 6 ) & 0x3FF;
   88   3              break;
   89   3              case 0x08:
   90   3              ADC0Value[3] = ( AD0DR3 >> 6 ) & 0x3FF;
   91   3              break;
   92   3              case 0x10:
   93   3              ADC0Value[4] = ( AD0DR4 >> 6 ) & 0x3FF;
   94   3              break;
   95   3              case 0x20:
   96   3              ADC0Value[5] = ( AD0DR5 >> 6 ) & 0x3FF;
   97   3              break;
   98   3              case 0x40:
   99   3              ADC0Value[6] = ( AD0DR6 >> 6 ) & 0x3FF;
  100   3              break;
  101   3              case 0x80:
  102   3              ADC0Value[7] = ( AD0DR7 >> 6 ) & 0x3FF;
  103   3              break;      
  104   3              default:
  105   3              break;
  106   3          }
  107   2          AD0CR &= 0xF8FFFFFF;    /* stop ADC now */ 
  108   2          ADC0IntDone = 1;
  109   2          }
  110   1      
  111   1          IDISABLE;
  112   1          VICVectAddr = 0;        /* Acknowledge Interrupt */
  113   1      }
  114          
  115          /******************************************************************************
  116          ** Function name:       ADC1Handler
  117          **
  118          ** Descriptions:        ADC1 interrupt handler
  119          **
  120          ** parameters:          None
  121          ** Returned value:      None
  122          ** 
  123          ******************************************************************************/
  124          void ADC1Handler (void) __irq 
ARM COMPILER V2.53,  adc                                                                   12/10/06  20:06:10  PAGE 3   

  125          {
  126   1          DWORD regVal;
  127   1        
  128   1          IENABLE;            /* handles nested interrupt */
  129   1      
  130   1          regVal = AD1STAT;       /* Read ADC will clear the interrupt */
  131   1          if ( regVal & 0x0000FF00 )  /* check OVERRUN error first */
  132   1          {
  133   2          regVal = (regVal & 0x0000FF00) >> 0x08;
  134   2                      /* if overrun, just read AD1DRx to clear */
  135   2                      /* regVal variable has been reused. */
  136   2          switch ( regVal )
  137   2          {
  138   3              case 0x01:
  139   3              regVal = AD1DR0;
  140   3              break;
  141   3              case 0x02:
  142   3              regVal = AD1DR1;
  143   3              break;
  144   3              case 0x04:
  145   3              regVal = AD1DR2;
  146   3              break;
  147   3              case 0x08:
  148   3              regVal = AD1DR3;
  149   3              break;
  150   3              case 0x10:
  151   3              regVal = AD1DR4;
  152   3              break;
  153   3              case 0x20:
  154   3              regVal = AD1DR5;
  155   3              break;
  156   3              case 0x40:
  157   3              regVal = AD1DR6;
  158   3              break;
  159   3              case 0x80:
  160   3              regVal = AD1DR7;
  161   3              break;
  162   3              default:
  163   3              break;
  164   3          }
  165   2          AD1CR &= 0xF8FFFFFF;    /* stop ADC now */ 
  166   2          ADC1IntDone = 1;
  167   2          return; 
  168   2          }
  169   1          
  170   1          if ( regVal & ADC_ADINT )
  171   1          {
  172   2          switch ( regVal & 0xFF )    /* check DONE bit */
  173   2          {
  174   3              case 0x01:
  175   3              ADC1Value[0] = ( AD1DR0 >> 6 ) & 0x3FF;
  176   3              break;
  177   3              case 0x02:
  178   3              ADC1Value[1] = ( AD1DR1 >> 6 ) & 0x3FF;
  179   3              break;
  180   3              case 0x04:
  181   3              ADC1Value[2] = ( AD1DR2 >> 6 ) & 0x3FF;
  182   3              break;
  183   3              case 0x08:
  184   3              ADC1Value[3] = ( AD1DR3 >> 6 ) & 0x3FF;
  185   3              break;
  186   3              case 0x10:
  187   3              ADC1Value[4] = ( AD1DR4 >> 6 ) & 0x3FF;
  188   3              break;      
  189   3              case 0x20:
  190   3              ADC1Value[5] = ( AD1DR5 >> 6 ) & 0x3FF;
ARM COMPILER V2.53,  adc                                                                   12/10/06  20:06:10  PAGE 4   

  191   3              break;
  192   3              case 0x40:
  193   3              ADC1Value[6] = ( AD1DR6 >> 6 ) & 0x3FF;
  194   3              break;
  195   3              case 0x80:
  196   3              ADC1Value[7] = ( AD1DR7 >> 6 ) & 0x3FF;
  197   3              break;      
  198   3              default:
  199   3              break;
  200   3          }
  201   2          AD1CR &= 0xF8FFFFFF;    /* stop ADC now */ 
  202   2          ADC1IntDone = 1;
  203   2          }
  204   1      
  205   1          IDISABLE;
  206   1          VICVectAddr = 0;        /* Acknowledge Interrupt */
  207   1      }
  208          #endif
  209          
  210          /*****************************************************************************
  211          ** Function name:       ADCInit
  212          **
  213          ** Descriptions:        initialize ADC channel
  214          **
  215          ** parameters:          ADC clock rate
  216          ** Returned value:      true or false
  217          ** 
  218          *****************************************************************************/
  219          DWORD ADCInit( DWORD ADC_Clk )
  220          {
  221   1          /* all the related pins are set to ADC inputs, AD0.1~4, AD1.0~7 */  
  222   1          PINSEL0 = 0x0F333F00;
  223   1          PINSEL1 = 0x15541800;
  224   1      
  225   1          AD0CR = ( 0x01 << 0 ) |     // SEL=1,select channel 0, 1 to 4 on ADC0
  226   1          ( ( Fpclk / ADC_Clk - 1 ) << 8 ) |  // CLKDIV = Fpclk / 1000000 - 1 
  227   1          ( 0 << 16 ) |       // BURST = 0, no BURST, software controlled
  228   1          ( 0 << 17 ) |       // CLKS = 0, 11 clocks/10 bits 
  229   1          ( 1 << 21 ) |       // PDN = 1, normal operation 
  230   1          ( 0 << 22 ) |       // TEST1:0 = 00 
  231   1          ( 0 << 24 ) |       // START = 0 A/D conversion stops
  232   1          ( 0 << 27 );        /* EDGE = 0 (CAP/MAT singal falling,trigger A/D 
  233   1                      conversion) */
  234   1          AD1CR = ( 0x01 << 0 ) |     // SEL=1,select channel 0, 0 to 7 on ADC1
  235   1          ( ( Fpclk / ADC_Clk - 1 ) << 8 ) |  // CLKDIV = Fpclk / 1000000 - 1 
  236   1          ( 0 << 16 ) |       // BURST = 0, no BURST, software controlled 
  237   1          ( 0 << 17 ) |       // CLKS = 0, 11 clocks/10 bits 
  238   1          ( 1 << 21 ) |       // PDN = 1, normal operation 
  239   1          ( 0 << 22 ) |       // TEST1:0 = 00 
  240   1          ( 0 << 24 ) |       // START = 0 A/D conversion stops
  241   1          ( 0 << 27 );        /* EDGE = 0 (CAP/MAT singal falling,trigger A/D 
  242   1                      conversion) */
  243   1      
  244   1          /* If POLLING, no need to do the following */
  245   1      #if ADC_INTERRUPT_FLAG
  246   1          AD0INTEN = 0x11E;       // Enable all interrupts 
  247   1          AD1INTEN = 0x1FF;
  248   1      
  249   1          if ( install_irq( ADC0_INT, (void *)ADC0Handler ) == FALSE )
  250   1          {
  251   2          return (FALSE);
  252   2          }
  253   1          if ( install_irq( ADC1_INT, (void *)ADC1Handler ) == FALSE )
  254   1          {
  255   2          return (FALSE);
  256   2          }
ARM COMPILER V2.53,  adc                                                                   12/10/06  20:06:10  PAGE 5   

  257   1      #endif
  258   1      
  259   1          return (TRUE);
  260   1      }
  261          
  262          /*****************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女精品自拍一二三四| 亚洲综合色噜噜狠狠| 国产精品乱人伦一区二区| 一区二区三区毛片| 国产精品影视天天线| 91精品国产综合久久精品| 亚洲视频一区在线| 国产黄色91视频| 日韩精品一区二区在线观看| 精一区二区三区| 久久久美女艺术照精彩视频福利播放| 成人免费毛片片v| 亚洲视频在线观看三级| 色综合久久88色综合天天免费| 韩国一区二区视频| 制服丝袜激情欧洲亚洲| 精品视频在线免费| 亚洲黄网站在线观看| 懂色av一区二区三区免费观看| 日韩欧美成人激情| 日日夜夜精品视频天天综合网| 日本韩国一区二区三区| 国产精品女主播在线观看| 国产91高潮流白浆在线麻豆 | 91丝袜美腿高跟国产极品老师 | 欧美卡1卡2卡| 亚洲综合色噜噜狠狠| 91啪在线观看| 亚洲免费在线视频| 色婷婷久久久综合中文字幕| 欧美激情综合五月色丁香| 国产一区二区在线观看免费| 久久久精品免费网站| 国精品**一区二区三区在线蜜桃| 精品欧美乱码久久久久久| 久久99精品久久久久久动态图| 精品欧美久久久| 国产一区二区福利| 亚洲国产精品激情在线观看| 97久久精品人人澡人人爽| 国产精品成人在线观看| 91麻豆国产香蕉久久精品| 亚洲欧美成人一区二区三区| 91亚洲精品久久久蜜桃网站| 亚洲最大成人网4388xx| 在线综合视频播放| 国产一区二区三区免费看| 国产免费久久精品| 99久久精品国产一区| 亚洲国产日韩精品| 精品少妇一区二区三区在线视频| 国产精品资源站在线| 国产精品国产三级国产aⅴ无密码| 91免费观看在线| 亚洲美女淫视频| 日韩欧美一卡二卡| 成人综合在线网站| 亚洲gay无套男同| 日韩精品专区在线影院重磅| 国产jizzjizz一区二区| 亚洲一区二区三区激情| 日韩手机在线导航| 成人av动漫在线| 午夜婷婷国产麻豆精品| 国产丝袜欧美中文另类| 色综合久久久久综合99| 免费国产亚洲视频| 自拍视频在线观看一区二区| 欧美电影在哪看比较好| 国产激情视频一区二区在线观看 | 国产亚洲人成网站| 色www精品视频在线观看| 国产在线精品免费av| 亚洲激情一二三区| 国产欧美日韩三区| 欧美精品在线观看一区二区| youjizz久久| 美女视频网站久久| 一区二区三区国产精华| 国产欧美日韩精品在线| 51午夜精品国产| 色综合天天综合色综合av| 国产传媒欧美日韩成人| 亚洲午夜av在线| 中文字幕中文字幕一区二区| 欧美一区日韩一区| 91国偷自产一区二区开放时间 | 中文字幕欧美国产| 5858s免费视频成人| 色先锋aa成人| 成人深夜在线观看| 麻豆国产欧美日韩综合精品二区| 亚洲综合精品久久| 最新国产成人在线观看| 久久久综合激的五月天| 欧美一区二区三区电影| 欧美亚洲综合一区| 在线免费观看不卡av| 国产v综合v亚洲欧| 国产麻豆精品在线| 久久国产夜色精品鲁鲁99| 亚洲国产精品久久久久婷婷884 | 99久久婷婷国产综合精品| 老司机免费视频一区二区| 三级一区在线视频先锋| 午夜激情综合网| 亚洲午夜免费福利视频| 一个色综合网站| 亚洲美女一区二区三区| 亚洲精品视频在线看| 日韩一区在线免费观看| 综合欧美亚洲日本| 一区二区三区av电影| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 日韩精品一区二区三区四区| 91精品婷婷国产综合久久性色 | 亚洲动漫第一页| 午夜精品一区二区三区三上悠亚| 亚洲网友自拍偷拍| 日韩激情在线观看| 久久精品国产一区二区| 韩国成人福利片在线播放| 国产专区综合网| 成人在线综合网| 91老司机福利 在线| 色哟哟国产精品| 欧美美女bb生活片| 欧美日韩一区二区在线观看视频| 欧美日韩国产一区二区三区地区| 5858s免费视频成人| 精品三级在线观看| 亚洲国产成人一区二区三区| 亚洲视频一二三| 日日欢夜夜爽一区| 久久99精品久久久| 99久久精品免费看国产免费软件| 日本韩国欧美一区| 日韩一区二区免费电影| 久久色.com| 最新不卡av在线| 日本一不卡视频| 成人性生交大合| 在线亚洲人成电影网站色www| 欧美日韩1234| 久久久另类综合| 亚洲综合久久久| 国产一区二区三区蝌蚪| 91丝袜美腿高跟国产极品老师 | 午夜精品免费在线| 日本不卡的三区四区五区| 久久se这里有精品| 成人激情综合网站| 欧美揉bbbbb揉bbbbb| 久久先锋资源网| 一区二区三区久久久| 国产综合色精品一区二区三区| 99国产精品国产精品久久| 欧美一区二区国产| 亚洲人成网站在线| 久久av老司机精品网站导航| 色综合中文字幕| 欧美精品一区二区蜜臀亚洲| 亚洲一区在线视频观看| 国产呦萝稀缺另类资源| 欧美日韩一区小说| 国产精品午夜在线观看| 日韩二区三区在线观看| 99精品久久99久久久久| 久久九九久久九九| 日韩二区在线观看| 在线免费视频一区二区| 国产人伦精品一区二区| 日本特黄久久久高潮| 91蜜桃婷婷狠狠久久综合9色| 欧美sm极限捆绑bd| 亚洲成人综合视频| 91首页免费视频| 国产日韩欧美a| 麻豆精品国产传媒mv男同| 日本精品一级二级| 中文字幕成人av| 激情综合五月天| 日韩免费看的电影| 视频一区视频二区中文| 欧洲视频一区二区| 亚洲色图.com| 成人午夜在线视频| 国产校园另类小说区| 国产在线不卡一卡二卡三卡四卡| 欧美一区二区三区喷汁尤物| 亚洲一区二区不卡免费| 色天天综合久久久久综合片| 中文字幕一区二区三| 国产成人免费视频网站高清观看视频| 欧美一区二区三区四区久久| 午夜成人免费电影| 8v天堂国产在线一区二区| 一个色妞综合视频在线观看| 欧美在线一二三| 亚洲第一搞黄网站|