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

📄 main.lst

📁 ADuC812的AD转换程序
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  01/05/2008 15:57:36 PAGE 1   


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

line level    source

   1          #include <ADUC841.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 9600 Baud.
  10   1      -----------------------------------------------*/
  11   1      SCON  = 0x50;
  12   1      TMOD |= 0x20;
  13   1      TH1   = 0xFA;        /* 9600 baud  */
  14   1      TR1   = 1;
  15   1      TI    = 1;
  16   1      
  17   1      /*-----------------------------------------------
  18   1      Configure the A/D to sequentially convert each
  19   1      input channel.
  20   1      -----------------------------------------------*/
  21   1      ADCCON1 = 0x7C;     // 0111 1100
  22   1      
  23   1      while (1)
  24   1        {
  25   2        unsigned int conv_val;
  26   2        unsigned char channel;
  27   2      
  28   2      /*-----------------------------------------------
  29   2      Start a conversion and wait for it to complete.
  30   2      -----------------------------------------------*/
  31   2        chan_2_convert = (chan_2_convert + 1) % 8;
  32   2        ADCCON2 = (ADCCON2 & 0xF0) | chan_2_convert;
  33   2        SCONV = 1;
  34   2        while (ADCCON3 & 0x80);
  35   2      
  36   2      /*-----------------------------------------------
  37   2      Read A/D data and print it out.
  38   2      -----------------------------------------------*/
  39   2        channel  = ADCDATAH >> 4;
  40   2        conv_val = ADCDATAL | ((ADCDATAH & 0x0F) << 8);
  41   2      
  42   2        printf ("ADC Channel %bu = 0x%4.4X\r\n", channel, conv_val);
  43   2        }
  44   1      
  45   1      }
  46          
C51 COMPILER V8.08   MAIN                                                                  01/05/2008 15:57:36 PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 4
                                           ; SOURCE LINE # 5
                                           ; SOURCE LINE # 11
0000 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 12
0003 438920            ORL     TMOD,#020H
                                           ; SOURCE LINE # 13
0006 758DFA            MOV     TH1,#0FAH
                                           ; SOURCE LINE # 14
0009 D28E              SETB    TR1
                                           ; SOURCE LINE # 15
000B D299              SETB    TI
                                           ; SOURCE LINE # 21
000D 75EF7C            MOV     ADCCON1,#07CH
0010         ?C0001:
                                           ; SOURCE LINE # 23
                                           ; SOURCE LINE # 24
                                           ; SOURCE LINE # 31
0010 E500        R     MOV     A,chan_2_convert
0012 2401              ADD     A,#01H
0014 FF                MOV     R7,A
0015 E4                CLR     A
0016 33                RLC     A
0017 EF                MOV     A,R7
0018 5407              ANL     A,#07H
001A F500        R     MOV     chan_2_convert,A
                                           ; SOURCE LINE # 32
001C E5D8              MOV     A,ADCCON2
001E 54F0              ANL     A,#0F0H
0020 4500        R     ORL     A,chan_2_convert
0022 F5D8              MOV     ADCCON2,A
                                           ; SOURCE LINE # 33
0024 D2DC              SETB    SCONV
0026         ?C0003:
                                           ; SOURCE LINE # 34
0026 E5F5              MOV     A,ADCCON3
0028 20E7FB            JB      ACC.7,?C0003
002B         ?C0004:
                                           ; SOURCE LINE # 39
002B E5DA              MOV     A,ADCDATAH
002D C4                SWAP    A
002E 540F              ANL     A,#0FH
0030 F500        R     MOV     channel,A
                                           ; SOURCE LINE # 40
0032 E5DA              MOV     A,ADCDATAH
0034 540F              ANL     A,#0FH
0036 ADD9              MOV     R5,ADCDATAL
0038 F500        R     MOV     conv_val,A
003A ED                MOV     A,R5
003B F500        R     MOV     conv_val+01H,A
                                           ; SOURCE LINE # 42
003D 7BFF              MOV     R3,#0FFH
003F 7A00        R     MOV     R2,#HIGH ?SC_0
0041 7900        R     MOV     R1,#LOW ?SC_0
0043 850000      E     MOV     ?_printf?BYTE+03H,channel
0046 850000      E     MOV     ?_printf?BYTE+04H,conv_val
0049 F500        E     MOV     ?_printf?BYTE+05H,A
004B 120000      E     LCALL   _printf
C51 COMPILER V8.08   MAIN                                                                  01/05/2008 15:57:36 PAGE 3   

                                           ; SOURCE LINE # 43
004E 80C0              SJMP    ?C0001
             ; FUNCTION main (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     80    ----
   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 + -