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

📄 main.lst

📁 家电考试系统下位机程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.23a  MAIN                                                                  05/11/2007 22:24:43 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil623\C51\BIN\C51.EXE MAIN.C OPTIMIZE(11,SPEED) REGFILE(.\intsio2.ORC) BROWSE DEFINE(XTAL=1105
                    -9200) OBJECTADVANCED DEBUG CODE SYMBOLS PREPRINT

stmt level    source

   1          
   2          
   3          #include <reg52.h>
   4          #include <stdio.h>
   5          #include <intrins.h>
   6          #include "sio.h"
   7          #define MasterCall P34  //P34 == 0,主机呼叫
   8          
   9          sbit P00    = 0x80;
  10          sbit P01    = 0x81;
  11          sbit P02    = 0x82;
  12          sbit P03    = 0x83;
  13          sbit P04    = 0x84;
  14          sbit P05    = 0x85;
  15          sbit P06     = 0x86;
  16          sbit P07     = 0x87;
  17          
  18          sbit P34     = 0xB4;
  19          sbit P30     = 0xB0;
  20          
  21          char _getkey (void)
  22          {
  23   1      int k;
  24   1      
  25   1      do
  26   1        {
  27   2        k = com_getchar ();
  28   2        }
  29   1      while (k == -1);
  30   1      
  31   1      return ((unsigned char) k);
  32   1      }
  33          
  34          /*------------------------------------------------------------------------------
  35          ------------------------------------------------------------------------------*/
  36          char putchar (char c)
  37          {
  38   1      volatile unsigned int i;
  39   1      
  40   1      while (com_putchar (c) != 0)
  41   1        {
  42   2        for (i=0; i<1000; i++)
  43   2          {
  44   3          /*** DO NOTHING ***/
  45   3          }
  46   2        }
  47   1      
  48   1      return (c);
  49   1      }
  50          
  51          
  52          void main (void)
  53          {       //unsigned int i;
  54   1              //unsigned char j;
C51 COMPILER V6.23a  MAIN                                                                  05/11/2007 22:24:43 PAGE 2   

  55   1              unsigned char k;
  56   1              com_initialize ();              /* initialize interrupt driven serial I/O */
  57   1              com_baudrate (9600);            
  58   1              P1 = 0xAA ;
  59   1              P2 = 0x55 ;
  60   1              P3 = 0xff ;
  61   1              MasterCall  = 1 ;            //ready to wait for master call
  62   1              EA = 1;                      /* Enable Interrupts */
  63   1              while (1)
  64   1                    { P30 = 1;            //进入串行接收状态
  65   2                      P0 = _getkey ()  ;
  66   2                      P1 = _getkey ()  ;
  67   2                      P2 = _getkey ()  ;
  68   2                      k = _getkey () | 0x11  ;   //p30,p34为1不变
  69   2                      P3 = k ;
  70   2                      P30 = 0;            //回应主机接收到
  71   2                      _nop_();
  72   2                      _nop_();
  73   2                      _nop_();
  74   2                      _nop_();
  75   2               }  //end of while(1)
  76   1      }  //end of main
  77          
  78          
  79          
  80          
C51 COMPILER V6.23a  MAIN                                                                  05/11/2007 22:24:43 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _getkey (BEGIN)
                                           ; SOURCE LINE # 21
                                           ; SOURCE LINE # 22
             ?C0003:
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 27
                 E     CALL    com_getchar
;---- Variable 'k' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 28
                                           ; SOURCE LINE # 29
                       MOV     A,R7
                       CPL     A
                 R     JNZ     ?C0014
                       MOV     A,R6
                       CPL     A
             ?C0014:
                 R     xJZ     ?C0003
                                           ; SOURCE LINE # 31
                                           ; SOURCE LINE # 32
             ?C0004:
                       RET     
             ; FUNCTION _getkey (END)

             ; FUNCTION _putchar (BEGIN)
                                           ; SOURCE LINE # 36
                 R     MOV     c,R7
                                           ; SOURCE LINE # 37
             ?C0005:
                                           ; SOURCE LINE # 40
                 R     MOV     R7,c
                 E     CALL    _com_putchar
                       MOV     A,R7
                 R     xJZ     ?C0006
                                           ; SOURCE LINE # 41
                                           ; SOURCE LINE # 42
                       CLR     A
                 R     MOV     i,A
                 R     MOV     i+01H,A
             ?C0007:
                       CLR     C
                 R     MOV     A,i+01H
                       SUBB    A,#0E8H
                 R     MOV     A,i
                       SUBB    A,#03H
                 R     xJGE    ?C0005
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 45
                 R     INC     i+01H
                 R     MOV     A,i+01H
                 R     JNZ     ?C0015
                 R     INC     i
             ?C0015:
                 R     xJMP    ?C0007
                                           ; SOURCE LINE # 46
             ?C0006:
                                           ; SOURCE LINE # 48
                 R     MOV     R7,c
                                           ; SOURCE LINE # 49
             ?C0010:
C51 COMPILER V6.23a  MAIN                                                                  05/11/2007 22:24:43 PAGE 4   

                       RET     
             ; FUNCTION _putchar (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53

⌨️ 快捷键说明

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