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

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

?? main.lst

?? Hitex LPC2100 insider guide source code
?? LST
?? 第 1 頁 / 共 2 頁
字號:
ARM COMPILER V2.00f,  main                                                                 20/02/05  12:43:48  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:43:48  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:43:48  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:43:48  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:43:48  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一区二区三区免费野_久草精品视频
亚洲男帅同性gay1069| 国产日韩精品一区二区浪潮av| 精品一区二区三区在线视频| 亚洲精品水蜜桃| 久久精品一级爱片| 欧美一级日韩一级| 欧美丰满嫩嫩电影| 日韩在线一区二区| 一区二区三区蜜桃网| 国产精品久久免费看| 日本一区二区免费在线观看视频| 日韩免费视频一区二区| 3atv一区二区三区| 91精品国产综合久久精品性色 | 日韩高清一区在线| 一区二区激情小说| 成人免费在线播放视频| 国产免费久久精品| 国产精品亲子伦对白| 欧美—级在线免费片| 中文字幕高清一区| 亚洲欧洲精品成人久久奇米网| 2欧美一区二区三区在线观看视频| 日韩欧美在线123| 6080午夜不卡| 久久久精品免费观看| 中文字幕精品在线不卡| 国产精品毛片高清在线完整版| 亚洲国产精品成人综合| 国产精品美日韩| 日韩一区有码在线| 午夜天堂影视香蕉久久| 日韩电影免费一区| 韩国精品一区二区| 成人av网站在线观看| 色综合久久综合网97色综合| 欧洲生活片亚洲生活在线观看| 91福利在线观看| 欧美日韩一区在线观看| 日韩丝袜美女视频| 久久久久久影视| 一区二区三区小说| 捆绑紧缚一区二区三区视频| 国产精品一二三四区| 色妞www精品视频| 欧美精品少妇一区二区三区| 欧美午夜精品免费| 日韩精品一区二区三区四区| 中文字幕中文在线不卡住| 自拍偷自拍亚洲精品播放| 亚洲一区二区三区在线看 | 色播五月激情综合网| 色综合久久综合中文综合网| 日韩午夜激情av| 亚洲免费观看视频| 国产精品一区二区x88av| 欧洲精品在线观看| 欧美高清在线视频| 日韩黄色片在线观看| 成人一区二区视频| 日韩三级视频在线看| 91蜜桃免费观看视频| 91网站最新地址| 久久久久久久久久美女| 蜜桃av一区二区| 91麻豆精品国产91久久久使用方法 | 处破女av一区二区| 欧美成人欧美edvon| 日本视频一区二区三区| 欧美日韩国产123区| 亚洲一二三四区| 欧洲视频一区二区| 亚洲一区视频在线观看视频| 色素色在线综合| 亚洲一区二区美女| 欧美日本不卡视频| 日本大胆欧美人术艺术动态 | 久久精品99久久久| 欧美mv日韩mv国产网站| 韩国理伦片一区二区三区在线播放 | 亚洲午夜在线电影| 欧美日韩国产免费一区二区| 亚洲国产wwwccc36天堂| 91精品国产丝袜白色高跟鞋| 日本在线播放一区二区三区| 日韩一区二区三区免费看| 免费成人性网站| 亚洲精品一区二区在线观看| 国产99精品视频| 亚洲三级电影网站| 欧美亚洲国产一区在线观看网站 | 久久综合国产精品| 不卡欧美aaaaa| 一区二区国产视频| 日韩三级免费观看| 成人午夜碰碰视频| 亚洲一二三四区不卡| 日韩欧美自拍偷拍| 国产精品自在欧美一区| 亚洲欧洲日韩一区二区三区| 色噜噜狠狠一区二区三区果冻| 亚洲一区二区美女| www国产精品av| 99精品在线免费| 亚洲电影第三页| 久久精品在线观看| 欧美性色黄大片手机版| 久久精品国产精品青草| 国产精品久久久久久久久图文区 | 三级精品在线观看| 久久久美女毛片| 欧美三级日韩三级国产三级| 国产在线视频精品一区| 一区二区三区四区不卡视频| 精品日韩在线一区| 在线精品视频一区二区| 国产成人精品网址| 亚洲香肠在线观看| 国产精品免费久久久久| 日韩精品最新网址| 色婷婷国产精品综合在线观看| 美腿丝袜在线亚洲一区| 亚洲日本青草视频在线怡红院 | 亚洲人精品一区| 精品免费国产二区三区| 欧美亚洲一区二区在线观看| 粉嫩aⅴ一区二区三区四区| 日韩精品乱码免费| 亚洲人成网站色在线观看| 国产三区在线成人av| 日韩欧美一级二级| 欧美网站一区二区| 99精品视频在线观看免费| 国产成人亚洲精品青草天美| 亚洲成年人网站在线观看| 综合亚洲深深色噜噜狠狠网站| 久久久三级国产网站| 日韩女优av电影| 制服.丝袜.亚洲.另类.中文| 欧美性一二三区| 99re热视频精品| 99国产精品久| www.在线成人| 国产成人亚洲精品狼色在线| 极品美女销魂一区二区三区免费| 日韩精品福利网| 日本亚洲最大的色成网站www| 亚洲不卡一区二区三区| 亚洲免费观看在线视频| 亚洲精选视频在线| 亚洲色图另类专区| 一区二区三区四区国产精品| 亚洲伦在线观看| 亚洲免费三区一区二区| 洋洋成人永久网站入口| 亚洲高清在线精品| 日韩制服丝袜av| 久久不见久久见免费视频1| 麻豆成人91精品二区三区| 日韩av电影免费观看高清完整版 | 日韩一区二区三区在线视频| 91精品国产91综合久久蜜臀| 日韩欧美在线观看一区二区三区| 欧美一区二区三区视频在线观看 | 97se亚洲国产综合自在线| av毛片久久久久**hd| 色婷婷综合久久久久中文一区二区 | 九九精品视频在线看| 国产一区二区精品在线观看| 国产成人综合视频| gogo大胆日本视频一区| 在线观看欧美黄色| 日韩小视频在线观看专区| 久久精品人人爽人人爽| 国产精品成人免费在线| 亚洲国产精品综合小说图片区| 日韩精品成人一区二区在线| 国产精品中文字幕日韩精品| 北条麻妃一区二区三区| 欧美日韩成人综合天天影院| 久久久亚洲午夜电影| 综合分类小说区另类春色亚洲小说欧美| 亚洲网友自拍偷拍| 狠狠色丁香久久婷婷综合_中| 成人黄色一级视频| 6080日韩午夜伦伦午夜伦| 国产精品视频看| 日本网站在线观看一区二区三区| 国产成人aaa| 欧美美女一区二区在线观看| 中文字幕av一区 二区| 亚洲妇女屁股眼交7| 东方aⅴ免费观看久久av| 欧美视频一区在线| 国产女人18毛片水真多成人如厕 | 亚洲午夜免费电影| 精品一区二区三区视频在线观看| 99久久婷婷国产| 欧美r级在线观看| 亚洲综合色丁香婷婷六月图片|