📄 main.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 + -