?? 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 + -