亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久一夜天堂av一区二区三区 | 久久精品国产亚洲a| 国产麻豆精品视频| 欧美人与禽zozo性伦| 欧美经典一区二区| 美国av一区二区| 欧美区一区二区三区| 国产精品视频九色porn| 久久国产精品99精品国产| 欧美唯美清纯偷拍| 亚洲视频1区2区| 9人人澡人人爽人人精品| 日韩欧美久久一区| 视频一区二区三区中文字幕| 色噜噜狠狠成人中文综合| 国产欧美日韩视频一区二区| 国产最新精品精品你懂的| 欧美一区二区三区在线观看 | 欧美aaaaaa午夜精品| 在线免费观看一区| 综合久久综合久久| 99久久综合99久久综合网站| 欧美精品一区二| 日本三级韩国三级欧美三级| 91看片淫黄大片一级在线观看| 久久免费电影网| 狠狠色狠狠色综合系列| 精品蜜桃在线看| 精品一区二区三区久久| 日韩欧美一二三| 韩国毛片一区二区三区| 久久狠狠亚洲综合| 91精彩视频在线观看| 一区二区中文视频| 91丨九色丨国产丨porny| 亚洲日本丝袜连裤袜办公室| 色综合婷婷久久| 国产成人午夜高潮毛片| 国产视频亚洲色图| 成人网页在线观看| ...中文天堂在线一区| 91免费视频网| 日韩精品成人一区二区三区| 91精品国模一区二区三区| 亚洲电影一区二区三区| 日韩欧美国产麻豆| 国产激情一区二区三区桃花岛亚洲| 国产日产欧美一区二区视频| 99久久精品国产毛片| 亚洲一区二区在线视频| 91麻豆精品91久久久久同性| 国产做a爰片久久毛片| 亚洲欧美在线观看| 欧美在线影院一区二区| 日韩国产一区二| 久久久91精品国产一区二区精品| 成人在线视频一区二区| 亚洲大片一区二区三区| 精品国产露脸精彩对白| 99久久精品免费看| 日韩在线播放一区二区| 国产女人水真多18毛片18精品视频| av激情亚洲男人天堂| 亚洲成av人片www| 久久久久九九视频| 欧洲一区在线观看| 国产麻豆精品一区二区| 亚洲午夜久久久久久久久久久| 91精品国产入口在线| 成人少妇影院yyyy| 天堂影院一区二区| 综合中文字幕亚洲| 26uuu精品一区二区| 欧美性视频一区二区三区| 国产一区欧美日韩| 亚洲电影在线播放| 国产精品全国免费观看高清| 日韩一区二区三区高清免费看看| 夫妻av一区二区| 久久se这里有精品| 婷婷久久综合九色综合绿巨人 | 欧美老人xxxx18| 成人理论电影网| 麻豆91在线播放| 午夜精品久久一牛影视| 中文字幕一区二区三区精华液| 日韩女同互慰一区二区| 欧美日韩一级大片网址| 不卡av在线免费观看| 国产在线精品免费| 男人操女人的视频在线观看欧美 | 国产校园另类小说区| 在线不卡免费av| 欧美综合色免费| 一本色道久久加勒比精品| 高清国产一区二区| 韩国在线一区二区| 麻豆传媒一区二区三区| 日韩av一级电影| 亚洲成人一区二区| 亚洲综合色视频| 亚洲黄色免费网站| 亚洲精品videosex极品| 亚洲欧洲国产日韩| 亚洲欧美色综合| 国产精品久久久久影视| 国产精品美女一区二区三区 | 久久精品视频免费| 久久噜噜亚洲综合| 国产亚洲精品免费| 久久久久久久综合色一本| 久久综合一区二区| 国产日韩精品一区| 欧美激情一区二区三区四区| 国产日韩欧美精品在线| 国产欧美日韩亚州综合 | 亚洲国产日产av| 亚洲综合一区二区| 亚洲国产欧美一区二区三区丁香婷| 一区二区三区欧美亚洲| 亚洲电影一区二区| 免费视频最近日韩| 国内久久精品视频| 成人做爰69片免费看网站| 97久久精品人人做人人爽| 色婷婷综合久久| 3d成人动漫网站| 亚洲精品在线一区二区| 国产精品久久久久久久久果冻传媒 | 国产日韩精品一区二区三区| 精品欧美乱码久久久久久1区2区| 国产精品色婷婷久久58| 26uuu色噜噜精品一区| 中文字幕一区二区三区在线播放| 三级影片在线观看欧美日韩一区二区 | 激情文学综合插| 欧美日韩国产一二三| 亚洲色图在线播放| 国产二区国产一区在线观看 | 国产一区二区免费视频| 欧美videossexotv100| 日本欧美一区二区| www.激情成人| 精品国产第一区二区三区观看体验 | 日韩成人精品在线观看| 日韩成人精品在线| 成人午夜av电影| 欧美男生操女生| 国产欧美一区二区三区在线看蜜臀| 中文字幕一区在线| 蜜臀av一区二区| 91论坛在线播放| 精品国产露脸精彩对白| 一区二区三区高清| 国产成人小视频| 日韩一区二区在线观看视频| 中文字幕制服丝袜一区二区三区 | 777xxx欧美| 1区2区3区国产精品| 理论片日本一区| 91久久奴性调教| 日本一区二区电影| 青青青伊人色综合久久| 91麻豆免费视频| 国产性色一区二区| 免费观看一级欧美片| 色av一区二区| 久久久精品人体av艺术| 色综合久久66| 欧美日韩日本视频| 国产精品三级av在线播放| 免费在线观看视频一区| 91视频com| 国产精品乱人伦| 国产精品伊人色| 日韩欧美另类在线| 天天综合网 天天综合色| 一本大道久久精品懂色aⅴ| 欧美国产日本韩| 国产成人鲁色资源国产91色综| 91精品国产aⅴ一区二区| 亚洲美女偷拍久久| 91亚洲男人天堂| 亚洲欧洲日本在线| 成人丝袜视频网| 欧美国产日本韩| 成人伦理片在线| 国产精品免费久久久久| 国产成人av在线影院| 久久综合久久综合久久综合| 日本成人在线网站| 欧美一区二区三区视频免费| 亚洲国产精品人人做人人爽| 在线观看视频一区| 亚洲精品欧美激情| 色狠狠桃花综合| 亚洲一区在线视频| 欧美另类久久久品| 日本成人在线看| 精品国产成人系列|