📄 query.lst
字号:
C51 COMPILER V6.00i QUERY 10/09/2005 20:27:38 PAGE 1
C51 COMPILER 6.00i, COMPILATION OF MODULE QUERY
OBJECT MODULE PLACED IN C:\WAVE6000\COMM1\QUERY.OBJ
COMPILER INVOKED BY: C:\C516uv1\Bin\C51.EXE C:\WAVE6000\COMM1\QUERY.C DB SB OE OT(0)
stmt level source
1 #include <reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4
5 #define INBUF_LEN 4
6
7 uchar inbuf[INBUF_LEN];
8 uchar checksum,count3;
9 bit read_flag=0;
10
11 void InitComm(void)
12 {
13 1 SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr
14 1 TMOD |= 0x20; //TMOD: timer 1, mode 2, 8-bit reload
15 1 PCON |= 0x00; //SMOD=1;
16 1 TH1 = 0xF4; //Baud:2400 fosc=11.0592MHz
17 1 TL1 = 0xF4; //Baud:2400 fosc=11.0592MHz
18 1 // IE |= 0x90; //Enable Serial Interrupt
19 1 TR1 = 1; // timer 1 run
20 1 }
21
22 void SendChar(uchar ch)
23 {
24 1 SBUF=ch;
25 1 while(TI==0);
26 1 TI=0;
27 1 }
28
29 void SendString(uchar *str,uint strlen)
30 {
31 1 unsigned int k;
32 1
33 1 checksum = 0;
34 1 for (k=0;k<strlen;k++)
35 1 {
36 2 checksum ^= *(str+k);
37 2 }
38 1 checksum |= 0x80;
39 1 SendChar(checksum);
40 1 k = 0;
41 1 do
42 1 {
43 2 SendChar(*(str + k));
44 2 k++;
45 2 } while(k < strlen);
46 1 }
47
48 void serial () interrupt 4 using 1
49 {
50 1 uchar ch;
51 1 if(RI)
52 1 {
53 2 RI = 0;
54 2 ch=SBUF;
55 2 if(ch>127)
C51 COMPILER V6.00i QUERY 10/09/2005 20:27:38 PAGE 2
56 2 {
57 3 count3=0;
58 3 checksum= ch&0x7F;
59 3 }
60 2 else
61 2 {
62 3 inbuf[count3++]=ch;
63 3 checksum ^= ch;
64 3 if( (count3==INBUF_LEN) && ((checksum&0x7F)==0) )
65 3 {
66 4 read_flag=1; //如果串口接收的数据达到INBUF_LEN个,且校验没错,
67 4 //就置位取数标志
68 4 }
69 3 if(count3>=INBUF_LEN) count3 = 0;
70 3 }
71 2 }
72 1 }
73
74 uint BIN2BCD(int bin)
75 {
76 1 uint a, v;
77 1 a = bin%10;
78 1 v = a;
79 1 bin /= 10;
80 1 a = bin%10;
81 1 v |= a<<4;
82 1 bin /= 10;
83 1 a = bin%10;
84 1 v |= a<<8;
85 1 bin /= 10;
86 1 a = bin%10;
87 1 v |= a<<12;
88 1 return(v);
89 1 }
90
91 sbit SRC = P1^0;
92 sbit SRC1 = P1^1;
93 sbit SRC2 = P1^2;
94 sbit SRC3 = P1^3;
95 sbit QUE = P1^7;
96
97 int kbhit()
98 {
99 1 unsigned char i;
100 1 SRC = 0;
101 1 SRC1 = 0;
102 1 SRC2 = 0;
103 1 SRC3 = 0;
104 1 i =QUE;
105 1 if(i==0)
106 1 {
107 2 return(1);
108 2 }
109 1 return(0);
110 1 }
111
112 void Unpack(uint spd,uchar *buf)
113 {
114 1 buf[0] = ((spd&0xF000)>>12) | 0x30;
115 1 buf[1] = ((spd&0x0F00)>>8) | 0x30;
116 1 buf[2] = ((spd&0x00F0)>>4) | 0x30;
117 1 buf[3] = (spd&0x000F) | 0x30;
C51 COMPILER V6.00i QUERY 10/09/2005 20:27:38 PAGE 3
118 1 }
119
120 uint Speed = 1000;
121
122 void Delay(int t)
123 {
124 1 int i,j;
125 1 for(i=0;i<t;i++)
126 1 { for(j=0;j<2;j++); }
127 1 }
128
129 void main()
130 {
131 1 unsigned int spd; uchar ch;
132 1
133 1 InitComm();
134 1 inbuf[0] = '8';
135 1 inbuf[1] = '7';
136 1 inbuf[2] = '6';
137 1 inbuf[3] = '5';
138 1 ch = 0x8C;
139 1 SendString(inbuf,INBUF_LEN);
140 1 /* SendChar(ch);
141 1 SendChar(inbuf[0]);
142 1 SendChar(inbuf[1]);
143 1 SendChar(inbuf[2]);
144 1 SendChar(inbuf[3]);*/
145 1 // while(RI==0) ;
146 1 // RI = 0;
147 1 // spd = SBUF;
148 1 while(1);
149 1 // while(1)
150 1 // {
151 1 Delay(30000);
152 1 // if(kbhit())
153 1 // {
154 1 Speed++;
155 1 spd = BIN2BCD(Speed);
156 1 Unpack(spd, inbuf);
157 1 SendString(inbuf,INBUF_LEN);
158 1 // }
159 1 // }
160 1 while(1);
161 1 }
162
C51 COMPILER V6.00i QUERY 10/09/2005 20:27:38 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
serial . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ch . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
kbhit. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
inbuf. . . . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0000H 4
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
SRC1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
SRC2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
read_flag. . . . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
SRC3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 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
InitComm . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
spd. . . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
ch . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
_BIN2BCD . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
bin. . . . . . . . . . . . . . . . . AUTO DATA INT 0000H 2
a. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
v. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0004H 2
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
_Unpack. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
spd. . . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
buf. . . . . . . . . . . . . . . . . AUTO DATA PTR 0002H 3
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
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
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
_Delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
t. . . . . . . . . . . . . . . . . . AUTO DATA INT 0000H 2
i. . . . . . . . . . . . . . . . . . AUTO DATA INT 0002H 2
C51 COMPILER V6.00i QUERY 10/09/2005 20:27:38 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
j. . . . . . . . . . . . . . . . . . AUTO DATA INT 0004H 2
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
TL1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008BH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 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
checksum . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0004H 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
count3 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0005H 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
_SendString. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
str. . . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
strlen . . . . . . . . . . . . . . . AUTO DATA U_INT 0003H 2
k. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0005H 2
SRC. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
QUE. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
_SendChar. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ch . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
Speed. . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0006H 2
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 710 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 38 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -