📄 bujinmain.lst
字号:
C51 COMPILER V7.00 BUJINMAIN 09/14/2006 16:35:47 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE BUJINMAIN
OBJECT MODULE PLACED IN BUJINMAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE BUJINMAIN.C OPTIMIZE(9,SIZE) BROWSE ORDER DEBUG OBJECTEXTEND
stmt level source
1 /* ******************************************************** */
2 #include "REG51STC.H"
3 #include "CMD16887.H"
4 #include "variable.h"
5 #include <ABSACC.H>
6
7 /********************************************************/
8 /**************************************************************************
9 * 功能:清除工作面A加油数据
10 *
11 ***************************************************************************/
12 void clear_worka(void)
13 { uchar i;
14 1 if(state1==0x00 || ration_pulse_a==0){ration_num_a=999999;ration_mode_a=0;calculate_ration(0);}
15 1 gun1.liter=0x00; //升
16 1 gun1.sale=0x00; //金额
17 1 gun1.pulse=0;
18 1 jl1s=0;
19 1 for(i=40;i<49;i++)
20 1 {
21 2 table_buf[i]=0;
22 2 }
23 1 //cgq1s1old=cgq1s1;
24 1 //cgq1s2old=cgq1s2;
25 1 price_a=0;
26 1
27 1 if(!cease_power)disp_lcd1(price_a,0x0);
28 1 updatea=1;
29 1 }
30 /**************************************************************************
31 * 功能:清除工作面B加油数据 [ok]
32 *
33 ***************************************************************************/
34 void clear_workb(void)
35 { uchar i;
36 1 if(state2==0x00 || ration_pulse_b==0){ration_num_b=999999;ration_mode_b=0;calculate_ration(1);}
37 1 gun2.liter=0x00; //升
38 1 gun2.sale=0x00; //金额
39 1 gun2.pulse=0;
40 1 jl2s=0;
41 1 for(i=40+53;i<49+53;i++)
42 1 {
43 2 table_buf[i]=0;
44 2 }
45 1 //cgq1s2old=cgq2s1;
46 1 //cgq2s2old=cgq2s2;
47 1 if(!cease_power)disp_lcd2(price_b,0x0);
48 1 updateb=1;
49 1 }
50 /*****************************************************************************
51 *
52 *功能:系统上电初始化
53 ; BOUD=57600,由定时器1产生
54 *****************************************************************************/
55 void InitializeSystem(void)
C51 COMPILER V7.00 BUJINMAIN 09/14/2006 16:35:47 PAGE 2
56 { uchar i;
57 1 for(i=0;i<106;i++)
58 1 {
59 2 table_buf[i]=0;
60 2 }
61 1 Get1302(); //上电读时间,便于打印
62 1
63 1 k1spk_time=0;
64 1 keyinput_a=0;
65 1 hang_cnt1=0;hang_cnt2=0;
66 1 jl1s=0;
67 1 jl2s=0;
68 1 //oil_types_a=1; //油枪a的油类别
69 1 timer_time=20;
70 1 time_seccnt=20;
71 1 prn1time=0;
72 1 prn2time=0;
73 1 TMOD&=0x0f;
74 1 TMOD|=0x12;
75 1 PCON|=0x80;
76 1 //SCON=0xf0; /* MODEL --3,REN=1,SM2=1 */
77 1 TH1=0xB1;
78 1 TL1=0xE0; //fdh--波特率19200 fah--9600,均为单倍速时 d0,e8
79 1 TR1=1;
80 1 TH0=0x05;
81 1 TL0=0x05;
82 1
83 1 isp_err=0;
84 1
85 1
86 1 RCAP2H=0xfb;
87 1 RCAP2L=0x1e;
88 1 TH2=RCAP2H;
89 1 TL2=RCAP2L;
90 1
91 1 T2CON=0x00;
92 1 TCON=0x01;
93 1
94 1 ration_a=0;
95 1 ration_b=0;
96 1 ration_mode_a=0; //1--a枪为定升加油 0--a枪为定元加油模式
97 1 ration_mode_b=0; //1--a枪为定升加油 0--a枪为定元加油模式
98 1 vip_mode_a=0;
99 1 vip_mode_b=0;
100 1 /************************/
101 1 // AUXR |=0x02;
102 1 // cmdmem=XBYTE[TQJLADD];
103 1 // AUXR &=0xfd;
104 1
105 1 /************************/
106 1 clear_worka();
107 1 clear_workb();
108 1 state1=0;state2=0;
109 1 keya_num[0]=0x7e;
110 1 keya_num[1]=0x00;
111 1 keya_num[2]=0x00;
112 1 keya_num[3]=0x00;
113 1 keya_num[4]=0x00;
114 1
115 1 keyb_num[0]=0x7e;
116 1 keyb_num[1]=0x00;
117 1 keyb_num[2]=0x00;
C51 COMPILER V7.00 BUJINMAIN 09/14/2006 16:35:47 PAGE 3
118 1 keyb_num[3]=0x00;
119 1 keyb_num[4]=0x00;
120 1 save_oka=0;idle_numa=0;
121 1 save_okb=0;idle_numb=0;
122 1 printformat_saveok=0;
123 1 TR2=1;
124 1
125 1 TR0=1;
126 1 TR1=1;
127 1 IE=0xAB;
128 1 EX0=1;
129 1
130 1 IP=0x00;
131 1 PT2=1;
132 1 electromotor=0;
133 1 }
134 /***************************************************************************
135 * 中断0:外部中断0
136 ****************************************************************************/
137 void int_int0(void) interrupt 0 using 1
138 { cease_power=1;
139 1 }
140 /***************************************************************************
141 * 功能:读计量脉冲--中断内调用
142 ****************************************************************************/
143 void read_input(void)
144 {
145 1 uchar data mem_inn; //做堆栈用--AUXR
146 1 bit bittemp=0;
147 1 mem_inn=AUXR; //做堆栈用
148 1 AUXR |=0x02;
149 1 cmdmem=XBYTE[TQJLADD];
150 1 AUXR &=0xfd;
151 1
152 1 //--------------------------
153 1 if(cgq1s1 && !cgq1s1old)jl1s++;
154 1 cgq1s1old=cgq1s1;
155 1 if(cgq1s2 && !cgq1s2old)jl1s++;
156 1 cgq1s2old=cgq1s2;
157 1
158 1 ///////////////////
159 1
160 1 if(cgq2s1old && !cgq2s1)jl2s++;
161 1 cgq2s1old=cgq2s1;
162 1 if(cgq2s2old && !cgq2s2)jl2s++;
163 1 cgq2s2old=cgq2s2;
164 1 //--------------------------------
165 1 AUXR=mem_inn; //做堆栈用 //AUXR &=0xfd;
166 1 }
167 /***************************************************************************
168 * 功能:读计量脉冲--中断内调用1
169 ****************************************************************************/
170 void read_input1(void)
171 {
172 1 uchar data mem_inn; //做堆栈用--AUXR
173 1 bit bittemp=0;
174 1 mem_inn=AUXR; //做堆栈用
175 1 AUXR |=0x02;
176 1 cmdmem=XBYTE[TQJLADD];
177 1 AUXR &=0xfd;
178 1
179 1 //--------------------------
C51 COMPILER V7.00 BUJINMAIN 09/14/2006 16:35:47 PAGE 4
180 1 if(cgq1s1 && !cgq1s1old)jl1s++;
181 1 cgq1s1old=cgq1s1;
182 1 if(cgq1s2 && !cgq1s2old)jl1s++;
183 1 cgq1s2old=cgq1s2;
184 1
185 1 ///////////////////
186 1
187 1 if(cgq2s1old && !cgq2s1)jl2s++;
188 1 cgq2s1old=cgq2s1;
189 1 if(cgq2s2old && !cgq2s2)jl2s++;
190 1 cgq2s2old=cgq2s2;
191 1 //--------------------------------
192 1 AUXR=mem_inn; //做堆栈用 //AUXR &=0xfd;
193 1 }
194 /***************************************************************************
195 * 中断1:定时器0 12T时2mS中断一次
196 ****************************************************************************/
197 void int_timer0(void) interrupt 1 using 1
198 {
199 1 /*union
200 1 {
201 1 uchar c[2];
202 1 uint x;
203 1 }yy;
204 1 TR0=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -