📄 dvcpu.lst
字号:
C51 COMPILER V7.50 DVCPU 01/17/2007 12:46:53 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DVCPU
OBJECT MODULE PLACED IN .\output\dvCPU.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\code\dvCPU.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\dvCPU.lst) OBJECT(.
-\output\dvCPU.obj)
line level source
1 #include "extData.h"
2 #include "DataType.h"
3 #include "syscfg.h"
4 #include "reg51.h"
5 #include "dvcpu.h"
6 #include "mtv415.h"
7 #include "ram.h"
8 #include "dvIIC.h"
9 #include "fpga.h"
10 #include "utility.h"
11 #include "string.h"
12 #include"define.h"
13 #include "intrins.h"
14
15 //chip configuration
16 BYTE xdata PAMOD50 _at_ 0xF50;
17 BYTE xdata PAMOD51 _at_ 0xF51;
18 BYTE xdata PAMOD52 _at_ 0xF52;
19 BYTE xdata PAMOD53 _at_ 0xF53;
20 BYTE xdata PAMOD54 _at_ 0xF54;
21 BYTE xdata PAMOD55 _at_ 0xF55;
22 BYTE xdata OPTION56 _at_ 0xF56;
23 BYTE xdata PADMOD57 _at_ 0xF57;
24 BYTE xdata PADMOD5D _at_ 0xF5D;
25
26 //IO port
27 BYTE xdata P6B0 _at_ 0xF38;
28 BYTE xdata P6B1 _at_ 0xF39;
29 BYTE xdata P6B2 _at_ 0xF3A;
30 BYTE xdata P6B3 _at_ 0xF3B;
31 BYTE xdata P6B4 _at_ 0xF3C;
32 BYTE xdata P6B5 _at_ 0xF3D;
33 BYTE xdata P6B6 _at_ 0xF3E;
34 BYTE xdata P6B7 _at_ 0xF3F;
35 BYTE xdata P4B0 _at_ 0xF58;
36 BYTE xdata P4B1 _at_ 0xF59;
37 BYTE xdata P4B2 _at_ 0xF5A;
38 BYTE xdata P4B3 _at_ 0xF5B;
39 BYTE xdata PORT6 _at_ 0xF81;
40 BYTE xdata PORT4 _at_ 0xF82;
41
42 //PWM DAC
43 BYTE xdata DA0 _at_ 0xF20;
44 BYTE xdata DA1 _at_ 0xF21;
45 BYTE xdata DA2 _at_ 0xF22;
46 BYTE xdata DA3 _at_ 0xF23;
47 BYTE xdata DA2FC _at_ 0xF2D;
48 BYTE xdata DA3FC _at_ 0xF2E;
49 BYTE xdata PFC _at_ 0xF2F;
50
51
52 //IIC REGISTER
53 BYTE xdata IICCTR _at_ 0xF00;
54 BYTE xdata IICSTUS1 _at_ 0xF01;
C51 COMPILER V7.50 DVCPU 01/17/2007 12:46:53 PAGE 2
55 BYTE xdata INTFLG1 _at_ 0xF03;
56 BYTE xdata INTEN1 _at_ 0xF04;
57 BYTE xdata MBUF _at_ 0xF05;
58 BYTE xdata DDCCTRA1 _at_ 0xF06;
59 BYTE xdata SLVAADR1 _at_ 0xF07;
60 BYTE xdata RCBBUF1 _at_ 0xF08;
61 //BYTE xdata TXBBUF1 _at_ 0xF08;
62 BYTE xdata SLVBADR1 _at_ 0xF09;
63 BYTE xdata CTRSLVB1 _at_ 0xF0A;
64 BYTE xdata DDCCTRA2 _at_ 0xF86;
65 BYTE xdata SLVAADR2 _at_ 0xF87;
66 BYTE xdata IICSTUS2 _at_ 0xF91;
67 BYTE xdata INTFLG2 _at_ 0xF93;
68 BYTE xdata INTEN2 _at_ 0xF94;
69 BYTE xdata RCBBUF2 _at_ 0xF98;
70 //BYTE xdata TXBBUF2 _at_ 0xF98;
71 BYTE xdata SLVBADR2 _at_ 0xF99;
72 BYTE xdata CTRSLVB2 _at_ 0xF9A;
73
74 // A/D CONVERTER
75
76 BYTE xdata ADC _at_ 0xF10;
77 //BYTE xdata ADC0 _at_ 0xF10;
78 BYTE xdata ADC1 _at_ 0xF11;
79 BYTE xdata ADC2 _at_ 0xF12;
80 BYTE xdata ADC3 _at_ 0xF13;
81
82 //ISP
83 BYTE xdata ISPSLV _at_ 0xF0B;
84 BYTE xdata ISPEN _at_ 0xF0C;
85 BYTE xdata ISPCMP1 _at_ 0xF0D;
86 BYTE xdata ISPCMP2 _at_ 0xF0E;
87 BYTE xdata ISPCMP3 _at_ 0xF0F;
88
89 //HIGH DRIVRING PADS
90 BYTE xdata DRCTRL _at_ 0xF5C;
91
92 //ETIMER
93 BYTE xdata ETCTR _at_ 0xF88;
94 BYTE xdata ETMOD _at_ 0xF89;
95 BYTE xdata THET _at_ 0xF8A;
96 BYTE xdata TLET _at_ 0xF8B;
97 BYTE xdata RCAPETH _at_ 0xF8C;
98 BYTE xdata RCAPETL _at_ 0xF8D;
99 BYTE xdata EINT1PEN _at_ 0xF8E;
100
101 //WatchDog Timer
102 BYTE xdata WDT _at_ 0xF18;
103
104 //INT3&INT4
105 BYTE xdata INTFLG _at_ 0xF48;
106 BYTE xdata INTEN _at_ 0xF49 ;
107
108
109 #define ADC0 ADC
110 #define TXBBUF1 RCBBUF1
111 #define TXBBUF2 RCBBUF2
112
113 #define EnableInterrupt() { EA = 1;}
114 #define DisableInterrupt() { EA = 0;}
115
116 #define EOF -1
C51 COMPILER V7.50 DVCPU 01/17/2007 12:46:53 PAGE 3
117
118
119 void initSerialPort(void)
120 {
121 1 ETCTR = 0x30;//(Timer2 used to baut rate generator)
122 1 ETMOD = 0x01;
123 1 THET = 0xFF;
124 1 TLET = 0xB2;
125 1 RCAPETH = 0xFF; // the baut rate is 2400
126 1 RCAPETL = 0xB2;
127 1 EINT1PEN = 0x00;
128 1 SCON = 0x50; //serial port work mode 1,enable serial port receive.
129 1 ETCTR|= 1<<2; // TR2 = 1
130 1 }
131
132
133 void initTimer0(void)
134 {
135 1 // Set Time Base=2ms
136 1 TH0=(65536-2000)/256;
137 1 TL0=(65536-2000)%256;
138 1 }
139
140 void initIIC(void)
141 {
142 1 IICCTR = 0x00;
143 1 INTFLG1 = 0x00;
144 1 INTEN1 = 0x00;
145 1 }
146
147 void initWatchDog(void)
148 {
149 1 WDT = 0x00; //disable the watchdog
150 1 }
151
152 void dvCPUInit(void)
153 {
154 1
155 1 DisableInterrupt();
156 1 PAMOD50 = 0x00;
157 1 PAMOD51 = 0x00;
158 1 PAMOD52 = 0x44;
159 1 PAMOD54 = 0x00;
160 1 PAMOD55 = 0x00;//0x81;
161 1 OPTION56 = 0x00;
162 1 PADMOD57 = 0x00;
163 1 PADMOD5D = 0xFF;
164 1 DRCTRL = 0x00;
165 1
166 1 TMOD = 0x01; //Timer0 16bit timer.
167 1 initSerialPort();
168 1 initTimer0();
169 1 initIIC();
170 1 initWatchDog();
171 1 //enable timer0 run
172 1 TR0 = 1;
173 1 //enable timer0 interrupt
174 1 ET0 = 1;
175 1 //enable extern interrupt 0
176 1 EX0 = 0;
177 1 //WDT =0x84;
178 1 //enable all interrupt
C51 COMPILER V7.50 DVCPU 01/17/2007 12:46:53 PAGE 4
179 1 EnableInterrupt();
180 1 }
181
182
183
184 void Timer0(void) interrupt 1
185 {
186 1 TR0 = 0;
187 1 initTimer0();
188 1 if(m_Timer != 0)
189 1 m_Timer--;
190 1 IICTimerProcess();
191 1 CalibrationTimerProcess();
192 1
193 1 TR0 = 1;
194 1 }
195 #ifdef SW
void SendChar(BYTE ch )
{
SBUF = ch;
while(1)
{
if(TI)
{
TI =0;
break;
}
}
// SerialPort =ch;
}
#endif
213
214
215
216 char putchar(char ch)
217 {
218 1
219 1 unsigned char cOutput[2];
220 1 _nop_ ();
221 1 _nop_ ();
222 1 _nop_ ();
223 1 _nop_ ();
224 1 if ('\n' == ch) // expand "\n" to CR LF
225 1 {
226 2 cOutput[0] = 0x0d;
227 2 cOutput[1] = ch;
228 2 #ifdef SW
SendChar(cOutput[0]);
SendChar(cOutput[1]);
#endif
232 2 #ifdef HW
233 2 SerialPort = cOutput[0];
234 2 _nop_ ();
235 2 _nop_ ();
236 2 _nop_ ();
237 2 _nop_ ();
238 2 SerialPort= cOutput[1];
239 2 #endif
240 2 }
C51 COMPILER V7.50 DVCPU 01/17/2007 12:46:53 PAGE 5
241 1
242 1 else
243 1
244 1 {
245 2 #ifdef HW
246 2 SerialPort=ch;
247 2 #endif
248 2 #ifdef SW
SendChar(ch);
#endif
251 2
252 2 }
253 1
254 1
255 1
256 1 return ch;
257 1 }
258
259
260
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 263 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -