📄 xxgd12ci.lst
字号:
C51 COMPILER V7.02b XXGD12CI 03/17/2005 23:11:51 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE XXGD12CI
OBJECT MODULE PLACED IN J:\D12\FW\XXGD12CI.OBJ
COMPILER INVOKED BY: C:\keil\c51\bin\C51.EXE J:\D12\FW\XXGD12CI.C DB SB OE
stmt level source
1 #include "xxgd12ci.h"
2 #include "xxgmain.h"
3 #include "xxghal.h"
4
5 extern EPPFLAGS bEPPflags;
6
7 //---------------------------------
8 void outportcmd(unsigned char value)
9 {
10 1
11 1 // unsigned char xdata *ext_address;
12 1 // ext_address=D12_COMMAND;
13 1 // *ext_address = value; // write cycle
14 1 // *((INT8 xdata *)D12_command) = val;
15 1 //*/
16 1 //unsigned char xdata *exAddress;
17 1 // exAddress = nPort;
18 1 // *exAddress = nVal;
19 1
20 1 *((unsigned char xdata *)D12_COMMAND)=value;
21 1 }
22 void outportdata(unsigned char value)
23 {
24 1
25 1 // unsigned char xdata *ext_address;
26 1 // ext_address=D12_DATA;
27 1 // *ext_address = value;
28 1 *((unsigned char xdata *)D12_DATA)=value;
29 1 }
30
31 unsigned char inportb(void)
32 {
33 1
34 1 // unsigned char c;
35 1 // unsigned char xdata *ext_address;
36 1 // ext_address=(D12_DATA&0xff00);
37 1 // c = *ext_address ; // read cycle
38 1 // return c;
39 1 //return *((INT8 xdata *)D12_data);
40 1 //*/
41 1
42 1 // unsigned char xdata *ext_address;
43 1 // ext_address=D12_DATA;
44 1 // *ext_address = value;
45 1 return *((unsigned xdata *)D12_DATA);
46 1 }
47 //--------------------------
48 void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
49 {
50 1 if(bEPPflags.bits.in_isr == 0)
51 1 DISABLE;
52 1
53 1 outportcmd(0xD0);
54 1 if(bEnable)
55 1 bAddress |= 0x80;
C51 COMPILER V7.02b XXGD12CI 03/17/2005 23:11:51 PAGE 2
56 1 outportdata(bAddress);
57 1
58 1 if(bEPPflags.bits.in_isr == 0)
59 1 ENABLE;
60 1 }
61
62 void D12_SetEndpointEnable(unsigned char bEnable)
63 {
64 1 if(bEPPflags.bits.in_isr == 0)
65 1 DISABLE;
66 1
67 1 outportcmd(0xD8);
68 1 if(bEnable)
69 1 outportdata(1);
70 1 else
71 1 outportdata(0);
72 1
73 1 if(bEPPflags.bits.in_isr == 0)
74 1 ENABLE;
75 1 }
76
77 void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv)
78 {
79 1 if(bEPPflags.bits.in_isr == 0)
80 1 DISABLE;
81 1 outportcmd(0xF3);
82 1 outportdata(bConfig);
83 1 outportdata(bClkDiv);
84 1 if(bEPPflags.bits.in_isr == 0)
85 1 ENABLE;
86 1
87 1 }
88
89 void D12_SetDMA(unsigned char bMode)
90 {
91 1
92 1 if(bEPPflags.bits.in_isr == 0)
93 1 DISABLE;
94 1 outportcmd(0xFB);
95 1 outportdata(bMode);
96 1 if(bEPPflags.bits.in_isr == 0)
97 1 ENABLE;
98 1
99 1 }
100
101 //unsigned char D12_GetDMA(void)
102 //{
103 // outportcmd(0xFB);
104 // return(inportb());
105 //}
106 /*
107 unsigned char D12_ReadEndpointStatus(unsigned char bEndp)
108 {
109 unsigned char c;
110
111 if(bEPPflags.bits.in_isr == 0)
112 DISABLE;
113
114 outportcmd(0x80 + bEndp);
115 c = inportb();
116
117 if(bEPPflags.bits.in_isr == 0)
C51 COMPILER V7.02b XXGD12CI 03/17/2005 23:11:51 PAGE 3
118 ENABLE;
119
120 return c;
121 }
122 */
123 void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled)
124 {
125 1 if(bEPPflags.bits.in_isr == 0)
126 1 DISABLE;
127 1
128 1 outportcmd(0x40 + bEndp);
129 1 outportdata(bStalled);
130 1
131 1 if(bEPPflags.bits.in_isr == 0)
132 1 ENABLE;
133 1 }
134
135
136
137 //void D12_SendResume(void)
138 //{
139 // outportcmd(0xF6);
140 //}
141
142
143 unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
144 {
145 1 unsigned char i;
146 1
147 1 if(bEPPflags.bits.in_isr == 0)
148 1 DISABLE;
149 1 //---------------------
150 1 outportcmd(endp); //选择端点
151 1 inportb(); //读入满/空状态
152 1
153 1 outportcmd(0xF0); //写缓冲区命令
154 1 outportdata(0);
155 1 outportdata(len);
156 1
157 1 for(i=0; i<len; i++)
158 1 outportdata(*(buf+i));
159 1
160 1 outportcmd(0xFA); //驶购冲区有效
161 1
162 1 //--------------------------------
163 1 if(bEPPflags.bits.in_isr == 0)
164 1 ENABLE;
165 1
166 1 return len;
167 1 }
168 void D12_AcknowledgeEndpoint(unsigned char endp)
169 {
170 1 outportcmd( endp); //选择端点
171 1 outportcmd(0xF1); //应答设置
172 1 if(endp == 0)
173 1 outportcmd(0xF2); //缓冲区清零
174 1 }
175 unsigned char D12_ReadInterruptRegister(void)
176 {
177 1 unsigned char b1;
178 1 unsigned int j;
179 1 j=0;
C51 COMPILER V7.02b XXGD12CI 03/17/2005 23:11:51 PAGE 4
180 1 //outportb(D12_COMMAND, 0xF4);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -