📄 incoin.lst
字号:
C51 COMPILER V7.20 INCOIN 05/19/2008 16:16:08 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE INCOIN
OBJECT MODULE PLACED IN .\InCoin.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\winbond RFID\WINBOND and RFID\InCoin.c BROWSE DEBUG OBJECTEXTEND PRIN
-T(.\InCoin.lst) OBJECT(.\InCoin.obj)
line level source
1 ///////////////////////////////////////////////////////////////////
2 // File: InCoin.C 程序文件
3 //
4 // 主要功能: 进币数计量
5 //
6 // 编制:
7 //
8 // 时间: 2006年2月
9 //
10 // 修改:
11 //
12 // 时间:
13 //
14 ///////////////////////////////////////////////////////////////////
15
16 #include "Main.h"
17 #include "AT89X51.h"
18 #include <intrins.h>
19 #include <absacc.h>
20
21
22 #define BAD 1 //device 坏标志
23 #define ACCEPT_A 1 //接受A币
24 #define ACCEPT_B 1 //接受B币
25 #define REJECT_A 0 //接受A币
26 #define REJECT_B 0 //接受B币
27
28 extern BYTE bdata outputByte1; //XBYTE[0x0000];
29 extern bit OLT0 ; //= outputByte1 ^ 0; //控制进币器0.5币
30 extern bit OLT1 ;//= outputByte1 ^ 1; //控制进币器1.0币
31 extern bit OLT2 ;//= outputByte1 ^ 2; //控制进币器C币
32 extern bit OLT3 ;//= outputByte1 ^ 3; //控制进币器D币/进币通道
33 extern bit OLT4 ;//= outputByte1 ^ 4; //控制进币器E币/进币通道
34 extern bit OLT5 ;//= outputByte1 ^ 5; //控制进币器F币
35 extern bit OLT6 ;//= outputByte1 ^ 6; //控制进币器 coin output commom /pin3
36 extern bit OLT7 ;//= outputByte1 ^ 7; //控制进币器模式 =1=平行模式
37
38 BYTE bdata inputByte2; //XBYTE[0x1000];
39 sbit GDG20 = inputByte2 ^ 0; //0.5币进币数传感器
40 sbit GDG21 = inputByte2 ^ 1; //1.0币进币数传感器
41 sbit GDG22 = inputByte2 ^ 2; //C币进币数传感器
42 sbit GDG23 = inputByte2 ^ 3; //D币进币数传感器
43 sbit GDG24 = inputByte2 ^ 4; //E币进币数传感器
44 sbit GDG25 = inputByte2 ^ 5; //F币进币数传感器
45
46 sbit GDG26 = inputByte2 ^ 6; //0.5币钱箱缺币传感器
47 sbit GDG27 = inputByte2 ^ 7; //1.0币钱箱缺币传感器
48
49 extern bit timerHap; //定时器到时
50
51 //初始化
52 void setCoinInDev(BOOL CoinA,BOOL CoinB,BOOL Signal)//数据线输出0 经过74hc540非门后 0=>1
53 {
54 1
C51 COMPILER V7.20 INCOIN 05/19/2008 16:16:08 PAGE 2
55 1 OLT6=Signal;//coin o/p common ??????
56 1 OLT7=Signal;//1:平行模式
57 1
58 1 OLT0=CoinA; //CoinA=1:应许A币 0.5
59 1 OLT1=CoinB; //CoinB=1:应许B币 1.0
60 1 OLT2=Signal;//禁止C币
61 1 OLT3=Signal;//禁止D币
62 1 OLT4=Signal;//禁止E币
63 1 OLT5=Signal;//禁止F币
64 1
65 1 XBYTE[0x0000]=outputByte1;
66 1 }
67 BYTE INPUT1()//for test
68 {
69 1 inputByte2 = XBYTE[0x1000];
70 1 inputByte2= inputByte2 & 0x3F;
71 1 return inputByte2;
72 1 }
73
74 uchar appearCoin(BOOL CoinA,BOOL CoinB,BOOL Signal)
75 {
76 1 uchar temp;
77 1 setCoinInDev(CoinA,CoinB,Signal);
78 1 temp=INPUT1();
79 1 setTimer(5000);
80 1 while(temp==INPUT1())
81 1 {
82 2 if(_testbit_(timerHap))
83 2 return 0x01;
84 2 }
85 1 temp=INPUT1();
86 1 return (temp);
87 1 }
88
89 //测1周成功否
90 BOOL testOneCycle(bit OptiSign)
91 {
92 1
93 1 if(OptiSign == 0)
94 1 {
95 2 setTimer(200);
96 2 while(!OptiSign)//1?
97 2 {
98 3 if(_testbit_(timerHap))
99 3 {return FALSE;}
100 3 }
101 2 setTimer(200);
102 2 while(OptiSign)//0?
103 2 {
104 3 if(_testbit_(timerHap))
105 3 {return FALSE;}
106 3 }
107 2 return TRUE;
108 2 }
109 1
110 1 else //(OptiSign == 1)?
111 1 {
112 2 setTimer(200);
113 2 while(OptiSign)//0?
114 2 {
115 3 if(_testbit_(timerHap))
116 3 {return FALSE;}
C51 COMPILER V7.20 INCOIN 05/19/2008 16:16:08 PAGE 3
117 3 }
118 2 setTimer(200);
119 2 while(!OptiSign)//1?
120 2 {
121 3 if(_testbit_(timerHap))
122 3 {return FALSE;}
123 3 }
124 2 return TRUE;
125 2 }
126 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 174 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 1
IDATA SIZE = ---- ----
BIT SIZE = ---- 7
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -