📄 text1.lst
字号:
C51 COMPILER V7.20 TEXT1 04/21/2008 00:51:51 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c ROM(SMALL) DEBUG OBJECTEXTEND
line level source
1 /*12M晶振,LED显示 0-23 显示满车*/
2 #include <reg51.h>
3 //#define RAMADDR XBYTE[0x6000]
4 //unsigned char code RAMDATA=0x99;
5 unsigned char code number[10][32]={
6 0xFF,0xFF,0xFF,0xFF,0xF8,0x0F,0xE7,0xE7,0xE7,0xF3,0xCF,0xF1,0xCF,0xF1,0x8F,0xF1
7 ,0xCF,0xF1,0xCF,0xF3,0xE7,0xF3,0xF3,0xE7,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
8
9 0xFF,0xFF,0xFF,0xFF,0xFE,0x3F,0xF0,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F
10 ,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F,0xF0,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
11
12 ,0xFF,0xFF,0xFF,0xFF,0xF4,0x0F,0xEF,0xE3,0xC7,0xE3,0xEF,0xE3,0xFF,0xE7,0xFF,0x9F
13 ,0xFF,0x7F,0xFD,0xFF,0xF7,0xFB,0xCF,0xF3,0xC0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
14
15
16 ,0xFF,0xFF,0xFF,0xFF,0xF8,0x0F,0xE7,0xE7,0xE7,0xE3,0xFF,0xE7,0xFF,0x0F,0xFF,0x8F
17 ,0xFF,0xE7,0xFF,0xF3,0xC7,0xF3,0xE7,0xE7,0xF4,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
18
19 ,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0x8F,0xFE,0x4F,0xFD,0xCF,0xF3,0xCF,0xEF,0xCF
20 ,0xDF,0xCF,0xBF,0xCF,0x00,0x0F,0xFF,0xCF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
21
22 ,0xFF,0xFF,0xFF,0xFF,0xE0,0x03,0xE7,0xFF,0xEF,0xFF,0xEF,0xFF,0xE8,0x07,0xEF,0xE3
23 ,0xFF,0xF3,0xFF,0xF3,0xC7,0xF3,0xEF,0xE7,0xF4,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
24
25 ,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xF7,0xE7,0xE7,0xFF,0xCF,0xFF,0xC8,0x07,0xC7,0xF3
26 ,0xCF,0xF1,0xCF,0xF1,0xC7,0xF3,0xE7,0xF3,0xF8,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
27
28 ,0xFF,0xFF,0xFF,0xFF,0xE0,0x03,0xCF,0xF7,0xFF,0xEF,0xFF,0xDF,0xFF,0xBF,0xFF,0x3F
29 ,0xFE,0x7F,0xFC,0x7F,0xFC,0x7F,0xFC,0x7F,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
30
31 ,0xFF,0xFF,0xFF,0xFF,0xF0,0x0F,0xEF,0xF3,0xCF,0xF3,0xE7,0xF3,0xF0,0x4F,0xF0,0x0F
32 ,0xEF,0xC7,0xCF,0xF3,0xCF,0xF1,0xCF,0xF3,0xF4,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
33
34 ,0xFF,0xFF,0xFF,0xFF,0xF0,0x0F,0xEF,0xF7,0xCF,0xF3,0x8F,0xF1,0xCF,0xF1,0xE7,0xC1
35 ,0xF0,0x33,0xFF,0xF3,0xFF,0xE7,0xE7,0xCF,0xF0,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
36
37
38 };
39 unsigned char code kong[1][32]={
40 0xFF,0xFF,0xFF,0xFF,
41 0xFF,0xFF,0xFF,0xFF,
42 0xFF,0xFF,0xFF,0xFF,
43 0xFF,0xFF,0xFF,0xFF,
44 0xFF,0xFF,0xFF,0xFF,
45 0xFF,0xFF,0xFF,0xFF,
46 0xFF,0xFF,0xFF,0xFF,
47 0xFF,0xFF,0xFF,0xFF
48 };
49 unsigned char code word[2][32]={
50 0xFF,0xF7,0x01,0xF7,//zuo bian
51 0x7D,0xF7,0x7D,0xF7,
52 0x7D,0xF7,0x7D,0xF0,
53 0x7D,0xF7,0x7D,0xF7,
54 0x01,0xF7,0xFF,0xF7,
55 0xDF,0xF7,0xDF,0xF7,
C51 COMPILER V7.20 TEXT1 04/21/2008 00:51:51 PAGE 2
56 0xDF,0xFF,0xDF,0xFF,
57 0xDF,0xFF,0xC0,0x07,
58
59 0xFF,0xF7,0xC1,0xF7,
60 0xFF,0xF7,0xFF,0xF7,
61 0x00,0x77,0xF7,0xF7,
62 0xF7,0xF7,0xF3,0xF0,
63 0xEB,0xF7,0xC9,0xF7,
64 0x9C,0xF7,0x3E,0x77,
65 0x7F,0x77,0xFF,0xF7,
66 0xFF,0xF7,0xFF,0xFF};
67 sbit ena=P2^0;//输出总允许信号
68 sbit lat=P2^1;//0锁存
69 sbit check=P2^5;//26管脚
70
71
72
73 //sbit check2=P1^6;
74 /*p1.0~p1.3行译码信号,int0-s1进行加1操作,int1-s2进行减1操作*/
75
76 unsigned int temp;
77 unsigned int opt1;
78 unsigned int opt2;
79 unsigned int flag;
80 unsigned int clear;
81 void disn();
82 void disnl(unsigned int temp1);
83 void sclear();
84 void disnr(unsigned int temp2);
85 void delay(unsigned int t)
86 {
87 1 while(--t);
88 1 }
89
90 void disw();
91 void diswl();
92 void diswr();
93 void int0() interrupt 0 using 0
94 {
95 1 EX0=0;
96 1 clear=1;
97 1 //ena=1;
98 1 if(temp>24)
99 1 {temp=24;}
100 1 else
101 1 {
102 2
103 2 temp+=1;
104 2 flag=0;}
105 1 //delay(65535);
106 1 delay(10000);//软件延时10ms消抖
107 1 delay(10000);
108 1 delay(10000);
109 1 EX0=1;
110 1
111 1 // return temp;
112 1 }
113 /*dec button*/
114 void int1(void) interrupt 2 using 1
115 {
116 1 EX1=0;
117 1 //ena=1;
C51 COMPILER V7.20 TEXT1 04/21/2008 00:51:51 PAGE 3
118 1 if(temp>=0)
119 1 { temp-=1;
120 2 }
121 1 else flag=1;;
122 1
123 1 delay(10000);
124 1 delay(10000);
125 1 delay(10000);
126 1 EX1=1;
127 1 // return temp;
128 1 }
129 void disw()
130 {
131 1
132 1 for(opt2=0;opt2<16;opt2++)
133 1 {
134 2
135 2 P1=opt2;
136 2
137 2 lat=0;
138 2 diswr();
139 2 diswl();
140 2 lat=1;
141 2 ena=0;
142 2 }
143 1 }
144 void disn()
145 {
146 1 unsigned int temph0,templ0;
147 1 if(temp>9)
148 1 {
149 2 temph0=temp/10;
150 2 templ0=temp-temph0*10;
151 2 }
152 1 else
153 1 {
154 2 temph0=0;
155 2 templ0=temp;
156 2 }
157 1
158 1
159 1 for(opt1=0;opt1<1;opt1++)
160 1
161 1 {
162 2 // delay(65536);
163 2 //delay(65536);
164 2
165 2 P1=opt1;
166 2 lat=0;// 0 latched
167 2 disnr(templ0);
168 2 disnl(temph0);
169 2 lat=1;
170 2 ena=0;
171 2 }
172 1
173 1 }
174 //右显示
175 void disnr(unsigned int temp1)
176 {
177 1 unsigned int k;
178 1 for(k=2*opt1;k<2*opt1+2;k++)
179 1 {
C51 COMPILER V7.20 TEXT1 04/21/2008 00:51:51 PAGE 4
180 2 SBUF=number[temp1][k];
181 2 while(TI==0);
182 2
183 2 TI=0;
184 2 }
185 1 }
186 void disnl(unsigned int temph)
187 {
188 1 unsigned int k;
189 1 for(k=2*opt1;k<2*opt1+2;k++)
190 1 {
191 2 SBUF=number[temph][k];
192 2 while(TI==0);
193 2 TI=0;
194 2 }
195 1 }
196 void diswl()
197 {
198 1 unsigned int k;
199 1 for(k=2*opt2;k<2*opt2+2;k++)
200 1 {
201 2
202 2 SBUF=word[0][k];
203 2 while(TI==0);
204 2 TI=0;
205 2 }
206 1
207 1
208 1 }
209 void diswr()
210 {
211 1 unsigned int k;
212 1 for(k=2*opt2;k<2*opt2+2;k++)
213 1 {
214 2
215 2 SBUF=word[1][k];
216 2 while(TI==0);
217 2 TI=0;
218 2 }
219 1 }
220 void main(void)
221 {
222 1 // EA=1; // CPU所有中断开(IE最高位MSB)
223 1 EX0=1; // INT0中断开
224 1 IT0=0; // INT0低电平触发(为1则为下降沿触发)
225 1 EX1=1; // INT1中断开
226 1 IT1=0; // INT1低电平触发(为1则为下降沿触发)
227 1 SCON=0x00;//串口工作在方式0
228 1 flag=0;
229 1 temp=1;
230 1 P2=0x00;
231 1 P1=0x00;
232 1 ena=1;
233 1 SBUF=0x00;
234 1 while(TI==0);
235 1 TI=0;
236 1 SBUF=0x00;
237 1 while(TI==0);
238 1 TI=0;
239 1 P1=0x01;
240 1 lat=1;
241 1 lat=0;
C51 COMPILER V7.20 TEXT1 04/21/2008 00:51:51 PAGE 5
242 1 ena=0;
243 1 ena=1;
244 1 while(1);
245 1 // while(1){
246 1 // if(clear==1)
247 1 // sclear();
248 1 // if(flag==0)
249 1 // disn();
250 1 // if(flag==1)
251 1 // disw();
252 1 // check=0;
253 1 // }
254 1
255 1 // delay2ms();
256 1
257 1
258 1 }
259 void sclear(void)
260
261 {
262 1
263 1 unsigned int i;
264 1 lat=0;
265 1 clear=0;
266 1 for(i=0;i<16;i++)
267 1 {
268 2 unsigned int m;
269 2 unsigned int n;
270 2 P1=i;
271 2
272 2
273 2 for(m=2*i;m<2*i+2;m++)
274 2 {
275 3
276 3 SBUF=kong[0][m];
277 3 while(TI==0);
278 3 TI=0;
279 3 }
280 2
281 2 for(n=2*i;n<2*i+2;n++)
282 2 {
283 3
284 3 SBUF=kong[0][n];
285 3 while(TI==0);
286 3 TI=0;
287 3 }
288 2 lat=1;
289 2 ena=0;
290 2
291 2 }
292 1 }
293
294
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 727 ----
CONSTANT SIZE = 416 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 8
IDATA SIZE = ---- ----
C51 COMPILER V7.20 TEXT1 04/21/2008 00:51:51 PAGE 6
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 + -