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

📄 main.lst

📁 KEIL环境下编译的ADUC7026的DAC实验源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
ARM COMPILER V2.53,  main                                                                  19/11/06  17:17:27  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\ARM\BIN\CA.exe main.c THUMB DEFINE(ADUC7026) DEBUG TABS(4) 

stmt  level    source

    1          #ifdef ADUC7020
               #include <ADUC7020.H>
               #endif
    4          #ifdef ADUC7021
               #include <ADUC7021.H>
               #endif
    7          #ifdef ADUC7024
               #include <ADUC7024.H>
               #endif
   10          #ifdef ADUC7026
   11          #include <ADUC7026.H>
   12          #endif
   13          
   14          #define CLOCK  22544384   // CPU configured for 22.544384 MHz clock
   15          #define T0_Freq  200       // Timer 0 Reload Frequency
   16          #define T0_LD ((unsigned short )(CLOCK / 16 / T0_Freq))
   17          
   18          /*-----------------------------------------------
   19           Sine Wave Table 
   20          -----------------------------------------------*/
   21          unsigned char sintab [] = {
   22          0x00, 0x01, 0x03, 0x04, 0x06, 0x07, 0x09, 0x0A, 
   23          0x0C, 0x0E, 0x0F, 0x11, 0x12, 0x14, 0x15, 0x17, 
   24          0x18, 0x1A, 0x1C, 0x1D, 0x1F, 0x20, 0x22, 0x23, 
   25          0x25, 0x26, 0x28, 0x29, 0x2B, 0x2C, 0x2E, 0x2F, 
   26          0x30, 0x32, 0x33, 0x35, 0x36, 0x38, 0x39, 0x3A, 
   27          0x3C, 0x3D, 0x3F, 0x40, 0x41, 0x43, 0x44, 0x45, 
   28          0x47, 0x48, 0x49, 0x4A, 0x4C, 0x4D, 0x4E, 0x4F, 
   29          0x51, 0x52, 0x53, 0x54, 0x55, 0x57, 0x58, 0x59, 
   30          0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 
   31          0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 
   32          0x6A, 0x6B, 0x6C, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 
   33          0x70, 0x71, 0x72, 0x73, 0x73, 0x74, 0x75, 0x75, 
   34          0x76, 0x76, 0x77, 0x77, 0x78, 0x79, 0x79, 0x7A, 
   35          0x7A, 0x7A, 0x7B, 0x7B, 0x7C, 0x7C, 0x7C, 0x7D, 
   36          0x7D, 0x7D, 0x7E, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 
   37          0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F };
   38          
   39          
   40          static unsigned char DAC0_next_out;
   41          static unsigned char DAC1_next_out;
   42          static unsigned char DAC2_next_out;
   43          static unsigned char DAC3_next_out;
   44          static unsigned int i = 0x00;
   45          
   46          void IRQ_Handler (void) __irq {
   47   1        if (IRQSIG & 0x00000004)  {                     /* Timer0 Interrupt          */
   48   2        /*-----------------------------------------------
   49   2        Output D/A Value 
   50   2        -----------------------------------------------*/
   51   2        DAC0DAT = DAC0_next_out << 20;                    /* Convert last D/A value    */
   52   2        DAC1DAT = DAC1_next_out << 20;
   53   2        DAC2DAT = DAC2_next_out << 20;
   54   2        DAC3DAT = DAC3_next_out << 20;
   55   2        
   56   2        /*-----------------------------------------------
   57   2        Calculate next D/A Value
   58   2        -----------------------------------------------*/
   59   2        if (i++ >= 511) i = 0;
ARM COMPILER V2.53,  main                                                                  19/11/06  17:17:27  PAGE 2   

   60   2       
   61   2        if (i >= 384){
   62   3      
   63   3         DAC0_next_out = 127 - sintab[127 - (i % 128)];   /* 180 - 270 quadrant        */
   64   3         DAC1_next_out = 1023 - 2*i;
   65   3         DAC2_next_out = 0;
   66   3         DAC3_next_out = i - 255;
   67   3         }
   68   2        else if (i >= 256){
   69   3      
   70   3          DAC0_next_out = 127 - sintab[i % 128];          /* 90 - 180 quadrant         */
   71   3          DAC1_next_out = (i - 256) * 2;
   72   3          DAC2_next_out = 255;
   73   3          DAC3_next_out = i - 255;
   74   3          }
   75   2        else if (i >= 128) {
   76   3          DAC0_next_out = 128 + sintab[127 - (i % 128)];  /* 0 - 90 quadrant           */
   77   3          DAC1_next_out = 511 - i * 2;
   78   3          DAC2_next_out = 255;
   79   3          DAC3_next_out = i;
   80   3          }
   81   2        else{
   82   3          DAC0_next_out = 128 + sintab[i];                /* 270 - 0 quadrant          */
   83   3          DAC1_next_out = i * 2;
   84   3          DAC2_next_out = 0;
   85   3          DAC3_next_out = i;
   86   3          }
   87   2        T0CLRI = 1;                                     /* Clear Timer 0 interrupt   */
   88   2       }
   89   1      }
   90          
   91          void main (void)
   92          {
   93   1      /*-------------------------------------
   94   1      Configure the D/A converter:
   95   1        normal mode, 0-VDD range,
   96   1      -------------------------------------*/
   97   1      DAC0CON = 0x13;
   98   1      DAC1CON = 0x13;
   99   1      DAC2CON = 0x13;
  100   1      DAC3CON = 0x13;
  101   1      
  102   1      
  103   1      /*-------------------------------------
  104   1      Initialize Timer 0 Interrupt 
  105   1      -------------------------------------*/
  106   1        IRQEN = 0x00000004;         /* Configure Timer 0                               */
  107   1        T0LD  = T0_LD;              /* Timer reload value                              */
  108   1        T0CON = 0xC0;               /* Enable Timer 0, Mode: periodic, prescaler = 1   */
  109   1      
  110   1      while (1){
  111   2        }
  112   1      }
  113          
ARM COMPILER V2.53,  main                                                                  19/11/06  17:17:27  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         IRQ_Handler?A
 PUBLIC         main
 PUBLIC         sintab



*** DATA SEGMENT '?DT0?main':
 00000000          i:
 00000000           BEGIN_INIT
 00000000  00000000  DD          0x0
 00000004           END_INIT
 00000004          sintab:
 00000004           BEGIN_INIT
 00000004  00        DB          0x0
 00000005  01        DB          0x1
 00000006  03        DB          0x3
 00000007  04        DB          0x4
 00000008  06        DB          0x6
 00000009  07        DB          0x7
 0000000A  09        DB          0x9
 0000000B  0A        DB          0xA
 0000000C  0C        DB          0xC
 0000000D  0E        DB          0xE
 0000000E  0F        DB          0xF
 0000000F  11        DB          0x11
 00000010  12        DB          0x12
 00000011  14        DB          0x14
 00000012  15        DB          0x15
 00000013  17        DB          0x17
 00000014  18        DB          0x18
 00000015  1A        DB          0x1A
 00000016  1C        DB          0x1C
 00000017  1D        DB          0x1D
 00000018  1F        DB          0x1F
 00000019  20        DB          0x20
 0000001A  22        DB          0x22
 0000001B  23        DB          0x23
 0000001C  25        DB          0x25
 0000001D  26        DB          0x26
 0000001E  28        DB          0x28
 0000001F  29        DB          0x29
 00000020  2B        DB          0x2B
 00000021  2C        DB          0x2C
 00000022  2E        DB          0x2E
 00000023  2F        DB          0x2F
 00000024  30        DB          0x30
 00000025  32        DB          0x32
 00000026  33        DB          0x33
 00000027  35        DB          0x35
 00000028  36        DB          0x36
 00000029  38        DB          0x38
 0000002A  39        DB          0x39
 0000002B  3A        DB          0x3A
 0000002C  3C        DB          0x3C
 0000002D  3D        DB          0x3D
 0000002E  3F        DB          0x3F
 0000002F  40        DB          0x40
 00000030  41        DB          0x41
 00000031  43        DB          0x43
 00000032  44        DB          0x44
 00000033  45        DB          0x45
ARM COMPILER V2.53,  main                                                                  19/11/06  17:17:27  PAGE 4   

 00000034  47        DB          0x47
 00000035  48        DB          0x48
 00000036  49        DB          0x49
 00000037  4A        DB          0x4A
 00000038  4C        DB          0x4C
 00000039  4D        DB          0x4D
 0000003A  4E        DB          0x4E
 0000003B  4F        DB          0x4F
 0000003C  51        DB          0x51
 0000003D  52        DB          0x52
 0000003E  53        DB          0x53
 0000003F  54        DB          0x54
 00000040  55        DB          0x55
 00000041  57        DB          0x57
 00000042  58        DB          0x58
 00000043  59        DB          0x59
 00000044  5A        DB          0x5A
 00000045  5B        DB          0x5B
 00000046  5C        DB          0x5C
 00000047  5D        DB          0x5D
 00000048  5E        DB          0x5E
 00000049  5F        DB          0x5F
 0000004A  60        DB          0x60
 0000004B  61        DB          0x61
 0000004C  62        DB          0x62
 0000004D  63        DB          0x63
 0000004E  64        DB          0x64
 0000004F  65        DB          0x65
 00000050  66        DB          0x66
 00000051  67        DB          0x67
 00000052  68        DB          0x68
 00000053  69        DB          0x69
 00000054  6A        DB          0x6A
 00000055  6B        DB          0x6B
 00000056  6C        DB          0x6C
 00000057  6C        DB          0x6C
 00000058  6D        DB          0x6D
 00000059  6E        DB          0x6E
 0000005A  6F        DB          0x6F
 0000005B  70        DB          0x70
 0000005C  70        DB          0x70
 0000005D  71        DB          0x71
 0000005E  72        DB          0x72
 0000005F  73        DB          0x73
 00000060  73        DB          0x73
 00000061  74        DB          0x74
 00000062  75        DB          0x75
 00000063  75        DB          0x75
 00000064  76        DB          0x76
 00000065  76        DB          0x76
 00000066  77        DB          0x77
 00000067  77        DB          0x77
 00000068  78        DB          0x78
 00000069  79        DB          0x79
 0000006A  79        DB          0x79
 0000006B  7A        DB          0x7A
 0000006C  7A        DB          0x7A
 0000006D  7A        DB          0x7A
 0000006E  7B        DB          0x7B
 0000006F  7B        DB          0x7B
 00000070  7C        DB          0x7C
 00000071  7C        DB          0x7C
 00000072  7C        DB          0x7C
 00000073  7D        DB          0x7D
 00000074  7D        DB          0x7D
 00000075  7D        DB          0x7D
ARM COMPILER V2.53,  main                                                                  19/11/06  17:17:27  PAGE 5   

 00000076  7E        DB          0x7E
 00000077  7E        DB          0x7E

⌨️ 快捷键说明

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