?? kernel.lst
字號:
118 1 //enable device and reset the device address
119 1 D14_Cntrl_Reg.D14_MODE.BITS.SOFTCT = 1;
120 1
121 1 do
122 1 {
123 2 //USB routine
124 2 USB_Debug_Mode();
125 2
126 2 //Generic DMA routine
127 2 DMA_Debug_Mode();
128 2 if( USB_Int_Flag.BITS.EP1RX==1) //接受數據并顯示
129 2 {
130 3 read_endpoint(2,8,Endpt_FIFO);
131 3 DelayNS(1);
132 3 ZLG7290_SendBuf(Endpt_FIFO,8);
133 3 USB_Int_Flag.BITS.EP1RX=0;
134 3 }
135 2 if(timecouter==30 ) //定時讀取鍵值,并發送時間(82ms,12MHz,6CLOCK)
136 2 {
137 3 DelayNS(1);
138 3 Endpt_FIFO[0]=ZLG7290_GetKey();
139 3 if(Endpt_FIFO[0]==0) Endpt_FIFO[0]=0xff;
140 3 else Endpt_FIFO[0]--;
141 3 DelayNS(1);
142 3 IRcvStr(0xa2,0x02,&Endpt_FIFO[1],0x3);
143 3 Endpt_FIFO[3]=Endpt_FIFO[3]&0x3f;
144 3 write_endpoint(3,4,Endpt_FIFO);
145 3 timecouter=20;
146 3 }
147 2 }
148 1 while(1);
149 1 }
150
151 /*********************************************************************************************************
152 ** 函數名稱: DelayNS
153 ** 功能描述: 長軟件延時
154 ** 輸 入: no : 延時參數,值越大時延時越久
155 **
156 ** 輸 出: 0 : OK;
157 ** 1 : FAIL;
158 ** 全局變量: 無
159 ** 調用模塊: 無
160 **
161 ** 作 者: 葉皓賁
162 ** 日 期: 2003-3-4
163 **-------------------------------------------------------------------------------------------------------
164 ** 修改人:
165 ** 日 期:
166 **------------------------------------------------------------------------------------------------------
167 ********************************************************************************************************/
168 uchar DelayNS(uchar no)
169 {
170 1 uchar i,j; //延時參數
171 1
172 1 for(; no>0; no--)
173 1 {
174 2 for(i=0; i<100; i++)
175 2 for(j=0; j<100; j++);
176 2 }
177 1 return 0;
178 1 }
179
C51 COMPILER V7.06 KERNEL 07/02/2003 09:29:11 PAGE 4
180 //***********************************************************************
181 //* *
182 //* Routine : Start_mSEC_Timer(Delay) *
183 //* Input : Delay in milli second *
184 //* Output : Start timer operation *
185 //* Function : To start the timeout operation based on the delay i/p *
186 //* *
187 //***********************************************************************
188
189 void Start_mSEC_Timer(Data)
190 {
191 1
192 1
193 1 do
194 1 {
195 2
196 2 //calculate timer value
197 2 Temp = Timer.mSEC_Scale;
198 2 Temp = 0xffff - Temp;
199 2
200 2 ET0 = 1;
201 2
202 2 //calculate timer value
203 2 //initialize timer 0 counter
204 2 Temp >>= 8;
205 2 TH0 = (UC) Temp;
206 2 Temp = Timer.mSEC_Scale;
207 2 Temp = 0xffff - Temp;
208 2 TL0 = (UC) Temp;
209 2
210 2 //start timer count
211 2 TR0 = 1;
212 2
213 2 Kernel_Flag.BITS.Timer_Expired = 0;
214 2 while(!Kernel_Flag.BITS.Timer_Expired);
215 2 Kernel_Flag.BITS.Timer_Expired = 0;
216 2
217 2
218 2 //stop timer
219 2 TR0 = 0;
220 2 ET0 = 0;
221 2
222 2 Data--;
223 2 }
224 1 while(Data != 0);
225 1 }
226
227
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 324 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 5
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -