📄 serint.lst
字号:
C51 COMPILER V7.50 SERINT 06/02/2008 15:32:14 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SERINT
OBJECT MODULE PLACED IN serint.OBJ
COMPILER INVOKED BY: D:\Program Files\KEIL\C51\BIN\C51.EXE serint.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <STC516.H>
2 #include <serint.h>
3
4 void SerInitialize()
5 {
6 1 SerFlags=0;
7 1 FlagTransIdle=1;
8 1 FlagCvtInCR=1;
9 1 RR_iHead=RR_iTail=RR_cLev=RR_cMax=0;
10 1 TR_iHead=TR_iTail=TR_cLev=TR_cMax=0;
11 1 UnGotCh=-1;
12 1
13 1 TCON&=0x3F;
14 1 TMOD&=0x0F;
15 1 TMOD|=0x20;
16 1 SCON=0x50;
17 1 PCON|=0x00;
18 1 TH1=TL1=T1RELOAD&0x00FF;
19 1 TR1=1;
20 1 ES=1;
21 1 }
22
23 void SerInt() interrupt 4
24 {
25 1 if(RI)
26 1 {
27 2 if(RR_cLev<INRINGSIZE)
28 2 {
29 3 RRing[RR_iHead]=SBUF;
30 3 RR_iHead++;
31 3 RR_cLev++;
32 3 if(RR_iHead==INRINGSIZE)
33 3 RR_iHead=0;
34 3 }
35 2 RI=0;
36 2 }
37 1 if(TI)
38 1 {
39 2 if(TR_cLev)
40 2 {
41 3 SBUF=TRing[TR_iTail];
42 3 TR_cLev--;
43 3 TR_iTail++;
44 3 if(TR_iTail==OUTRINGSIZE)
45 3 TR_iTail=0;
46 3 }
47 2 else FlagTransIdle=1;
48 2 TI=0;
49 2 }
50 1 }
51
52 void putch(int TransChar)
53 {
54 1 putc(TransChar);
55 1 if(TransChar=='\n')
C51 COMPILER V7.50 SERINT 06/02/2008 15:32:14 PAGE 2
56 1 putc('\r');
57 1 }
58
59 void putc(int TransChar)
60 {
61 1 while(TR_cLev>=OUTRINGSIZE);
62 1 ES=0;
63 1 TRing[TR_iHead]=TransChar;
64 1 TR_iHead++;
65 1 TR_cLev++;
66 1 if(TR_iHead==OUTRINGSIZE)
67 1 TR_iHead=0;
68 1 if(FlagTransIdle)
69 1 {
70 2 FlagTransIdle=0;
71 2 TI=1;
72 2 }
73 1 ES=1;
74 1 }
75
76 int chkch()
77 {
78 1 return(RR_cLev);
79 1 }
80
81 void SerWaitOutDone()
82 {
83 1 while(TR_cLev);
84 1 while(!FlagTransIdle);
85 1 }
86
87 void SerFlushIn()
88 {
89 1 ES=0;
90 1 RR_iTail=0;
91 1 RR_iHead=0;
92 1 RR_cLev=0;
93 1 ES=1;
94 1 }
95
96 int getch()
97 {
98 1 int RetVal;
99 1 ES=0;
100 1 if(RR_cLev)
101 1 {
102 2 RetVal=RRing[RR_iTail];
103 2 if(RetVal=='\r')
104 2 RetVal='\n';
105 2 RR_iTail++;
106 2 RR_cLev--;
107 2 if(RR_iTail==INRINGSIZE)
108 2 RR_iTail=0;
109 2 }
110 1 else RetVal=-1;
111 1 ES=1;
112 1 return(RetVal);
113 1 }
114
115 void putstr(char *pstring)
116 {
117 1 while(*pstring)
C51 COMPILER V7.50 SERINT 06/02/2008 15:32:14 PAGE 3
118 1 {
119 2 putch(*pstring);
120 2 pstring++;
121 2 }
122 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 321 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 378 ----
PDATA SIZE = ---- ----
DATA SIZE = 11 5
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -