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

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

?? main.lst

?? Hitex LPC2100 insider guide source code
?? LST
?? 第 1 頁 / 共 2 頁
字號:
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 1   


ARM COMPILER V2.00f, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe main.c THUMB OPTIMIZE(7,SPEED) BROWSE DEBUG TABS(4) 

stmt  level    source

    1          /************************************************************/
    2          /* PROJECT NAME: I2C                                        */
    3          /* Project:      LPC2100 Training course                    */
    4          /* Engineer:     T Martin      tmartin@hitex.co.uk          */
    5          /* Filename:     MAIN.C                                     */
    6          /* Language:     C                                          */
    7          /* Compiler:     Keil ARM   V1.3                            */
    8          /* Assembler:                                               */
    9          /*                                                          */
   10          /************************************************************/
   11          /* COPYRIGHT: Hitex UK Ltd      2004                        */
   12          /* LICENSE:   THIS VERSION CREATED FOR FREE DISTRIBUTION    */
   13          /************************************************************/
   14          /* Function:                                                */
   15          /*                                                          */
   16          /* Interrupt driven I2C example for LPC2106                 */
   17          /*                                                          */
   18          /* The Transfer byte routine starts a single byte transfer  */
   19          /*  on the I2C bus. The development board has two port      */
   20          /* expanders one at address 0x42 with a 7 segment LCD a     */
   21          /* second at 0x41 with a four switch header. The code reads */
   22          /* the switches and writes the pattern to the LED's         */
   23          /*                                                          */  
   24          /* Oscillator frequency 14.7456 Mhz                         */
   25          /* Target board Ashling EVBA7                               */
   26          /************************************************************/
   27          
   28          #include <LPC210x.H> 
   29          #include <stdarg.h>
   30          
   31          void I2CISR (void)  __irq ;                                                                         //I2C interrupt routine
   32          void I2CTransferByte(unsigned int I2CAddr,unsigned char MemAddr,unsigned char count,...);           //Background 
             -call to start master send and receive byte transfers
   33          
   34          unsigned char   message[4] = {0x01,0x02,0x03,0x04};                                                 
   35          unsigned char   messageIn[4];
   36          unsigned char   *I2CData,
   37                          I2Counter,
   38                          I2CAddress,
   39                          MemAddress,
   40                          lock;       //Define Function prototypes and Global variables
   41          
   42          
   43          int main(void)
   44          {
   45   1      
   46   1      lock = 0;                                   //Initilise the lock flag
   47   1      
   48   1      VICVectCntl1 = 0x00000029;                  //select a priority slot for a given interrupt
   49   1      VICVectAddr1 = (unsigned)I2CISR;            //pass the address of the IRQ into the VIC slot
   50   1      VICIntEnable = 0x00000200;                  //enable interrupt
   51   1      
   52   1      PINSEL0      = 0x50;                        //Switch GPIO to I2C pins
   53   1      
   54   1      I2SCLH       = 0x08;                        //Set bit rate 14.7456Mhz/VPBDIV+SCLH+SCLL = 14.7456/4+8+8 = 57.6Khz
   55   1      I2SCLL       = 0x08;
   56   1      
   57   1      I2CTransferByte(0x40,0,4,message);          //write data to the I2C Memory
   58   1      I2CTransferByte(0x40,0,0);                  //set address to zero
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 2   

   59   1      I2CTransferByte(0x41,0,4,messageIn);        //read back data
   60   1      
   61   1      while(1)
   62   1      {
   63   2      ;
   64   2      }
   65   1      }
   66          
   67          
   68          void I2CTransferByte(unsigned int I2CAddr,unsigned char MemAddr,unsigned char count,...)
   69          {
   70   1      va_list ap;
   71   1      va_start(ap,count);
   72   1      
   73   1      while(lock == 1)                            //Wait for interrupt to signal end of I2C activity
   74   1      {
   75   2      ;
   76   2      }
   77   1      lock        = 1;                            //Set I2C bus as active
   78   1      
   79   1      I2CAddress  = I2CAddr;                      //Place address and data in Globals to be used by the interrupt
   80   1      if(count >0)
   81   1      {
   82   2      I2CData     = va_arg(ap,unsigned char *);
   83   2      }
   84   1      I2Counter   = count;
   85   1      MemAddress  = MemAddr;
   86   1      I2CONCLR    = 0x000000FF;                   //Clear all I2C settings
   87   1      I2CONSET    = 0x00000040;                   //Enable the I2C interface
   88   1      I2CONSET    = 0x00000020;                   //Start condition
   89   1      va_end(ap);
   90   1      }
   91          
   92          
   93          void I2CISR (void)  __irq                       //I2C interrupt routine
   94          {
   95   1      
   96   1      switch (I2STAT)                             //Read result code and switch to next action
   97   1      {
   98   2      // Start and Send byte conditions
   99   2      
  100   2      case ( 0x08):                               //Start bit
  101   2      I2CONCLR    = 0x20;                         //Clear start bit
  102   2      I2DAT       = I2CAddress;                   //Send address and write bit
  103   2      break;
  104   2      
  105   2      case (0x18):                                //Slave address+W, ACK
  106   2      I2DAT       = MemAddress;                   //Write Mem,ory start address to tx register
  107   2      break;
  108   2      
  109   2      case (0x20):                                //Salve address +W, Not ACK
  110   2      I2DAT       = I2CAddress;                   //Resend address and write bi
  111   2      break;
  112   2      
  113   2      case (0x28):
  114   2      if(I2Counter-->0)                               //Data sent, Ack
  115   2      {
  116   3      I2DAT       = *I2CData;                     //Write data to tx register
  117   3      I2CData++;
  118   3      }
  119   2      else
  120   2      {
  121   3      I2CONSET    = 0x10;                         //Stop condition
  122   3      lock = 0;                                   //Signal end of I2C activity
  123   3      }
  124   2      break;
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 3   

  125   2      
  126   2      case (0x30) :                               //Data sent, NOT Ack
  127   2      I2DAT       = *I2CData;                     //Write data to tx register
  128   2      break;
  129   2      
  130   2      
  131   2      //Receive byte conditions
  132   2      
  133   2      case (0x40) :                               //Slave Address +R, ACK
  134   2      I2CONSET    = 0x04;                         //Enable ACK for data byte
  135   2      break;
  136   2      
  137   2      case (0x48) :                               //Slave Address +R, Not Ack
  138   2      I2CONSET    = 0x20;                         //Resend Start condition
  139   2      break;
  140   2      
  141   2      case (0x50) :                               //Data Received, ACK 
  142   2      if(--I2Counter>0)
  143   2      {
  144   3      *I2CData    = I2DAT;
  145   3      I2CData++;
  146   3      }
  147   2      else
  148   2      {
  149   3      I2CONSET    = 0x10;                         //Stop condition
  150   3      lock        = 0;                            //Signal end of I2C activity                            
  151   3      }
  152   2      break;
  153   2      
  154   2      case (0x58):                                //Data Received, Not Ack
  155   2      I2CONSET    = 0x20;                         // Resend Start condition
  156   2      break;
  157   2      
  158   2      default :
  159   2      break;
  160   2      
  161   2      }
  162   1      
  163   1      I2CONCLR    = 0x08;                         //Clear I2C interrupt flag
  164   1      VICVectAddr = 0x00000000;                   //Clear interrupt in 
  165   1      
  166   1      }
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         I2CISR?A
 PUBLIC         I2CTransferByte?T
 PUBLIC         main
 PUBLIC         message
 PUBLIC         messageIn
 PUBLIC         I2CData
 PUBLIC         I2Counter
 PUBLIC         I2CAddress
 PUBLIC         MemAddress
 PUBLIC         lock



*** DATA SEGMENT '?DT0?main':
 00000000          I2CData:
 00000000            DS          4
 00000004          message:
 00000004           BEGIN_INIT
 00000004  01        DB          0x1
 00000005  02        DB          0x2
 00000006  03        DB          0x3
 00000007  04        DB          0x4
 00000008           END_INIT
 00000008          messageIn:
 00000008            DS          4
 0000000C          I2Counter:
 0000000C            DS          1
 0000000D          I2CAddress:
 0000000D            DS          1
 0000000E          MemAddress:
 0000000E            DS          1
 0000000F          lock:
 0000000F            DS          1



*** CODE SEGMENT '?PR?main?main':
   43: int main(void)
 00000000  B500      PUSH        {LR}
   46: lock = 0;                                   //Initilise the lock flag
 00000002  2100      MOV         R1,#0x0
 00000004  4800      LDR         R0,=lock ; lock
 00000006  7001      STRB        R1,[R0,#0x0] ; lock
   48: VICVectCntl1 = 0x00000029;                  //select a priority slot for a given interrupt
 00000008  2129      MOV         R1,#0x29
 0000000A  4800      LDR         R0,=0xFFFFF204
 0000000C  6001      STR         R1,[R0,#0x0]
   49: VICVectAddr1 = (unsigned)I2CISR;            //pass the address of the IRQ into the VIC slot
 0000000E  4900      LDR         R1,=I2CISR?A ; I2CISR?A
 00000010  4800      LDR         R0,=0xFFFFF104
 00000012  6001      STR         R1,[R0,#0x0]
   50: VICIntEnable = 0x00000200;                  //enable interrupt
 00000014  4980      LDR         R1,=0x200
 00000016  4800      LDR         R0,=0xFFFFF010
 00000018  6001      STR         R1,[R0,#0x0]
   52: PINSEL0      = 0x50;                        //Switch GPIO to I2C pins
 0000001A  2150      MOV         R1,#0x50
 0000001C  4800      LDR         R0,=0xE002C000
 0000001E  6001      STR         R1,[R0,#0x0]
   54: I2SCLH          = 0x08;                        //Set bit rate 14.7456Mhz/VPBDIV+SCLH+SCLL = 14.7456/4+8+8 = 57.6Khz
 00000020  2108      MOV         R1,#0x8
 00000022  4800      LDR         R0,=0xE001C010
 00000024  8001      STRH        R1,[R0,#0x0]
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:41:59  PAGE 5   

   55: I2SCLL          = 0x08;
 00000026  2108      MOV         R1,#0x8
 00000028  4800      LDR         R0,=0xE001C014
 0000002A  8001      STRH        R1,[R0,#0x0]
   57: I2CTransferByte(0x40,0,4,message);          //write data to the I2C Memory
 0000002C  4800      LDR         R3,=message ; message
 0000002E  2040      MOV         R0,#0x40
 00000030  2100      MOV         R1,#0x0
 00000032  2204      MOV         R2,#0x4
 00000034  F7FF      BL          I2CTransferByte?T  ; T=0x0001  (1)
 00000036  FFE4      BL          I2CTransferByte?T  ; T=0x0001  (2)
   58: I2CTransferByte(0x40,0,0);                  //set address to zero
 0000003A  2040      MOV         R0,#0x40
 0000003C  2100      MOV         R1,#0x0
 0000003E  2200      MOV         R2,#0x0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国中文字幕2020精品| 欧美视频你懂的| 国产精品性做久久久久久| 日韩1区2区3区| 免费人成黄页网站在线一区二区| 五月天精品一区二区三区| 亚洲成人先锋电影| 日韩影院在线观看| 理论电影国产精品| 国产乱码精品一区二区三区av| 国内精品写真在线观看| 国产麻豆精品theporn| 国产乱对白刺激视频不卡| 岛国一区二区在线观看| 成人动漫一区二区在线| 972aa.com艺术欧美| 91福利在线导航| 欧美日韩国产a| 精品国产一区二区三区四区四 | 亚洲成人免费av| 天天综合日日夜夜精品| 免费久久精品视频| 国产一二三精品| aaa欧美大片| 欧美视频日韩视频在线观看| 91麻豆精品国产91久久久久| 精品国产91洋老外米糕| 中文av一区二区| 亚洲精品国产a| 视频一区二区三区中文字幕| 国产资源精品在线观看| 成人av资源在线观看| 在线免费观看一区| 91精品国产综合久久福利| 欧美精品一区二区三区四区| 国产精品网曝门| 亚洲v中文字幕| 激情小说欧美图片| 97精品国产露脸对白| 在线成人高清不卡| 久久久久久一二三区| 亚洲精品视频免费看| 免费成人你懂的| 粉嫩13p一区二区三区| 色菇凉天天综合网| 欧美精品一区二区不卡| 国产精品嫩草99a| 日韩vs国产vs欧美| 99免费精品视频| 欧美一级一区二区| 亚洲人成影院在线观看| 男人的天堂亚洲一区| 成人福利视频网站| 91精品国产乱| 亚洲日本护士毛茸茸| 日本欧美一区二区三区乱码 | 久久久国产精品麻豆| 亚洲日本丝袜连裤袜办公室| 久久狠狠亚洲综合| 一本色道亚洲精品aⅴ| 欧美电影免费观看高清完整版在线 | 亚洲美女淫视频| 国产一区二区三区美女| 欧美日韩在线观看一区二区| 欧美国产丝袜视频| 奇米777欧美一区二区| 97se亚洲国产综合自在线观| 欧美大尺度电影在线| 亚洲手机成人高清视频| 国内精品在线播放| 3atv一区二区三区| 亚洲日本青草视频在线怡红院| 精品一区二区三区不卡| 欧美精品亚洲二区| 亚洲靠逼com| 成人夜色视频网站在线观看| 日韩久久久久久| 日韩综合一区二区| 在线这里只有精品| 中文字幕巨乱亚洲| 韩日欧美一区二区三区| 日韩天堂在线观看| 日韩 欧美一区二区三区| 欧美影院午夜播放| 亚洲特级片在线| 国产91精品在线观看| 日韩欧美国产麻豆| 蜜桃av一区二区在线观看| 欧美性一区二区| 亚洲欧美一区二区三区国产精品| 国产精品1区二区.| 精品1区2区在线观看| 日本va欧美va精品| 欧美剧在线免费观看网站| 伊人婷婷欧美激情| 色噜噜狠狠成人中文综合| 亚洲欧洲成人av每日更新| 成人午夜激情在线| 国产免费成人在线视频| 国产高清不卡二三区| 久久久久97国产精华液好用吗| 久久99国产精品久久| 精品国产a毛片| 国产自产高清不卡| 国产亚洲污的网站| 福利视频网站一区二区三区| 久久亚洲影视婷婷| 国产+成+人+亚洲欧洲自线| 国产午夜亚洲精品午夜鲁丝片| 国产精品一区二区免费不卡 | 亚洲欧美日韩一区二区| k8久久久一区二区三区| 久久久精品蜜桃| 国产成人激情av| 国产精品电影一区二区三区| 白白色亚洲国产精品| 亚洲男同性视频| 欧美日韩在线播放| 免费久久99精品国产| 精品久久久久久亚洲综合网| 国产一区二区在线观看视频| 国产无人区一区二区三区| 91麻豆精品国产自产在线| 日本一区中文字幕| 日韩免费在线观看| 国产精品一区专区| 国产午夜亚洲精品午夜鲁丝片| www.日韩av| 亚洲国产精品嫩草影院| 在线成人av影院| 国产精品自在在线| 亚洲日本一区二区三区| 欧美日韩一区二区三区四区五区| 日韩一区精品视频| 久久色在线观看| 91黄色免费版| 精品系列免费在线观看| 中文字幕欧美日本乱码一线二线| 色婷婷久久综合| 日韩av不卡一区二区| 欧美国产精品一区二区| 日本精品一级二级| 免费精品视频在线| 国产精品美女久久久久久| 欧洲激情一区二区| 久久99国产精品麻豆| 1000部国产精品成人观看| 欧美日韩国产综合草草| 国产在线麻豆精品观看| 亚洲精品视频在线| 精品对白一区国产伦| 91视频.com| 久久国产精品99久久久久久老狼 | 久久久91精品国产一区二区精品| 99re6这里只有精品视频在线观看| 婷婷激情综合网| 欧美极品xxx| 欧美日韩国产一二三| 成人手机电影网| 日韩高清不卡在线| 亚洲天堂久久久久久久| 欧美白人最猛性xxxxx69交| 色婷婷av一区二区三区之一色屋| 激情综合网av| 亚洲成人免费在线| 中文字幕中文字幕一区| 日韩一级片网址| 欧美亚洲高清一区二区三区不卡| 国产一区二区三区在线观看免费视频| 亚洲男人天堂av网| 国产亚洲精品aa午夜观看| 欧美日韩精品福利| 91一区二区在线观看| 国产馆精品极品| 奇米777欧美一区二区| 一区二区不卡在线视频 午夜欧美不卡在| 日韩你懂的在线观看| 欧美日韩一区二区三区四区 | 欧美图区在线视频| 99久久免费国产| 国产成人综合视频| 国内不卡的二区三区中文字幕| 亚洲一区二区三区三| 亚洲欧美综合另类在线卡通| 久久综合色一综合色88| 日韩视频免费观看高清完整版在线观看| 91视频.com| 99久久精品免费观看| 国产suv精品一区二区6| 国产精品资源网| 国产一区二区导航在线播放| 久久激情五月婷婷| 免费观看日韩av| 日韩和的一区二区| 五月天一区二区三区| 亚洲.国产.中文慕字在线| 一区二区三区国产| 亚洲综合精品久久| 亚洲一区二区在线免费观看视频| 亚洲人被黑人高潮完整版|