📄 serial.lst
字号:
C51 COMPILER V7.00 SERIAL 01/23/2003 15:06:45 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN Serial.OBJ
COMPILER INVOKED BY: d:\Keil7\C51\BIN\C51.EXE Serial.c ROM(SMALL) DEBUG OBJECTEXTEND
stmt level source
1 #include "Common.h"
2
3 #define SCOMBUFNUM 20
4
5 BYTE SComReceBuf[SCOMBUFNUM];
6 BYTE SComReceHead,SComReceTail;
7
8 SComm() interrupt 4 using 3
9 {
10 1 ES = 0;
11 1 if(RI == 1)
12 1 {
13 2 RI = 0;
14 2 SComReceBuf[SComReceTail] = SBUF;
15 2 SComReceTail++;
16 2 if(SComReceTail == SCOMBUFNUM) SComReceTail = 0;
17 2 }
18 1 ES = 1;
19 1 }
20
21 void SerialInit()
22 {
23 1 TMOD &= 0x0f;
24 1 TMOD |= 0x20;
25 1
26 1 SCON = 0x50;
27 1 PCON &= 0x7f;
28 1 TH1 = 0xf3; // 1200 bps
29 1 TL1 = 0xf3;
30 1 TR1 = 1;
31 1
32 1 SComReceHead = 0;
33 1 SComReceTail = 0;
34 1 PS = 0;
35 1 ES = 1;
36 1 }
37
38 void SerialSend(BYTE SendCode)
39 {
40 1 // TB8 = 1; // for multi slaver
41 1 SBUF = SendCode;
42 1 while(TI == 0) ;
43 1 TI = 0;
44 1 }
45
46 BOOL SerialRece(BYTE *SBuf)
47 {
48 1 if(SComReceHead == SComReceTail) return FALSE;
49 1 *SBuf = SComReceBuf[SComReceHead];
50 1 SComReceHead++;
51 1 if(SComReceHead == SCOMBUFNUM) SComReceHead = 0;
52 1 return TRUE;
53 1 }
54
55
C51 COMPILER V7.00 SERIAL 01/23/2003 15:06:45 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 103 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 22 ----
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 + -