📄 top1838.lst
字号:
C51 COMPILER V7.06 TOP1838 04/12/2009 15:30:57 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TOP1838
OBJECT MODULE PLACED IN TOP1838.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TOP1838.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2 #include<intrins.h>
3 #define uint unsigned int
4 #define uchar unsigned char
5 sbit wei=P2^7;
6 sbit input=P3^2;
7 uchar n=0,n0=0;
8 uint sum=0,get=0,get1=0,get0=0;shu=0x0001;
9 uchar code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf};
10 uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
11 uint checkdata();
12 void systeminitial()
13 {
14 1 TMOD=0x21;
15 1 TH1=0xfd;//初值
16 1 TL1=0xfd;
17 1 TR1=1;//开启T1
18 1 PCON=0x80;
19 1 SM0=0;//波特率的方式
20 1 SM1=1;
21 1 IT0=1;
22 1 EX0=1;
23 1 EA=1;
24 1 ET0=1;
25 1 TH0=0x00;
26 1 TL0=0x00;
27 1 }
28 void main()
29 {
30 1 systeminitial();
31 1 while(1);
32 1 }
33 void in()interrupt 0
34 {
35 1 EX0=0;
36 1 TR0=1;
37 1 while(input==0);
38 1 TR0=0;
39 1 sum=TH0*256+TL0;
40 1 TH0=0x00;
41 1 TL0=0x00;
42 1
43 1 if(sum>8000)
44 1 {
45 2 TR0=1;
46 2 while(input==1);
47 2 TR0=0;
48 2 sum=TH0*256+TL0;
49 2 TH0=0x00;
50 2 TL0=0x00;
51 2
52 2 if(sum>3500)
53 2 {
54 3 for(n=0;n<16;n++) get0=checkdata();
55 3 shu=0x0001;
C51 COMPILER V7.06 TOP1838 04/12/2009 15:30:57 PAGE 2
56 3 for(n=0;n<16;n++) get1=checkdata();
57 3 shu=0x0001;
58 3 while(input==0);
59 3 get1=get1%256;
60 3 wei=0;
61 3 if(get1==0x56)
62 3 {
63 4 P0=table1[n0];
64 4 n0++;
65 4 if(n0==6) n0=0;
66 4
67 4 SBUF=0x75;
68 4 while(!TI);
69 4 TI=0;
70 4 SBUF=0x70;
71 4 while(!TI);
72 4 TI=0;
73 4 SBUF=0x20;
74 4 while(!TI);
75 4 TI=0;
76 4 }
77 3 else if(get1==0x57)
78 3 {
79 4 if(n0>0) n0--;
80 4 P0=table1[n0];
81 4 if(n0==0) n0=6;
82 4
83 4 SBUF=0x64;
84 4 while(!TI);
85 4 TI=0;
86 4 SBUF=0x6f;
87 4 while(!TI);
88 4 TI=0;
89 4 SBUF=0x77;
90 4 while(!TI);
91 4 TI=0;
92 4 SBUF=0x6e;
93 4 while(!TI);
94 4 TI=0;
95 4 SBUF=0x20;
96 4 while(!TI);
97 4 TI=0;
98 4
99 4 }
100 3 else
101 3 {
102 4 get1=get1%16;
103 4 P0=table[get1];
104 4
105 4 SBUF=get1+0x30;
106 4 while(!TI);
107 4 TI=0;
108 4 SBUF=0x20;
109 4 while(!TI);
110 4 TI=0;
111 4 n0=0;
112 4 }
113 3 get=0;
114 3 get0=0;
115 3 get1=0;
116 3 }
117 2 }
C51 COMPILER V7.06 TOP1838 04/12/2009 15:30:57 PAGE 3
118 1 IE0=0;
119 1 EX0=1;
120 1 }
121 uint checkdata()
122 {
123 1 while(input==0);
124 1 TR0=1;
125 1 while(input==1);
126 1 TR0=0;
127 1 sum=TH0*256+TL0;
128 1 TH0=0x00;
129 1 TL0=0x00;
130 1 if(sum>1000)
131 1 {
132 2 get=get|shu;
133 2 shu=_irol_(shu,1);
134 2 }
135 1 else shu=_irol_(shu,1);
136 1 return get;
137 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 518 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 ----
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 + -