📄 text1.lst
字号:
C51 COMPILER V7.20 TEXT1 09/28/2008 07:28:59 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REG51.H>
2 #include <INTRINS.H>
3
4 sbit row = P3 ^ 4;
5 sbit col1 = P3 ^ 0;
6 sbit col2 = P3 ^ 1;
7
8 unsigned char i=0,j=0;
9 unsigned char a[8]={0,0,19,0,0,19,0,0};
10 unsigned char DISPTABLE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
-,0x8C,0xC1,0xFF,0xBF};//加了一横杠0xbf
11
12 void Delay(unsigned int count)
13 {
14 1 unsigned char i;
15 1
16 1 while(--count != 0)
17 1 for(i = 0; i < 125; i++);
18 1 }
19
20 unsigned char KeyDown(void)
21 {
22 1 row=0;
23 1 if((col1==0) || (col2==0))
24 1 {
25 2 Delay(80);
26 2 if((col1==0) || (col2==0))
27 2 return 1;
28 2 else
29 2 return 0;
30 2 }
31 1 else
32 1 return 0;
33 1 }
34
35 unsigned char KeyNum(void)
36 {
37 1
38 1 unsigned char KeyTemp;
39 1 KeyTemp=0;
40 1
41 1 if(KeyDown()==1) // 若键盘被按下
42 1 {
43 2 while(1)
44 2 {
45 3 col1=col2=1;
46 3 row=0;
47 3
48 3 if (col1==0) {KeyTemp=0; break;} // 若列线1读回状态为低,则表明按键0被按下
49 3 if (col2==0) {KeyTemp=1; break;} // 若列线2读回状态为低,则表明按键1被按下
50 3 }
51 2
52 2 return KeyTemp;
53 2 }
54 1 else
C51 COMPILER V7.20 TEXT1 09/28/2008 07:28:59 PAGE 2
55 1 return 0x55;
56 1 }
57
58 void DisPlay(unsigned char seg,unsigned char dat)
59 {
60 1 unsigned char i;
61 1
62 1 P0=DISPTABLE[dat];
63 1 switch(seg)
64 1 {
65 2 case 1: i=0x7F; break;
66 2 case 2: i=0xBF; break;
67 2 case 3: i=0xDF; break;
68 2 case 4: i=0xEF; break;
69 2 case 5: i=0xF7; break;
70 2 case 6: i=0xFB; break;
71 2 case 7: i=0xFD; break;
72 2 case 8: i=0xFE; break;
73 2 default: break;
74 2 }
75 1
76 1 P2=i;
77 1 }
78
79 void timer1( )interrupt 3 using 1
80 {
81 1 /*DisPlay(8-i,a[i]);
82 1 i++;
83 1 if(i>7)i=0;*/
84 1
85 1 /* for(i=0;i<8;i++)
86 1 {
87 1 DisPlay(8-i,a[i]);
88 1 }*/
89 1
90 1 DisPlay(8,a[0]);
91 1 DisPlay(7,a[1]);
92 1 DisPlay(6,a[2]);
93 1 DisPlay(5,a[3]);
94 1 DisPlay(4,a[4]);
95 1 DisPlay(3,a[5]);
96 1 DisPlay(2,a[6]);
97 1 DisPlay(1,a[7]);
98 1
99 1 if(j>90)
100 1 {
101 2 a[0]++;
102 2 if(a[0]>9)
103 2 {
104 3 a[0]=0;
105 3 a[1]++;
106 3 if(a[1]>5)
107 3 {
108 4 a[1]=0;
109 4 a[3]++;
110 4 if(a[3]>9)
111 4 {
112 5 a[3]=0;
113 5 a[4]++;
114 5 if(a[4]>5)
115 5 {
116 6 a[4]=0;
C51 COMPILER V7.20 TEXT1 09/28/2008 07:28:59 PAGE 3
117 6 a[6]++;
118 6 if(a[7]==1 && a[6]>9)
119 6 {
120 7 a[7]++;
121 7 }
122 6 else if(a[7]==2 && a[6]>3)
123 6 {
124 7 a[0]=a[1]=a[3]=a[4]=a[6]=a[7]=0;
125 7 }
126 6 else
127 6 {
128 7 a[7]++;
129 7 }
130 6 }
131 5 }
132 4 }
133 3 }
134 2 j=0;
135 2 }
136 1 else
137 1 {
138 2 j++;
139 2 }
140 1 }
141
142 void main(void)
143 {
144 1 unsigned char key;
145 1 TMOD = 0X20;
146 1 TH1= - 120000/256;
147 1 TL1= - 120000%256;
148 1
149 1 EA=1;
150 1 ET1=1;
151 1 TR1=1;
152 1 // a[2]=a[5]=19;
153 1 while(1)
154 1 {
155 2 /* row=col1=col2=1;
156 2 key=KeyNum();
157 2
158 2 if(key==0)
159 2 {
160 2 EA=0;
161 2 ET1=0;
162 2 TR1=0;
163 2 }
164 2 else if(key==1)
165 2 {
166 2 EA=1;
167 2 ET1=1;
168 2 TR1=1;
169 2 }*/
170 2
171 2 }
172 1 }
*** WARNING C280 IN LINE 144 OF TEXT1.C: 'key': unreferenced local variable
173
174
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.20 TEXT1 09/28/2008 07:28:59 PAGE 4
CODE SIZE = 372 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 30 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -