📄 kernel.lst
字号:
C51 COMPILER V7.01 KERNEL 02/09/2004 20:43:54 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE KERNEL
OBJECT MODULE PLACED IN kernel.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE kernel.c OPTIMIZE(2,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //***********************************************************************
2 // *
3 // P H I L I P S P R O P R I E T A R Y *
4 // *
5 // COPYRIGHT (c) 1999 BY PHILIPS SINGAPORE (APIC). *
6 // -- ALL RIGHTS RESERVED -- *
7 // *
8 // File Name : Kernel.c *
9 // Author : Albert Goh *
10 // Created : 3 March 2000 *
11 // *
12 //***********************************************************************
13 //***********************************************************************
14 // *
15 // Kernel.c is the control centre for this evaluation firmware. It will *
16 // control where should the firmware branch through via the selection *
17 // of the UART port of the 8051. if not via the UART, it will be from *
18 // the selection of the code defintion *
19 // *
20 //***********************************************************************
21 //***********************************************************************
22 // *
23 // Module History *
24 // ************** *
25 // *
26 // Date Version Author Changes *
27 // ==== ======= ====== ======= *
28 // 030300 0.1 Albert Created *
29 // *
30 // *
31 //***********************************************************************
32 //***********************************************************************
33 //* *
34 //* Include Files Definition *
35 //* *
36 //***********************************************************************
37
38 #include "standard.h"
39 #include "Kernel.h"
40 #include "D14.h"
41 #include "zlg7289.h"
42 #include "VIIC_C51.h"
43
44 //***********************************************************************
45 //* *
46 //* External routine Definition *
47 //* *
48 //***********************************************************************
49
50 extern Init_Main();
51 extern USB_Debug_Mode();
52 extern DMA_Debug_Mode();
53 extern USB_INT_FLAG USB_Int_Flag;
54 extern DMA_INT_FLAG DMA_Int_Flag;
55 extern USB_DEVICE USB_Device;
C51 COMPILER V7.01 KERNEL 02/09/2004 20:43:54 PAGE 2
56 extern D14_CNTRL_REG volatile xdata D14_Cntrl_Reg;
57 extern void Check_Busy(void);
58 extern void Init_D14(void);
59 extern void Init_Endpoint(void);
60 extern void Init_Device(void);
61 extern void Get_PIDVID(void);
62 //extern unsigned int read_endpoint(unsigned char endp,unsigned int len,unsigned char *buf);
63 //extern unsigned int write_endpoint(unsigned char endp,unsigned int len,unsigned char *buf);
64 extern UC VID[2],PID[2];
65 extern UC idata Endpt_FIFO[MAX_BUF];
66 extern Set_USB(void);
67 extern TIMER Timer;
68 extern UC timecouter;
69 //***********************************************************************
70 //* *
71 //* Prototype routine Definition *
72 //* *
73 //***********************************************************************
74
75 void Start_mSEC_Timer(Data);
76 void Start_SEC_Timer(Data);
77 uchar DelayNS(uchar no);
78
79 //***********************************************************************
80 //* *
81 //* Variable Definition *
82 //* *
83 //***********************************************************************
84
85 UI Temp;
86 KERNEL Kernel_Flag;
87 uchar code disp_buf[8]={0,0,0,0,0,0,0,0}; //LED初始化值
88 //UC key=0xff;
89 //***********************************************************************
90 //* *
91 //* Routine Definition *
92 //* *
93 //***********************************************************************
94
95 //***********************************************************************
96 //* *
97 //* Routine : Main *
98 //* Input : None *
99 //* Output : None *
100 //* Function : main loop *
101 //* *
102 //***********************************************************************
103
104 void Main(void)
105 {
106 1 Init_Main();
107 1 DelayNS(5);
108 1 ZLG7289_Rest(); // 复位ZLG7289
109 1 DelayNS(5);
110 1 //Initialization routine
111 1 //初始化子程序
112 1 ZLG7289_SendBuf(disp_buf);
113 1
114 1 //enable device and reset the device address
115 1 D14_Cntrl_Reg.D14_MODE.BITS.SOFTCT = 1;
116 1
117 1 do
C51 COMPILER V7.01 KERNEL 02/09/2004 20:43:54 PAGE 3
118 1 {
119 2 //USB routine
120 2 USB_Debug_Mode();
121 2
122 2 //Generic DMA routine
123 2 DMA_Debug_Mode();
124 2
125 2 }
126 1 while(1);
127 1 }
128
129 /*********************************************************************************************************
130 ** 函数名称: DelayNS
131 ** 功能描述: 长软件延时
132 ** 输 入: no : 延时参数,值越大时延时越久
133 **
134 ** 输 出: 0 : OK;
135 ** 1 : FAIL;
136 ** 全局变量: 无
137 ** 调用模块: 无
138 **
139 ** 作 者: 叶皓贲
140 ** 日 期: 2003-3-4
141 **-------------------------------------------------------------------------------------------------------
142 ** 修改人:
143 ** 日 期:
144 **------------------------------------------------------------------------------------------------------
145 ********************************************************************************************************/
146 uchar DelayNS(uchar no)
147 {
148 1 uchar i,j; //延时参数
149 1
150 1 for(; no>0; no--)
151 1 {
152 2 for(i=0; i<100; i++)
153 2 for(j=0; j<100; j++);
154 2 }
155 1 return 0;
156 1 }
157
158 //***********************************************************************
159 //* *
160 //* Routine : Start_mSEC_Timer(Delay) *
161 //* Input : Delay in milli second *
162 //* Output : Start timer operation *
163 //* Function : To start the timeout operation based on the delay i/p *
164 //* *
165 //***********************************************************************
166
167 void Start_mSEC_Timer(Data)
168 {
169 1
170 1
171 1 do
172 1 {
173 2
174 2 //calculate timer value
175 2 Temp = Timer.mSEC_Scale;
176 2 Temp = 0xffff - Temp;
177 2
178 2 ET0 = 1;
179 2
C51 COMPILER V7.01 KERNEL 02/09/2004 20:43:54 PAGE 4
180 2 //calculate timer value
181 2 //initialize timer 0 counter
182 2 Temp >>= 8;
183 2 TH0 = (UC) Temp;
184 2 Temp = Timer.mSEC_Scale;
185 2 Temp = 0xffff - Temp;
186 2 TL0 = (UC) Temp;
187 2
188 2 //start timer count
189 2 TR0 = 1;
190 2
191 2 Kernel_Flag.BITS.Timer_Expired = 0;
192 2 while(!Kernel_Flag.BITS.Timer_Expired);
193 2 Kernel_Flag.BITS.Timer_Expired = 0;
194 2
195 2
196 2 //stop timer
197 2 TR0 = 0;
198 2 ET0 = 0;
199 2
200 2 Data--;
201 2 }
202 1 while(Data != 0);
203 1 }
204
205
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 198 ----
CONSTANT SIZE = 8 ----
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 + -