📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 05/20/2007 11:21:12 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil 8.08\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2
3 typedef unsigned char BYTE;
4 typedef unsigned short WORD;
5
6 BYTE LINE;
7 BYTE ROW ;
8 BYTE VAL ;
9
10 sbit P10=P1^0;
11 sbit P30=P3^0;
12 sbit P31=P3^1;
13 sbit P32=P3^2;
14 sbit P33=P3^3;
15 sbit P34=P3^4;
16 sbit P35=P3^5;
17 sbit P36=P3^6;
18 sbit P37=P3^7;
19
20 BYTE code TABLE1[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
21 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
22
23 WORD code TABLE2[]={64021,64103,64260,64400,
24 4524, 64580,64684,64777,
25 64820,64898,64968,65030,
26 65058,65110,65157,65178};
27
28 void INT_T0() interrupt 1
29 {
30 1 TH0=TABLE2[VAL]/0x100;
31 1 TL0=TABLE2[VAL]%0x100;
32 1 P10=~P10;
33 1 }
34
35
36 void DELAY()
37 {
38 1 BYTE i=10;
39 1 do
40 1 {
41 2 BYTE j=250;
42 2 do
43 2 {}while(--j);
44 2 }while(--i);
45 1 }
46
47
48
49 main()
50 {
51 1 P0 =0x00;
52 1 TMOD=0x01;
53 1
54 1 while(1)
55 1 {
C51 COMPILER V8.08 MAIN 05/20/2007 11:21:12 PAGE 2
56 2 P3=0xF0;
57 2
58 2 while(1)
59 2 {
60 3 if(P30)
61 3 {
62 4 DELAY();
63 4
64 4 if(P30)
65 4 {
66 5 LINE=0x00; break;
67 5 }
68 4 }
69 3 else if(P31)
70 3 {
71 4 DELAY();
72 4
73 4 if(P31)
74 4 {
75 5 LINE=0x01; break;
76 5 }
77 4 }
78 3 else if(P32)
79 3 {
80 4 DELAY();
81 4
82 4 if(P32)
83 4 {
84 5 LINE=0x02; break;
85 5 }
86 4 }
87 3 else if(P33)
88 3 {
89 4 DELAY();
90 4
91 4 if(P33)
92 4 {
93 5 LINE=0x03; break;
94 5 }
95 4 }
96 3 }
97 2
98 2 P3=0x0F;
99 2
100 2 while(1)
101 2 {
102 3 if(P34)
103 3 {
104 4 ROW=0x00; break;
105 4 }
106 3 else if(P35)
107 3 {
108 4 ROW=0x01; break;
109 4 }
110 3 else if(P36)
111 3 {
112 4 ROW=0x02; break;
113 4 }
114 3 else if(P37)
115 3 {
116 4 ROW=0x03; break;
117 4 }
C51 COMPILER V8.08 MAIN 05/20/2007 11:21:12 PAGE 3
118 3 }
119 2 /*CALCU*/
120 2 VAL=ROW+LINE*0x04;
121 2
122 2 TH0=TABLE2[VAL]/0x100;
123 2 TL0=TABLE2[VAL]%0x100;
124 2 IE=0x82;
125 2 TR0=1;
126 2 P0=TABLE1[VAL];
127 2
128 2 while(1)
129 2 {
130 3 if(P3==0x0F||P3==0xF0)
131 3 break;
132 3 }
133 2
134 2 P0=0x00;
135 2 TR0=0;
136 2 }
137 1
138 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 235 ----
CONSTANT SIZE = 48 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 1
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 + -