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

📄 main.lst

📁 TI的单片机ADUC812的AD例程
💻 LST
字号:
C51 COMPILER V7.00  MAIN                                                                   06/28/2002 14:45:12 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE main.c DEBUG OBJECTEXTEND CODE

stmt level    source

   1          #include <ADUC812.H>
   2          #include <stdio.h>
   3          
   4          void main (void)
   5          {
   6   1      unsigned char chan_2_convert;
   7   1      
   8   1      /*-----------------------------------------------
   9   1      Configure the serial port to run at 300 Baud.
  10   1      Yeah, this is really slow!
  11   1      -----------------------------------------------*/
  12   1      SCON  = 0x50;
  13   1      TMOD |= 0x20;
  14   1      TH1   = 0xA0;
  15   1      TR1   = 1;
  16   1      TI    = 1;
  17   1      
  18   1      /*-----------------------------------------------
  19   1      Configure the A/D to sequentially convert each
  20   1      input channel.
  21   1      -----------------------------------------------*/
  22   1      ADCCON1 = 0x7C;     // 0111 1100
  23   1      
  24   1      while (1)
  25   1        {
  26   2        unsigned int conv_val;
  27   2        unsigned char channel;
  28   2      
  29   2      /*-----------------------------------------------
  30   2      Start a conversion and wait for it to complete.
  31   2      -----------------------------------------------*/
  32   2        chan_2_convert = (chan_2_convert + 1) % 8;
  33   2        ADCCON2 = (ADCCON2 & 0xF0) | chan_2_convert;
  34   2        SCONV = 1;
  35   2        while (ADCCON3 & 0x80);
  36   2      
  37   2      /*-----------------------------------------------
  38   2      Read A/D data and print it out.
  39   2      -----------------------------------------------*/
  40   2        channel  = ADCDATAH >> 4;
  41   2        conv_val = ADCDATAL | ((ADCDATAH & 0x0F) << 8);
  42   2      
  43   2        printf ("ADC Channel %bu = 0x%4.4X\r\n", channel, conv_val);
  44   2        }
  45   1      
  46   1      }
  47          
C51 COMPILER V7.00  MAIN                                                                   06/28/2002 14:45:12 PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 4
                                           ; SOURCE LINE # 5
                                           ; SOURCE LINE # 12
0000 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 13
0003 438920            ORL     TMOD,#020H
                                           ; SOURCE LINE # 14
0006 758DA0            MOV     TH1,#0A0H
                                           ; SOURCE LINE # 15
0009 D28E              SETB    TR1
                                           ; SOURCE LINE # 16
000B D299              SETB    TI
                                           ; SOURCE LINE # 22
000D 75EF7C            MOV     ADCCON1,#07CH
0010         ?C0001:
                                           ; SOURCE LINE # 24
                                           ; SOURCE LINE # 25
                                           ; SOURCE LINE # 32
0010 E500        R     MOV     A,chan_2_convert
0012 04                INC     A
0013 5407              ANL     A,#07H
0015 F500        R     MOV     chan_2_convert,A
                                           ; SOURCE LINE # 33
0017 E5D8              MOV     A,ADCCON2
0019 54F0              ANL     A,#0F0H
001B 4500        R     ORL     A,chan_2_convert
001D F5D8              MOV     ADCCON2,A
                                           ; SOURCE LINE # 34
001F D2DC              SETB    SCONV
0021         ?C0003:
                                           ; SOURCE LINE # 35
0021 E5F5              MOV     A,ADCCON3
0023 20E7FB            JB      ACC.7,?C0003
0026         ?C0004:
                                           ; SOURCE LINE # 40
0026 E5DA              MOV     A,ADCDATAH
0028 C4                SWAP    A
0029 540F              ANL     A,#0FH
002B F500        R     MOV     channel,A
                                           ; SOURCE LINE # 41
002D E5DA              MOV     A,ADCDATAH
002F 540F              ANL     A,#0FH
0031 ADD9              MOV     R5,ADCDATAL
0033 F500        R     MOV     conv_val,A
0035 ED                MOV     A,R5
0036 F500        R     MOV     conv_val+01H,A
                                           ; SOURCE LINE # 43
0038 7BFF              MOV     R3,#0FFH
003A 7A00        R     MOV     R2,#HIGH ?SC_0
003C 7900        R     MOV     R1,#LOW ?SC_0
003E 850000      E     MOV     ?_printf?BYTE+03H,channel
0041 850000      E     MOV     ?_printf?BYTE+04H,conv_val
0044 F500        E     MOV     ?_printf?BYTE+05H,A
0046 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 44
0049 80C5              SJMP    ?C0001
             ; FUNCTION main (END)

C51 COMPILER V7.00  MAIN                                                                   06/28/2002 14:45:12 PAGE 3   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     75    ----
   CONSTANT SIZE    =     28    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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