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

📄 main.lst

📁 应用于51芯片的很经典的串口通讯程序源代码 (采用fifo方式)
💻 LST
字号:
C51 COMPILER V6.14  MAIN                                                                   04/12/2003 22:48:24 PAGE 1   


C51 COMPILER V6.14, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN F:\当前工作夹\INTSIO2\MAIN.OBJ
COMPILER INVOKED BY: C:\kCOMP\c51\BIN\C51.EXE F:\当前工作夹\INTSIO2\MAIN.C DB SB OE

stmt level    source

   1          /*------------------------------------------------------------------------------
   2          MAIN.C:  Interrupt Driver SIO Using printf.
   3          
   4          Copyright 1995-2002 KEIL Software, Inc.
   5          ------------------------------------------------------------------------------*/
   6          
   7          #include <reg51.h>
   8          #include <stdio.h>
   9          #include "sio.h"
  10          
  11          /*------------------------------------------------------------------------------
  12          _getkey waits until a character is received from the serial port.  This may not
  13          be the exact desired operation (for example if the buffer is empty, this
  14          function hangs waiting for a character to be received).
  15          ------------------------------------------------------------------------------*/
  16          char _getkey (void)
  17          {
  18   1      int k;
  19   1      
  20   1      do
  21   1        {
  22   2        k = com_getchar ();
  23   2        }
  24   1      while (k == -1);
  25   1      
  26   1      return ((unsigned char) k);
  27   1      }
  28          
  29          /*------------------------------------------------------------------------------
  30          ------------------------------------------------------------------------------*/
  31          
  32          //char putchar (char c)
  33          //{
  34          //volatile unsigned int i;
  35          //
  36          //while (com_putchar (c) != 0)
  37          //  {
  38          //  for (i=0; i<1000; i++)
  39          //    {
  40          //    /*** DO NOTHING ***/
  41          //    }
  42          //  }
  43          //
  44          //return (c);
  45          //}
  46          unsigned char TimeOut_For_Com;
  47          
  48          unsigned char PutChar(unsigned char c)
  49          {
  50   1      	unsigned char i=3;
  51   1      	while (com_putchar(c)!=0 && (i--)>3)
  52   1      	{
  53   2      		TimeOut_For_Com=3;
  54   2      		while (TimeOut_For_Com!=0);
  55   2      	}
C51 COMPILER V6.14  MAIN                                                                   04/12/2003 22:48:24 PAGE 2   

  56   1      	if (i==0)
  57   1      		return (1);
  58   1      	return (0);
  59   1      }
  60          
  61          /*------------------------------------------------------------------------------
  62          Note that the two function above, _getkey and putchar, replace the library
  63          functions of the same name.  These functions use the interrupt-driven serial
  64          I/O routines in SIO.C.
  65          ------------------------------------------------------------------------------*/
  66          code char message [] =
  67            "This is a test to see if the interrupt driven serial I/O routines really work.";
  68          
  69          void main (void)
  70          {
  71   1      unsigned char Buf[32];
  72   1      unsigned char i=0;
  73   1      com_initialize ();              /* initialize interrupt driven serial I/O */
  74   1      com_baudrate (1200);            /* setup for 1200 baud */
  75   1      
  76   1      EA = 1;                         /* Enable Interrupts */
  77   1      
  78   1      
  79   1      printf ("Interrupt-driver Serial I/O Example\r\n\r\n");
  80   1      
  81   1      while (1)
  82   1        {
  83   2        unsigned char c;
  84   2      
  85   2        printf ("Press a key.\r\n");
  86   2        Buf[i++] = getchar ();
  87   2        printf ("\r\n");
  88   2        printf ("You pressed '%c'.\r\n\r\n", c);
  89   2        }
  90   1       
  91   1      }
  92          
  93          /*------------------------------------------------------------------------------
  94          ------------------------------------------------------------------------------*/
  95          
C51 COMPILER V6.14  MAIN                                                                   04/12/2003 22:48:24 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


com_getchar. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
_PutChar . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  c. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  c. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0021H  1
  Buf. . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0000H  32
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0020H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
_com_baudrate. . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
TimeOut_For_Com. . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
com_initialize . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
getchar. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
message. . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0050H  79
_getkey. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  k. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
C51 COMPILER V6.14  MAIN                                                                   04/12/2003 22:48:24 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
_printf. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_com_putchar . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    123    ----
   CONSTANT SIZE    =    159    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      36
   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 + -