📄 5w mself.lst
字号:
C51 COMPILER V7.50 5W_MSELF 04/24/2008 16:45:52 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 5W_MSELF
OBJECT MODULE PLACED IN 5W mself.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 5W mself.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //--------------头文件------------------------
2 #include<REG51.H>
3 //--------------自定义-----------------------
4 #define DB_port P2
5 sbit key_start=P1^0;
6 sbit key_stop=P1^1;
7 sbit relay_out=P1^7;
8 sbit clk_164=P2^4;
9 sbit data_164=P2^5;
10 unsigned char step;
11 unsigned int relay_data;
12 unsigned char data_array[5];
13 //--------------函数声明---------------------
14 void delay(unsigned char j);
15 void delays(void);
16 void key_dispose(void);
17 void display(void);
18 void display2(void);
19 void transmit(unsigned char digital);
20 void timer0_initial(void);
21 void xxxqq(void);
22 //--------------主函数------------------------
23 void main(void)
24 {
25 1 relay_out=1;
26 1 clk_164=1;
27 1 delay(50);
28 1 transmit(0x00);
29 1 do{
30 2 xxxqq();
31 2 }
32 1 while(1);
33 1 }
34 void xxxqq(void)
35 {
36 1 if(key_start==0)
37 1 delays();
38 1 if(key_start==0)
39 1 {
40 2 relay_out=1;
41 2 DB_port=DB_port||0x0f;
42 2 timer0_initial();
43 2 for(;;)
44 2 {
45 3 if(key_stop==0)
46 3 delays();
47 3 if(key_stop==0)
48 3 {EA=0;}
49 3 if(key_start==0)//+
50 3 delays(); //+
51 3 if(key_start==0)//+
52 3 {EA=1;} //+
53 3 if(relay_data>=25000)
54 3 {EA=0;}
55 3 display();
C51 COMPILER V7.50 5W_MSELF 04/24/2008 16:45:52 PAGE 2
56 3 }
57 2 }
58 1 else
59 1 display2();
60 1 }
61 //-------------延时--------------------------
62 void delay(unsigned char j)
63 {
64 1 unsigned char i;
65 1 unsigned int db_data;
66 1
67 1 for(i=0;i<j;i++)
68 1 {
69 2 data_array[4]=relay_data/10000;
70 2 db_data=relay_data%10000;
71 2 data_array[3]=db_data/1000;
72 2 db_data=db_data%1000;
73 2 data_array[2]=db_data/100;
74 2 db_data=db_data%100;
75 2 data_array[1]=db_data/10;
76 2 data_array[0]=db_data%10;
77 2 }
78 1 }
79 void delays(void)
80 {
81 1 unsigned char d;
82 1 for(d=0;d<10;d++);
83 1 }
84 //-------------响应按键----------------------
85 void key_dispose(void)
86 {
87 1 }
88 //--------------定时器初始化------------------
89 void timer0_initial(void)
90 {
91 1 EA=0;
92 1 ET0=0;
93 1 TR0=0;
94 1 TMOD=0x01;
95 1 TH0=0x3c;
96 1 TL0=0xb0;
97 1 ET0=1;
98 1 TR0=1;
99 1 EA=1;
100 1 }
101 //--------------定时器中断函数----------------
102 void timer0(void) interrupt 1 using 1
103 {
104 1 TH0=0x3c;
105 1 TL0=0xb0;
106 1 step++;
107 1 if(step==80)
108 1 relay_out=0;
109 1 if(step==86)
110 1 {
111 2 relay_out=1;
112 2 step=0;
113 2 relay_data++;
114 2 }
115 1 }
116 //--------------显示处理函数-------------------0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
117 void display(void)
C51 COMPILER V7.50 5W_MSELF 04/24/2008 16:45:52 PAGE 3
118 {
119 1 unsigned char code
120 1 form[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//
121 1
122 1 DB_port=DB_port|0x0f;
123 1 transmit(form[0]);
124 1 DB_port=DB_port|0x0f;
125 1 DB_port=DB_port&0xf0;
126 1 delay(1);
127 1
128 1 DB_port=DB_port|0x0f;
129 1 transmit(form[data_array[4]]);
130 1 DB_port=DB_port|0x0f;
131 1 DB_port=DB_port&0xf1;
132 1 delay(1);
133 1
134 1 DB_port=DB_port|0x0f;
135 1 transmit(form[data_array[3]]);
136 1 DB_port=DB_port|0x0f;
137 1 DB_port=DB_port&0xf2;
138 1 delay(1);
139 1
140 1 DB_port=DB_port|0x0f;
141 1 transmit(form[data_array[2]]);
142 1 DB_port=DB_port|0x0f;
143 1 DB_port=DB_port&0xf3;
144 1 delay(1);
145 1
146 1 DB_port=DB_port|0x0f;
147 1 transmit(form[data_array[1]]);
148 1 DB_port=DB_port|0x0f;
149 1 DB_port=DB_port&0xf4;
150 1 delay(1);
151 1
152 1 DB_port=DB_port|0x0f;
153 1 transmit(form[data_array[0]]);
154 1 DB_port=DB_port|0x0f;
155 1 DB_port=DB_port&0xf5;
156 1 delay(1);
157 1 DB_port=DB_port|0x0f;
158 1 }
159 void display2(void)
160 {
161 1 DB_port=DB_port|0x0f;
162 1 transmit(0x3f);
163 1 DB_port=DB_port|0x0f;
164 1 DB_port=DB_port&0xf0;
165 1 delay(1);
166 1
167 1 DB_port=DB_port|0x0f;
168 1 transmit(0x3f);
169 1 DB_port=DB_port|0x0f;
170 1 DB_port=DB_port&0xf1;
171 1 delay(1);
172 1
173 1 DB_port=DB_port|0x0f;
174 1 transmit(0x3f);
175 1 DB_port=DB_port|0x0f;
176 1 DB_port=DB_port&0xf2;
177 1 delay(1);
178 1
179 1 DB_port=DB_port|0x0f;
C51 COMPILER V7.50 5W_MSELF 04/24/2008 16:45:52 PAGE 4
180 1 transmit(0x3f);
181 1 DB_port=DB_port|0x0f;
182 1 DB_port=DB_port&0xf3;
183 1 delay(1);
184 1
185 1 DB_port=DB_port|0x0f;
186 1 transmit(0x3f);
187 1 DB_port=DB_port|0x0f;
188 1 DB_port=DB_port&0xf4;
189 1 delay(1);
190 1
191 1 DB_port=DB_port|0x0f;
192 1 transmit(0x3f);
193 1 DB_port=DB_port|0x0f;
194 1 DB_port=DB_port&0xf5;
195 1 delay(1);
196 1 DB_port=DB_port|0x0f;
197 1 }
198 //--------------发送字节函数-------------------
199 void transmit(unsigned char digital)
200 {
201 1 unsigned char a;
202 1 unsigned char b=0x01;
203 1 unsigned char i=0;
204 1 for(i=0;i<8;i++)
205 1 {
206 2 a=(digital&b);
207 2 if(a==0)
208 2 {
209 3 data_164=0;
210 3 data_164=0;
211 3 data_164=0;
212 3 clk_164=0;
213 3 clk_164=0;
214 3 clk_164=1;
215 3 clk_164=1;
216 3 }
217 2 else
218 2 {
219 3 data_164=1;
220 3 data_164=1;
221 3 data_164=1;
222 3 clk_164=0;
223 3 clk_164=0;
224 3 clk_164=1;
225 3 clk_164=1;
226 3 }
227 2 b<<=1;
228 2 }
229 1 }
230
231
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 547 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
C51 COMPILER V7.50 5W_MSELF 04/24/2008 16:45:52 PAGE 5
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -