📄 driver.lst
字号:
C51 COMPILER V7.20 DRIVER 10/13/2008 13:13:44 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE DRIVER
OBJECT MODULE PLACED IN Driver.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Driver.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "Main.h"
2 #include "AT89X51.h"
3 #include <intrins.h>
4 #include <absacc.h>
5
6 extern bit timerHap; //定时器到时
7
8 BYTE bdata sensor; //光电传感器状态保存, 用于去抖
9 sbit CoinDoor = sensor^0; //投币口 开/关到位否
10 sbit CoinBox = sensor^1; //大钱箱 到位否
11 sbit RmbOut = sensor^2; //纸币出 到位否
12 sbit Coiner = sensor^3; //硬币机 到位否
13 sbit RmbIn = sensor^4; //纸币进 到位否
14 sbit Provider = sensor^5; //刮票机 到位否
15 sbit Door = sensor^6; //后门 到位否
16 sbit AAA = sensor^7; // 保留
17
18 BYTE bdata lock; //光电传感器状态保存, 用于去抖
19 sbit CoinDoorCtl = lock^0; //硬币投币口 开关
20 sbit MainLampCtl = lock^1; //维修照明灯 嵊州忠欧 0575-83218520 13967418522
21 sbit CardLampCtl = lock^2; //出卡处照明灯
22 sbit Fan1Ctl = lock^3; //排风扇1
23 sbit Fan2Ctl = lock^4; //排风扇2
24 sbit CoinBoxCtl = lock^5; //加硬币门锁上否?
25 sbit BigBoxDoor = lock^6; //钱箱门锁上否?
26 sbit DoorLock = lock^7; //后门锁上否?
27
28 BYTE bdata inputByte1; //XBYTE[0x0000];
29 sbit GDG10 = inputByte1 ^ 0; //投币口 开/关 传感器
30 sbit GDG11 = inputByte1 ^ 1;
31 sbit GDG12 = inputByte1 ^ 2;
32 sbit GDG13 = inputByte1 ^ 3;
33 sbit GDG14 = inputByte1 ^ 4; //
34 sbit GDG15 = inputByte1 ^ 5; //
35 sbit GDG16 = inputByte1 ^ 6; //
36 sbit GDG17 = inputByte1 ^ 7; //
37
38 BYTE bdata inputByte2; //XBYTE[0x1000];
39 sbit GDG20 = inputByte2 ^ 0; //
40 sbit GDG21 = inputByte2 ^ 1; //
41 sbit GDG22 = inputByte2 ^ 2; //
42 sbit GDG23 = inputByte2 ^ 3; //
43 sbit GDG24 = inputByte2 ^ 4; //
44 sbit GDG25 = inputByte2 ^ 5; //
45 sbit GDG26 = inputByte2 ^ 6; //
46 sbit GDG27 = inputByte2 ^ 7; //
47
48 BYTE bdata inputByte3; //XBYTE[0x2000];
49 sbit GDG30 = inputByte3 ^ 0; //
50 sbit GDG31 = inputByte3 ^ 1; //
51 sbit GDG32 = inputByte3 ^ 2; //
52 sbit GDG33 = inputByte3 ^ 3; //
53 sbit GDG34 = inputByte3 ^ 4; //
54 sbit GDG35 = inputByte3 ^ 5; //
55 sbit GDG36 = inputByte3 ^ 6; //
C51 COMPILER V7.20 DRIVER 10/13/2008 13:13:44 PAGE 2
56 sbit GDG37 = inputByte3 ^ 7; //
57
58 BYTE bdata outputByte1 = 0; //XBYTE[0x0000];
59 sbit OLT0 = outputByte1 ^ 0; //
60 sbit OLT1 = outputByte1 ^ 1; //
61 sbit OLT2 = outputByte1 ^ 2; //
62 sbit OLT3 = outputByte1 ^ 3; //
63 sbit OLT4 = outputByte1 ^ 4; //
64 sbit OLT5 = outputByte1 ^ 5; //
65 sbit OLT6 = outputByte1 ^ 6; //
66 sbit OLT7 = outputByte1 ^ 7; //
67
68 BYTE bdata outputByte2 = 0; //XBYTE[0x1000];
69 sbit OLT8 = outputByte2 ^ 0; //控制投币口 开 关
70 sbit OLT9 = outputByte2 ^ 1; //控制维修灯 亮 灭
71 sbit OLTA = outputByte2 ^ 2; //控制出卡处灯 亮 灭
72 sbit OLTB = outputByte2 ^ 3; //
73
74 //sbit OLTC = outputByte2 ^ 4;
75 //sbit OLTD = outputByte2 ^ 5;
76 sbit OLTE = outputByte2 ^ 6; //控制fan1 亮 灭
77 sbit OLTF = outputByte2 ^ 7; //控制fan2 亮 灭
78
79 sbit LED_E = P3 ^ 2; //指示灯
80
81 sbit RELAY = P3 ^ 4; //
82
83
84
85 ////////////////////////////////////
86 /*BYTE INPUT1()//for test
87 {
88 inputByte2 = XBYTE[0x1000];
89 return inputByte2;
90 }*/
91
92 /*********************************************************************
93 BYTE INPUT()//for test
94 {
95 inputByte1 = XBYTE[0x0000];
96 return inputByte1;
97 }
98 *********************************************************************/
99 //RELAY
100 void control24V(BOOL relay)
101 {
102 1 OLT8=1; //
103 1 OLT9=1;
104 1 OLTA=1;
105 1 OLTB=1;
106 1 XBYTE[0x1000]=outputByte2; //for test
107 1 if (relay==OPEN) RELAY=0; //低电平控制24V有电
108 1 else RELAY=1;
109 1 }
110 //
111 void InCoinDoor(BOOL OpenClose) //test
112 {
113 1 if (OpenClose==OPEN)
114 1 {
115 2 OLT8=0;
116 2 XBYTE[0x1000] = outputByte2;
117 2 }//低电平控制门开
C51 COMPILER V7.20 DRIVER 10/13/2008 13:13:44 PAGE 3
118 1 else
119 1 {
120 2 OLT8=1;
121 2 XBYTE[0x1000] = outputByte2;
122 2 }
123 1 }
124
125 /*
126 void OutCardLamp(BOOL OpenClose) //出卡处灯 亮灭
127 {
128 if (OpenClose==OPEN)
129 {
130 OLTA=0;
131 XBYTE[0x1000] = outputByte2;
132 }//低电平控制门开
133 else
134 {
135 OLTA=1;
136 XBYTE[0x1000] = outputByte2;
137 }
138 }
139 void MaintainLamp(BOOL OpenClose) //维修灯
140 {
141 OLTE = OpenClose;
142 OLTF = 0;
143 XBYTE[0x1000] = outputByte2;
144 }*/
145 /*********************开关到位情况 0--6****************XBYTE[0x0000]**************************/
146 //GDG10 //0 硬币进口处 开关情况
147 BOOL isInCoinDoor() //// 1门关 //0 门开 //1门完全开
148 {
149 1 inputByte1 = XBYTE[0x0000];
150 1
151 1 if( GDG10 == 1)
152 1 {
153 2 delay_1ms(1);
154 2 inputByte1 = XBYTE[0x0000];
155 2 if( GDG10 == 1) //延时后 还是原来情况
156 2 {
157 3 CoinDoor = 1; //接受新情况
158 3 }
159 2 }
160 1 if( GDG10 == 0)
161 1 {
162 2 delay_1ms(1);
163 2 inputByte1 = XBYTE[0x0000];
164 2 if( GDG10 == 0) //延时后 还是原来情况
165 2 {
166 3 CoinDoor = 0; //接受新情况
167 3 }
168 2 }
169 1 return CoinDoor;
170 1 }
171
172 /******************************************************************/
173 //GDG14 //1 硬币机钱箱是否到位
174 BOOL isCoinBox() // 有币 出高电平
175 {
176 1 inputByte1 = XBYTE[0x0000];
177 1
178 1 if( GDG14 == 1) //有币
179 1 {
C51 COMPILER V7.20 DRIVER 10/13/2008 13:13:44 PAGE 4
180 2 //delay_1ms(1);
181 2 inputByte1 = XBYTE[0x0000];
182 2 if( GDG14 == 1) //延时后 还是原来情况
183 2 {
184 3 CoinBox= 1; //接受新情况
185 3 }
186 2 }
187 1 else//( GDG14 == 0)
188 1 {
189 2 //delay_1ms(1);
190 2 inputByte1 = XBYTE[0x0000];
191 2 if( GDG14 == 0) //延时后 还是原来情况
192 2 {
193 3 CoinBox= 0; //接受新情况
194 3 }
195 2 }
196 1 return CoinBox;
197 1 }
198 //GDG15 //2 纸币出币机到位否
199 BOOL isRmbOut() // 有币 出高电平
200 {
201 1 inputByte1 = XBYTE[0x0000];
202 1
203 1 if( GDG15 == 1) //有币
204 1 {
205 2 //delay_1ms(1);
206 2 inputByte1 = XBYTE[0x0000];
207 2 if( GDG15 == 1) //延时后 还是原来情况
208 2 {
209 3 RmbOut=1; //接受新情况
210 3 }
211 2 }
212 1 else//( GDG15 == 0)
213 1 {
214 2 //delay_1ms(1);
215 2 inputByte1 = XBYTE[0x0000];
216 2 if( GDG15 == 0) //延时后 还是原来情况
217 2 {
218 3 RmbOut=0; //接受新情况
219 3 }
220 2 }
221 1 return RmbOut;
222 1 }
223 //GDG16 //3 硬币机到位否
224 BOOL isCoiner() // 有币 出高电平
225 {
226 1 inputByte1 = XBYTE[0x0000];
227 1
228 1 if( GDG16 == 1) //有币
229 1 {
230 2 //delay_1ms(1);
231 2 inputByte1 = XBYTE[0x0000];
232 2 if( GDG16 == 1) //延时后 还是原来情况
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -