📄 zongji.lst
字号:
C51 COMPILER V8.02 ZONGJI 08/13/2008 10:58:11 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE ZONGJI
OBJECT MODULE PLACED IN zongji.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE zongji.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <stdio.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 uchar num,num1,count,key1num;
6 sbit key1=P3^3;
7 sbit key2=P3^1;
8 sbit key3=P3^2;
9 sbit zshi=P3^7;
10 sbit zge=P3^6;
11 sbit cshi=P3^5;
12 sbit cge=P3^4;
13 uchar code dis[]={
14
15 0X3f,/*0*/
16 0X06,/*1*/
17 0X5b,/*2*/
18 0X4f,/*3*/
19 0X66,/*4*/
20 0X6d,/*5*/
21 0X7d,/*6*/
22 0X07,/*7*/
23 0X7f,/*8*/
24 0X6f,/*9*/
25 0X00,/*NULL*/
26 };
27
28
29 void delay(uint c)
30 {
31 1 uint i,j;
32 1 for(i=0;i<c;i++)
33 1 for(j=0;j<100;j++);
34 1
35 1 }
36
37 void init()
38 {
39 1 TMOD=0x21;//设置定时器0为工作方式1
40 1 TH0=(65536-10000)/256;
41 1 TL0=(65536-10000)%256;
42 1 TH1=0xfd;
43 1 TL1=0xfd;
44 1 EA=1;//开总中断
45 1 ET0=1;//开定时器0中断
46 1 TR0=1;//启动定时器0
47 1 TR1=1;
48 1 REN=1;
49 1 SM0=0;
50 1 SM1=1;
51 1 ES=1;
52 1
53 1 num=56;
54 1 num1=56;
55 1 P3=0xff;
C51 COMPILER V8.02 ZONGJI 08/13/2008 10:58:11 PAGE 2
56 1 P2=0x00;
57 1 P1=0x00;
58 1
59 1 }
60 void guan()
61 {
62 1 zshi=1;
63 1 cshi=1;
64 1 zge=1;
65 1 cge=1;
66 1
67 1 }
68 void display(uchar dat_z,dat_c)
69 {
70 1 if(dat_z>=23&&dat_z<=56)
71 1 {
72 2 if(26<dat_z&&dat_z<=56)
73 2 {
74 3 P0=0xeb;
75 3 zshi=1;
76 3 P1=dis[(dat_z-23)%10];
77 3 zshi=0;
78 3 delay(5);
79 3 guan();
80 3
81 3 zge=1;
82 3 P1=dis[(dat_z-23)/10];
83 3 zge=0;
84 3 delay(5);
85 3 guan();
86 3
87 3 cshi=1;
88 3 P2=dis[(dat_c-26)%10];
89 3 cshi=0;;
90 3 delay(5);
91 3 guan();
92 3 cge=1;
93 3 P2=dis[(dat_c-26)/10];
94 3 cge=0;
95 3 delay(5);
96 3
97 3 }
98 2 if(dat_z>=23&&dat_z<=26)
99 2 {
100 3 P0=0xe2;//黄灯
101 3 zge=1;
102 3 P1=dis[(dat_z-23)%10];
103 3 zshi=0;
104 3 delay(1);
105 3 guan();
106 3
107 3 cshi=1;
108 3 cge=1;
109 3 P2=dis[(dat_z-23)%10];
110 3 cge=0;
111 3 delay(5);
112 3 guan();
113 3 }
114 2 }
115 1
116 1 if(dat_z<23)
117 1 {
C51 COMPILER V8.02 ZONGJI 08/13/2008 10:58:11 PAGE 3
118 2 if(dat_z>3&&dat_z<23)
119 2 {
120 3 P0=0xdd;//红灯
121 3 zshi=1;
122 3 P1=dis[(dat_z)%10];
123 3 zshi=0;
124 3 delay(5);
125 3 guan();
126 3
127 3 zge=1;
128 3 P1=dis[(dat_z)/10];
129 3 zge=0;
130 3 delay(5);
131 3 guan();
132 3
133 3 cshi=1;
134 3 P2=dis[(dat_c-3)%10];
135 3 cshi=0;
136 3 delay(5);
137 3 guan();
138 3
139 3 cge=1;
140 3 P2=dis[(dat_c-3)/10];
141 3 cge=0;
142 3 delay(5);
143 3 guan();
144 3 }
145 2 if(dat_z<=3)
146 2 {
147 3 P0=0xd4;
148 3 cge=1;
149 3 P1=0xff;
150 3 zshi=0;
151 3 P1=dis[(dat_z)%10];
152 3 delay(1);
153 3 zshi=1;
154 3 guan();
155 3
156 3 zge=1;
157 3 zshi=1;
158 3 cge=1;
159 3 P2=0xff;
160 3 cshi=0;
161 3 P2=dis[(dat_z)%10];
162 3 delay(1);
163 3 cshi=1;
164 3 guan();
165 3 }
166 2
167 2 }
168 1
169 1 }
170 void displayz(uchar dat_z)
171 {
172 1 cge=1;
173 1 if(dat_z>=23&&dat_z<=56)
174 1 {
175 2 if(26<dat_z&&dat_z<=56)
176 2 {
177 3 P0=0xeb;
178 3 zshi=1;
179 3 P1=dis[(dat_z-23)%10];
C51 COMPILER V8.02 ZONGJI 08/13/2008 10:58:11 PAGE 4
180 3 zshi=0;
181 3 delay(5);
182 3
183 3 guan();
184 3
185 3 zge=1;
186 3 P1=dis[(dat_z-23)/10];
187 3 zge=0;
188 3 delay(5);
189 3 guan();
190 3
191 3 }
192 2 if(dat_z>=23&&dat_z<=26)
193 2 {
194 3 P0=0xe2;//黄灯
195 3 zge=1;
196 3 P1=dis[(dat_z-23)%10];
197 3 zshi=0;
198 3 delay(1);
199 3 guan();
200 3 }
201 2
202 2 if(dat_z<23)
203 2 {
204 3 if(dat_z>3&&dat_z<23)
205 3 {
206 4 P0=0xdd;//红灯
207 4 zshi=1;
208 4 P1=dis[(dat_z)%10];
209 4 zshi=0;
210 4 delay(5);
211 4 guan();
212 4
213 4 zge=1;
214 4 P1=dis[(dat_z)/10];
215 4 zge=0;
216 4 delay(5);
217 4 guan();
218 4 }
219 3 if(dat_z<=3)
220 3 {
221 4 P0=0xd4;
222 4 cge=1;
223 4 P1=0xff;
224 4 zshi=0;
225 4 P1=dis[(dat_z)%10];
226 4 delay(1);
227 4 zshi=1;
228 4 guan();
229 4
230 4 }
231 3
232 3 }
233 2 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -