⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0001.lst

📁 aduc7026裸机程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
ARM COMPILER V2.42,  0001                                                                  17/01/09  22:24:15  PAGE 1   


ARM COMPILER V2.42, COMPILATION OF MODULE 0001
OBJECT MODULE PLACED IN 0001.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe 0001.c THUMB BROWSE DEBUG TABS(4) 

stmt  level    source

    1          #include "main.h" 
    2          
    3          extern int p;              //优化变量
    4          extern int t;
    5          extern int w; 
    6          extern unsigned char ratiointendh;       //eto co2中间转换值
    7          extern unsigned char ratiointendl;  
    8          extern unsigned char rr1;                //呼吸率转换值
    9          extern unsigned char rr2;           
   10          extern unsigned char factor;      
   11          extern unsigned char a2;                 //rationint changing number时时的co2值
   12          extern unsigned char a1;
   13          
   14          extern unsigned char flagadjust;    
   15          extern unsigned char text;          
   16          extern unsigned char ttflag;
   17          extern unsigned int  countadjust;
   18          
   19          extern  int   utem;                 //采用得到温度值
   20          extern  int   uco2tem;              //temp variable
   21          extern  int   ureftem;
   22          
   23          void SystemInit(); 
   24          void DataProc();
   25          void Hand(); 
   26           
   27          /********************************************
   28           *   定时器0中断服务子程序
   29           *
   30           *******************************************/
   31          void IRQ_Handler(void) __irq   
   32          {
   33   1          if(IRQSTA & TIMER0){
   34   2              T0CLRI = 0;
   35   2              PrintStr("T0 interrupt!");
   36   2              NewLine();
   37   2              if((countadjust<1000) && (flagadjust==0x00) && (ttflag==0x00)){
   38   3                  t--;
   39   3                  if(t == 0){
   40   4                      if(p > 3000){
   41   5                          rr1 = 0;
   42   5                          rr2 = 0;
   43   5                      }
   44   4                      if(w == 1){
   45   5                          SendHex(0x80);SendHex(0x0a);SendHex(0x05);
   46   5                          SendHex(a1);  SendHex(a2);  SendHex(0x01);
   47   5                          SendHex(0x00);SendHex(0x00);SendHex(0x00);
   48   5                          SendHex(0x00);SendHex(0x00);SendHex(0x80);
   49   5                          SendHex(0x07);SendHex(0x05);SendHex(a1);
   50   5                          SendHex(a2);  SendHex(0x03);SendHex(rr1);
   51   5                          SendHex(rr2);
   52   5                          w=0;
   53   5                      }else{ 
   54   5                           SendHex(0x80);SendHex(0x07);SendHex(0x05);
   55   5                           SendHex(a1);  SendHex(a2);  SendHex(0x02);
   56   5                           SendHex(ratiointendh);
   57   5                           SendHex(ratiointendl);
   58   5                           w=1;
   59   5                      }
ARM COMPILER V2.42,  0001                                                                  17/01/09  22:24:15  PAGE 2   

   60   4                       SendHex(0x80); SendHex(0x0a); SendHex(0x05);
   61   4                       SendHex(a1);   SendHex(a2);   SendHex(0x01);
   62   4                       SendHex(0x00); SendHex(0x04); 
   63   4                       SendHex(0x80); SendHex(0x0a); SendHex(0x05);
   64   4                       SendHex(a1);   SendHex(a2);   SendHex(0x01);
   65   4                       SendHex(0x00); SendHex(0x00);              
   66   4                       t=198;
   67   4                  }
   68   3              }       
   69   2          }else{
   70   2              PrintStr("Error!");
   71   2          }
   72   1      }
   73          
   74          void main()
   75          {
   76   1          SystemInit();
   77   1          PrintStr("hello begin!");
   78   1          NewLine();      
   79   1          Hand();     
   80   1          
   81   1          LEDON;                      //开光源
   82   1          T0CON   |= 0x80;            //T0 run
   83   1          while(1){
   84   2              uco2tem = ADCChannel(1);
   85   2              ureftem = ADCChannel(2);
   86   2              utem    = ADCChannel(3);
   87   2              DataProc();
   88   2          }
   89   1      
   90   1          while(1);
   91   1          
   92   1      }
   93          /**********************************
   94           *  整个系统初始化
   95           *
   96           *********************************/
   97          void SystemInit()    
   98          {
   99   1          //the arm core initial ARM内核初始化
  100   1          PLLKEY1 = 0xAA;
  101   1          PLLCON = 0x01;       //PLL + 32kHz oscillator – default configuration
  102   1          PLLKEY2 = 0x55;
  103   1          POWKEY1 = 0x01;
  104   1          POWCON = 0x00;       //the clock configured as 45.088M
  105   1          POWKEY2 = 0xF4;
  106   1      
  107   1          //the light control  指示灯P4.2
  108   1      //  GP4DAT |= (LED2 << 24);    //set p4.2 as output
  109   1      
  110   1          //ADC initial  AD初始化
  111   1          ADCInit();
  112   1      
  113   1          //Uart initial 19200 串口初始化
  114   1          UartInit();
  115   1      
  116   1          //time 0  10ms interrupt initial 定时器0初始化
  117   1          Timer0Init(); 
  118   1      }
  119          
  120          /*****************************************************
  121           * 将factor存入falsh永久保存?
  122           * 函数主要功能是用过串口终端, 用户输入:factor参数
  123           * 0xa7 factor
  124           * 否则factor = EDATA1中的值
  125           *****************************************************/
ARM COMPILER V2.42,  0001                                                                  17/01/09  22:24:15  PAGE 3   

  126          void Hand()
  127          {
  128   1          unsigned char v2 = 0;
  129   1          unsigned char tmpv = 0;
  130   1      //  unsigned char factor = 0;
  131   1      //  unsigned char ttflag = 0;
  132   1      
  133   1          v2 = GetData();
  134   1          if(0xa7 == v2){         
  135   2              tmpv = GetData();   //输入factor数值    
  136   2              FlashWriteByte(FACTADDR,tmpv);          
  137   2              factor = FlashReadByte(FACTADDR);                   //factor 
  138   2              SendHex(factor);
  139   2              
  140   2              FlashWriteByte(FACTADDR+1,0x01); // default factor = 0x01  write to flash           
  141   2          }else{          
  142   2              factor  = FlashReadByte(FACTADDR);
  143   2          }       
  144   1          while(1){
  145   2              tmpv = GetData();
  146   2              if((0xCC == tmpv) || (0x80 == tmpv)){
  147   3                  SendHex(0xCC);
  148   3                  SendByte(' ');
  149   3                  SendHex(0x01);
  150   3                  SendByte(' ');
  151   3                  SendHex(0x33);
  152   3                  NewLine();
  153   3      
  154   3                  tmpv = FlashReadByte(FACTADDR+1);
  155   3                  if (tmpv < 4){
  156   4                      tmpv += 1;  
  157   4                      FlashWriteByte(FACTADDR+1,tmpv);
  158   4                  }
  159   3                  ttflag = 0; 
  160   3                  return ;
  161   3              }
  162   2          }
  163   1      
  164   1      }
ARM COMPILER V2.42,  0001                                                                  17/01/09  22:24:15  PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (UartInit?T)
 EXTERN CODE16 (SendByte?T)
 EXTERN CODE16 (SendHex?T)
 EXTERN CODE16 (PrintStr?T)
 EXTERN CODE16 (NewLine?T)
 EXTERN CODE16 (GetData?T)
 EXTERN CODE16 (Timer0Init?T)
 EXTERN CODE16 (ADCInit?T)
 EXTERN CODE16 (ADCChannel?T)
 EXTERN CODE16 (FlashReadByte?T)
 EXTERN CODE16 (FlashWriteByte?T)
 EXTERN DATA (p)
 EXTERN DATA (t)
 EXTERN DATA (w)
 EXTERN DATA (ratiointendh)
 EXTERN DATA (ratiointendl)
 EXTERN DATA (rr1)
 EXTERN DATA (rr2)
 EXTERN DATA (factor)
 EXTERN DATA (a2)
 EXTERN DATA (a1)
 EXTERN DATA (flagadjust)
 EXTERN DATA (ttflag)
 EXTERN DATA (countadjust)
 EXTERN DATA (utem)
 EXTERN DATA (uco2tem)
 EXTERN DATA (ureftem)
 EXTERN CODE16 (DataProc?T)
 EXTERN CODE32 (PrintStr?A)
 EXTERN CODE32 (NewLine?A)
 EXTERN CODE32 (SendHex?A)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         SystemInit?T
 PUBLIC         Hand?T
 PUBLIC         IRQ_Handler?A
 PUBLIC         main



*** DATA SEGMENT '?CON?0001':
 00000000          ??S_3:
 00000000            DB          'hello begin!',0x00
 0000000D          ??S_2:
 0000000D            DB          'Error!',0x00
 00000014          ??S_1:
 00000014            DB          'T0 interrupt!',0x00

*** CODE SEGMENT '?PR?IRQ_Handler?A?0001':

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -