📄 fw.lst
字号:
C51 COMPILER V7.02b FW 01/29/2007 09:36:08 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE FW
OBJECT MODULE PLACED IN .\Output\Fw.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Fw.c LARGE OPTIMIZE(SIZE) BROWSE INCDIR(.\Includes) DEBUG OBJECTEXTEND PRIN
-T(.\Output\Fw.lst) OBJECT(.\Output\Fw.obj)
stmt level source
1 /*
2 *********************************************************************************************************
3 * File: fw.C
4 * Contents:
5 *
6 * $Date: 04/06/06 Kimi v0.1
7 * 01/05/07 kevin v0.2
8 * 01/08/07 kevin v0.3
9 *
10 * Copyright (c) 2007 Fameg, Inc. All rights reserved
11 *********************************************************************************************************
12 */
13 #include "Include.h"
14 #include "fs7805regs.h"
15 #include "string.h"
16
17 /*
18 *********************************************************************************************************
19 * VARIABLE PROTOTYPES
20 *********************************************************************************************************
21 */
22
23 /*
24 *********************************************************************************************************
25 * FUNCTION PROTOTYPES
26 *********************************************************************************************************
27 */
28 const INT8U xdata WaveData[128] =
29 {
30 // Wave 0
31 /* LenBr */ 0x0a, 0x02, 0x12, 0x3f, 0x00, 0x00, 0x00, 0x00,
32 /* Opcode*/ 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00,
33 /* LFun */ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00,
34 /* Output*/ 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
35 // Wave 1
36 /* LenBr */ 0x04, 0x04, 0x05, 0x3f, 0x00, 0x00, 0x00, 0x00,
37 /* Opcode*/ 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00,
38 /* LFun */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39 /* Output*/ 0xfd, 0xfd, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
40 // Wave 2 udma write
41 /* LenBr */ 0x08, 0x01, 0x06, 0x1C, 0x25, 0x01, 0x02, 0x07,
42 /* Opcode*/ 0x01, 0x00, 0x02, 0x03, 0x01, 0x02, 0x26, 0x00,
43 /* LFun */ 0x09, 0x09, 0x12, 0xe9, 0x09, 0x2d, 0x36, 0x3F,
44 /* Output*/ 0xFF, 0xFB, 0xFA, 0xFA, 0xd8, 0xFB, 0xFB, 0xFF,
45 // Wave 3 udma read 13 E9:tc or arq 13 09 :arq 1A 2d: tc 1A CE :ff and arq
46 /* LenBr */ 0x08, 0x01, 0x1A, 0x01, 0x01, 0x02, 0x01, 0x07,
47 /* Opcode*/ 0x01, 0x00, 0x01, 0x00, 0x00, 0x26, 0x26, 0x00,
48 /* LFun */ 0x09, 0x00, 0xCE, 0x00, 0x2D, 0x00, 0x00, 0x3F,
49 /* Output*/ 0xFF, 0xFB, 0xF8, 0xFA, 0xFB, 0xFB, 0xFF, 0xFF,
50 };
51
52 /*
53 *********************************************************************************************************
54 * TDINIT
C51 COMPILER V7.02b FW 01/29/2007 09:36:08 PAGE 2
55 *
56 * Description: Task Dispatcher hooks function
57 *
58 * Arguments : none
59 *
60 * Returns : none
61 *********************************************************************************************************
62 */
63 void TdInit (void)
64 {
65 1 McuInit();
66 1 AbortAplif();
67 1 Timer0Init();
68 1 UsbInit();
69 1 EA = TRUE; // Enable All interrupt
70 1 }
71
72 void McuInit()
73 {
74 1 CKCON = 0x01;
75 1 SYS_CFG = 0x4B; // 60MHz, Output XFIFO_CLK, PM_AVBLE
76 1 WDTRST = 0x2D; // Stop WDT
77 1 MEMCON = 0x04; // 4K xdata
78 1 }
79
80 void Timer0Init()
81 {
82 1 TH0 = 0x3C; // 0x3CB0, CPU 60MHz, 10ms
83 1 TL0 = 0xB0;
84 1 TMOD = 0x21;
85 1 TCON = 0x50;
86 1 IP = 0x02;
87 1 IE = 0x82; // EA = 1
88 1 }
89
90 xdata UINT16 DelayTimer = 0;
91 /*
92 *********************************************************************************************************
93 * USBINIT
94 *
95 * Description: USB Initialization
96 *
97 * Arguments : none
98 *
99 * Returns : none
100 *********************************************************************************************************
101 */
102 void UsbInit (void)
103 {
104 1
105 1 Selfpwr = TRUE; // Enable self powered
106 1 Rwuen = FALSE; // Disable remote wake up
107 1
108 1 SW_RST = 0x07; // USB, SFI, APLIF SW Reset
109 1
110 1 // initialize endpoint
111 1 EPFIFOCFG = 0x11; // fifo a 512 pingpong fifo c 512 pingpong
112 1
113 1 EPACTRL = 0x1A; // EPA OUT
114 1 EPCCTRL = 0x2E; // EPC IN
115 1 EPACS = 0x01; // Enable EPA RX
116 1 EPCCS = 0x00; // Disable EPC TX
C51 COMPILER V7.02b FW 01/29/2007 09:36:08 PAGE 3
117 1
118 1 //EPCFIFOCS = 0xF0;
119 1 // End initialize endpoint
120 1
121 1 EP0RXCS = 0x01; // Enable EP0 RX
122 1
123 1 // initialize sfi register
124 1 SYSIO_CFG = 0x92; // pins for PLIF mode
125 1
126 1 SFI_EPCFG = 0x01; // Manual, 16-bit, Parallel mode, not swap
127 1 SFI_EPINTE = 0x05; // enable sfi interrupt
128 1 // End initialize sfi register
129 1
130 1 // initialize plif register
131 1 APLIFDM_CTL = 0x08; // Half-Duplex mode, State Output
132 1 /*
133 1 APLIFREADYCFG = 0x80; // INTRDY = 1
134 1 */
135 1 APLIFIOCFG = 0x00; // TRICTL = 0, CTL[5:0] is CMOS, Tri-state Data Bus
- when IDLE
136 1 APLIFIDLECTL = 0xff; // APLIF_CTL Output State in the Idle State
137 1
138 1 SFI_EPCINLENL = 0x00;
139 1 SFI_EPCDINLENH = 0x02;
140 1 //EPAPLIFSTOP = 0x00;
141 1
142 1 APLIFWAVESEL = 0x1B; // APLIF Waveform Selector
143 1
144 1
145 1 memcpy(WAVEDATA0, WaveData, 128); // Copy wave data
146 1
147 1 P3CFG = 0xFE; // Enable APLIFADR[7:0]/[15:8]
148 1 P3OE = 0xFE; // Address Output
149 1 P0CFG = 0xFF; // Enable APLIFADR[15:8]/[7:0]
150 1 P0OE = 0xFF; // Address Output
151 1
152 1 //APLIFARH = 0x00; // Address Low
153 1 //APLIFARL = 0x00; // Address High
154 1 // End initialize plif register
155 1
156 1 FLOWSTBEDGE = 0x03;
157 1 FLOWSTBHPERIOD = 0x02;
158 1 APLIFHOLDTIME = 0x01; // FLOWSTBHPERIOD=2
159 1 //APLIFHOLDTIME = 0x02; // FLOWSTBHPERIOD>=3
160 1 APLIFREADYCFG = 0x50; // use tc as the end
161 1 //fifo flag as the end
162 1 //EPAPLIFSTOP = 0x03;
163 1 EPAPLIFFLGSEL = 0x12; //select empty flag for the EP stop
164 1 setFeatures(0x03,0x45);
165 1 }
166
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 232 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 130 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V7.02b FW 01/29/2007 09:36:08 PAGE 4
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -