📄 bpqmb.lst
字号:
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE BPQMB
OBJECT MODULE PLACED IN F:\ERROR\BPMB\BPQMB.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE F:\ERROR\BPMB\BPQMB.C DB SB OE
line level source
1 #include <reg51.h>
2 #include <staticv.h>
3 #include <intrins.h>
4 #include <24c04.h>
5 #define zt_ 0
6 #define gn_ 0
7 #define dz_h 1
8 #define dz_l 2
9 #define sj_h 3
10 #define sj_l 4
11 #define jyh_l 5
12 #define jyh_h 6
13 #define jw_ 9
14 #define _mima 1234
15 #define dmima 5858
16 sbit dsp_gz=P3^7;
17 uchar t0yc=5,t0yc1=5,datap,sendp,dsp_p,takep;
18 uint add_offset;
19 uchar txd[7];
20 uchar rxd[6];
21 bit rxded,notbit1,notbit2,temp_bit;
22 /*sbit dpc_a=P2^5;
23 sbit dpc_b=P2^4;*/
24 sbit dpc_a=P1^1;
25 sbit dpc_b=P1^0;
26 sbit spi_spe=P3^3;
27 sbit spi_dat=P3^0;
28 sbit spi_clk=P3^1;
29 bit und_bit,sending,pass,passd,passf,ankey,on_off,error,send_com=1;
30 bit inc_dec,db_3,da_3,set_send,k_abs,i_goon,d_goon;
31 uchar st_con,menu_con,cmenu,con_num;
32 uint password,set_data,fu_data,zu_data,pw_delay,pv_fu,pv_zu,pv1_zu,pv1_fu;
33 uchar dela,delb,xh_jsk,xh_jsn;
34 uchar ud_con,ture_ud,ncall_dsp;
35 unsigned char displaya[4],displayb[4],ndsp=0;
36 /*delay********************delay*********************delay*/
37 /*void sytxd()
38 {txd[0]=0x51;txd[1]=0x52;txd[2]=0xa3;txd[3]=0xa4;
39 txd[4]=0x55;txd[5]=0x56;txd[6]=0xa7;txd[7]=0xa8;sending=1;} */
40 void send_dat()
41 {
42 1 uchar num,temp;
43 1 takep=0;
44 1 spi_dat=0;
45 1 spi_spe=1;
46 1 while(spi_spe){;}
47 1 while(!spi_spe){;}
48 1 spi_spe=1;
49 1 spi_clk=1;
50 1 spi_dat=0;
51 1 temp=txd[sendp];
52 1 if(sendp<6)sendp++;
53 1 else{sendp=0;
54 2 send_com=0;
55 2 sending=0;
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 2
56 2 }
57 1 for(num=8;num>0;num--)
58 1 { if(temp&0x80)
59 2 spi_dat=1;
60 2 else spi_dat=0;
61 2 while(!spi_clk){;}
62 2 while(spi_clk){;}
63 2 temp<<=1;
64 2 }
65 1 if(send_com)spi_dat=0;else spi_dat=1;
66 1 }
67 void take_dat()
68 {
69 1 uchar num,temp;
70 1 sendp=0;
71 1 spi_dat=1;
72 1 spi_spe=1;
73 1 while(spi_spe){;}
74 1 while(!spi_spe){;}
75 1 spi_clk=1;
76 1 temp=0;
77 1 for(num=8;num>0;num--)
78 1 { temp<<=1;
79 2 while(!spi_clk){;}
80 2 if(spi_dat)
81 2 temp++;
82 2 while(spi_clk){;}
83 2 }
84 1 rxd[takep]=temp;
85 1 spi_dat=1;
86 1 if(takep<5)takep++;
87 1 else
88 1 {
89 2 spi_dat=0;
90 2 takep=0;
91 2 rxded=send_com=1;
92 2 }
93 1 }
94 /*定时器*******************定时器*******************定时器**/
95 void tint1() interrupt 1 using 3
96 {unsigned char temp=1,num,temp_del;
97 1 TH0=0Xd5;
98 1 TL0=0X00;
99 1 TR0=1;
100 1 t0yc--;
101 1 if(t0yc==0)
102 1 {t0yc=10;
103 2 t0yc1--;
104 2 notbit1=~notbit1;
105 2 }
106 1 if(t0yc1==0)
107 1 {t0yc1=10;
108 2 notbit2=~notbit2;
109 2 if(pw_delay>0)pw_delay--;
110 2 else {passd=passf=0;if((password!=0)&&(password>9999))pass=0;}
111 2 }
112 1 ET0=1;
113 1 P0=0;
114 1 dpc_a=0;
115 1 dpc_b=0;
116 1 dpc_a=1;
117 1 dpc_b=1;
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 3
118 1 dpc_a=0;
119 1 dpc_b=0;
120 1 temp_del=dsp_p+1;
121 1 temp<<=dsp_p;
122 1 P2&=0XF0;
123 1 temp|=P2;
124 1 P2=temp;
125 1 if((notbit2)||(!und_bit)||((ndsp!=dsp_p)&&(ndsp!=0xff)))
126 1 {num=displaya[dsp_p];
127 2 if(dela==temp_del)num|=0x80;
128 2 P0=num;
129 2 dpc_a=0;
130 2 dpc_a=1;
131 2 }
132 1 num=displayb[dsp_p];
133 1 if(delb==temp_del)num|=0x80;
134 1 P0=num;
135 1 dpc_b=0;
136 1 dpc_b=1;
137 1 dsp_p++;
138 1 if(dsp_p>3)dsp_p=0;
139 1 }
140 /*通讯设置********************通讯设置****************通讯设置**/
141 void scr(void)
142 {uchar temp;
143 1 uint num=0;
144 1 sendp=0;
145 1 for(temp=0;temp<5;temp++)
146 1 {num+=txd[temp];
147 2 }
148 1 txd[5]=num>>8;
149 1 txd[6]=num&0xff;
150 1 }
151 void scanf_scr()
152 {
153 1 uchar i;
154 1 uint temp=0;
155 1 uint num;
156 1 num=rxd[4]<<8;
157 1 num&=0xff00;
158 1 num|=rxd[5];
159 1 for(i=0;i<4;i++)
160 1 {temp+=rxd[i];}
161 1 if(temp==num)temp_bit=1;
162 1 else temp_bit=0;
163 1 }
164
165 /*通讯设置******************通讯设置**********通讯社制*/
166 void rd_txd(uchar temp)
167 {
168 1 txd[gn_]=temp;
169 1 if(menu_con==3)
170 1 {
171 2 txd[dz_l]=ud_con;
172 2 txd[dz_h]=ture_ud;
173 2 }
174 1 else
175 1 {
176 2 txd[dz_l]=cmenu;
177 2 txd[dz_h]=0;
178 2 }
179 1 txd[sj_l]=0;
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 4
180 1 txd[sj_h]=0;
181 1 scr();
182 1 sending=1;
183 1 }
184 void ask_txd()
185 {
186 1 txd[gn_]=0;
187 1 txd[dz_l]=cmenu;
188 1 txd[dz_h]=0;
189 1 txd[sj_h]=txd[sj_l]=0;
190 1 scr();
191 1 sending=1;
192 1 }
193 void gz_txd()
194 {
195 1 txd[gn_]=3;
196 1 txd[dz_l]=cmenu;
197 1 txd[dz_h]=menu_con;
198 1 txd[sj_h]=txd[sj_l]=0;
199 1 scr();
200 1 sending=1;
201 1 }
202 void clr_txd()
203 {txd[gn_]=6;
204 1 txd[sj_h]=0;
205 1 txd[sj_l]=1;
206 1 scr();
207 1 }
208 void con_txd(uchar num)
209 {
210 1 txd[gn_]=10;
211 1 txd[dz_h]=0;
212 1 txd[dz_l]=cmenu;
213 1 txd[sj_l]=num&0xff;
214 1 txd[sj_h]=num>>8;
215 1 scr();
216 1 sending=1;
217 1 }
218 void cp_ps_txd(uchar num)
219 {
220 1 txd[gn_]=num;
221 1 txd[dz_l]=add_offset&0xff;
222 1 txd[dz_h]=add_offset>>8;
223 1 txd[sj_l]=set_data&0xff;
224 1 txd[sj_h]=set_data>>8;
225 1 scr();
226 1 sending=1;
227 1 }
228 void write_txd(uchar temp)
229 {
230 1 txd[gn_]=temp;
231 1 if(menu_con==3)
232 1 {
233 2 txd[dz_l]=ud_con;
234 2 txd[dz_h]=ture_ud;
235 2 }
236 1 else
237 1 {
238 2 txd[dz_l]=cmenu;
239 2 txd[dz_h]=menu_con;
240 2 }
241 1 txd[sj_l]=set_data&0xff;
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 5
242 1 txd[sj_h]=set_data>>8;
243 1 scr();
244 1 sending=1;
245 1 }
246 void admin_txd()
247 {
248 1 switch(cmenu)
249 1 {case 0:set_data=0;break;
250 2 case 1:txd[dz_l]=0;
251 2 txd[gn_]=7;break;
252 2 case 2:txd[dz_l]=1;
253 2 txd[gn_]=7;break;
254 2 case 3:txd[gn_]=8;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -