📄 hong lv deng 3.lst
字号:
C51 COMPILER V7.50 HONG_LV_DENG_3 10/23/2005 21:42:18 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE HONG_LV_DENG_3
OBJECT MODULE PLACED IN HONG LV DENG 3.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE HONG LV DENG 3.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 /*#define COM8255 XBYTE[0X0003]
5 #define PA8255 XBYTE[0X0000]
6 #define PB8255 XBYTE[0X0001]
7 #define PC8255 XBYTE[0X0002]*/
8
9 uchar code tab[]={0x88,0xEB,0x4C,0x49,0x2B,0x19,0x18,0xCB,0x08,
10 0x09,0x0A,0x38,0x9C,0x68,0x1C,0x1E,0xFF};
11 uchar code tabHello[]={0x88,0xBC,0xBC,0x1C,0x2A,0xFF};
12 uchar code tabStop[]={0xff,0x0e,0x88,0x3c,0x19,0xff};
13
14 sbit P3_2=P3^2;
15 sbit P1_0=P1^0;
16 sbit P1_1=P1^1;
17 sbit P1_2=P1^2;
18 sbit P1_3=P1^3;
19 sbit P1_4=P1^4;
20 sbit P1_5=P1^5;
21 sbit P1_6=P1^6;
22
23 #define OSC_FREQ 12000000
24 #define _1ms (65536-OSC_FREQ/(12000000/980))
25
26 void Timer_1ms(uint_1ms);
27 void Led_RR(); //红红
28 void Led_RG(); //红绿
29 void Led_RY(); //红黄
30 void Led_GR(); //绿红
31 void Led_YR(); //黄红
32 void Led_Off();
33 void SHUSHU();
34 //void SHUSHUYELLOW();
35 void Stop();
36 void Xint0(void);
37
38 /*****************************************************/
39
40 void main(void)
41 {
42 1 P1=0x00;
43 1 EA=1;
44 1 EX0=1;
45 1 IT0=0;
46 1 Led_RR();
47 1 do{
48 2 Led_RG();
49 2 Led_RY();
50 2 Led_GR();
51 2 Led_YR();
52 2 }while(1);
53 1 }
54
55 /********************************/
C51 COMPILER V7.50 HONG_LV_DENG_3 10/23/2005 21:42:18 PAGE 2
56
57 void Timer_1ms(uint_1ms)
58 {
59 1 TMOD=TMOD&(0x0f)|0x10;
60 1 TR1=1;
61 1 while(uint_1ms--)
62 1 {
63 2 TH1=_1ms/256;
64 2 TL1=_1ms%256;
65 2 while(!TF1);
66 2 TF1=0;
67 2 }
68 1 TR1=0;
69 1 }
70
71 /*********************************/
72
73 void Xint0(void) interrupt 0 using 3
74 {
75 1 P1_0=0;
76 1 P1_2=0;
77 1 P1_4=0;
78 1 P1_5=0;
79 1 P1_6=0;
80 1 P1_1=1;
81 1 P1_3=1;
82 1 Stop();
83 1 for(;;)
84 1 {
85 2 ;
86 2 }
87 1 }
88
89 /*********************************/
90
91 void Led_RR() //红红2s
92 {
93 1 uchar a;
94 1 P1_0=0;
95 1 P1_2=0;
96 1 P1_4=0;
97 1 P1_5=0;
98 1 P1_6=0;
99 1 P1_1=1;
100 1 P1_3=1;
101 1 for(a=0;a<=5;a++) //显示Hello字样
102 1 {
103 2 SBUF=tabHello[a];
104 2 while(!TI)
105 2 TI=0;
106 2 }
107 1 Timer_1ms(2000);
108 1 Led_Off();
109 1 }
110
111 /*********************************/
112
113 void Led_RG() //红绿5s
114 {
115 1 P1_1=1;
116 1 P1_2=1;
117 1 SHUSHU();
C51 COMPILER V7.50 HONG_LV_DENG_3 10/23/2005 21:42:18 PAGE 3
118 1 Led_Off();
119 1 }
120
121 /*********************************/
122
123 void Led_RY() //红黄5s
124 {
125 1 uint i,j;
126 1 P1_1=1;
127 1 for(i=5;i>=1;i--)
128 1 {
129 2 SBUF=tab[i];
130 2 while(!TI);
131 2 TI=0;
132 2 for(j=1;j<=5;j++)
133 2 {
134 3 SBUF=tab[16];
135 3 while(!TI);
136 3 TI=0;
137 3 }
138 2 P1_5=1;
139 2 Timer_1ms(500);
140 2 P1_5=0;
141 2 Timer_1ms(500);
142 2 }
143 1 Led_Off();
144 1 }
145
146 /**********************************/
147
148 void Led_GR() //绿红5s
149 {
150 1 P1_0=1;
151 1 P1_3=1;
152 1 SHUSHU();
153 1 Led_Off();
154 1 }
155
156 /**********************************/
157
158 void Led_YR() //黄红5s
159 {
160 1 uint i,j;
161 1 P1_3=1;
162 1 for(i=5;i>=1;i--)
163 1 {
164 2 SBUF=tab[i];
165 2 while(!TI);
166 2 TI=0;
167 2 for(j=1;j<=5;j++)
168 2 {
169 3 SBUF=tab[16];
170 3 while(!TI);
171 3 TI=0;
172 3 }
173 2 P1_4=1;
174 2 Timer_1ms(500);
175 2 P1_4=0;
176 2 Timer_1ms(500);
177 2 }
178 1 Led_Off();
179 1 }
C51 COMPILER V7.50 HONG_LV_DENG_3 10/23/2005 21:42:18 PAGE 4
180
181 /*********************************/
182
183 void Led_Off()
184 {
185 1 P1_0=0;
186 1 P1_1=0;
187 1 P1_2=0;
188 1 P1_3=0;
189 1 P1_4=0;
190 1 P1_5=0;
191 1 P1_6=0;
192 1 }
193
194 /********************************/
195
196 void SHUSHU()
197 {
198 1 uchar a,i;
199 1 for(a=5;a>=1;a--)
200 1 {
201 2 SBUF=tab[a];
202 2 while(!TI);
203 2 TI=0;
204 2 for(i=1;i<=5;i++)
205 2 {
206 3 SBUF=tab[16];
207 3 while(!TI);
208 3 TI=0;
209 3 }
210 2 Timer_1ms(1000);
211 2 }
212 1 }
213
214 /*************************************/
215 /*void SHUSHUYELLOW()
216 {
217 uchar a,j;
218
219 SBUF=tab[a];
220 a++;
221 while(!TI);
222 TI=0;
223 for(j=1;j<=5;j++)
224 {
225 SBUF=tab[16];
226 while(!TI);
227 TI=0;
228 }
229 }*/
230
231 /************************************/
232
233 void Stop()
234 {
235 1 SBUF=tabStop[0];
236 1 while(!TI);
237 1 TI=0;
238 1 SBUF=tabStop[1];
239 1 while(!TI);
240 1 TI=0;
241 1 SBUF=tabStop[2];
C51 COMPILER V7.50 HONG_LV_DENG_3 10/23/2005 21:42:18 PAGE 5
242 1 while(!TI);
243 1 TI=0;
244 1 SBUF=tabStop[3];
245 1 while(!TI);
246 1 TI=0;
247 1 SBUF=tabStop[4];
248 1 while(!TI);
249 1 TI=0;
250 1 SBUF=tabStop[5];
251 1 while(!TI);
252 1 TI=0;
253 1 }
254
255
256
257
258
259
260
261
262
263
264
265
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 426 ----
CONSTANT SIZE = 29 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -