-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathf300_init.LST
185 lines (175 loc) · 6.97 KB
/
f300_init.LST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
C51 COMPILER V9.55 F300_INIT 08/28/2019 23:08:51 PAGE 1
C51 COMPILER V9.55, COMPILATION OF MODULE F300_INIT
OBJECT MODULE PLACED IN f300_init.OBJ
COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE f300_init.c OPTIMIZE(8,SIZE) BROWSE DEBUG OBJECTEXTEND
line level source
1 /////////////////////////////////////
2 // Generated Initialization File //
3 /////////////////////////////////////
4
5 #include "compiler_defs.h"
6 #include "c8051F520.h"
7
8 // Peripheral specific initialization functions,
9 // Called from the Init_Device() function
10 void Reset_Sources_Init()
11 {
12 1 int i = 0;
13 1 VDDMON = 0xA0;
14 1 for (i = 0; i < 20; i++); // Wait 5us for initialization
15 1 RSTSRC = 0x02;
16 1 }
17
18 void PCA_Init()
19 {
20 1 PCA0CN = 0x40;
21 1 PCA0MD &= ~0x40;
22 1 PCA0MD = 0x02;
23 1 PCA0CPM0 = 0x21;
24 1 PCA0CPM1 = 0x42;
25 1 PCA0CPM2 = 0x42;
26 1 PCA0CPH1 = 0x80;
27 1 PCA0CPH2 = 0x80;
28 1 }
29
30 void Timer_Init()
31 {
32 1 TCON = 0x40;
33 1 TMOD = 0x22;
34 1 CKCON = 0x05;
35 1 TL0 = 0x80;
36 1 TH0 = 0x80;
37 1 TMR2CN = 0x04;
38 1 TMR2RLL = 0x06;
39 1 TMR2RLH = 0xF8;
40 1 TMR2L = 0x06;
41 1 TMR2H = 0xF8;
42 1
43 1 /* TCON = 0x40;
44 1 TMOD = 0x20;
45 1 CKCON = 0x01;
46 1 TMR2CN = 0x04;
47 1 TMR2RLL = 0x06;
48 1 TMR2RLH = 0xF8;
49 1 TMR2L = 0x06;
50 1 TMR2H = 0xF8;*/
51 1 }
52
53 void SPI_Init()
54 {
55 1 SPI0CFG = 0x40;
C51 COMPILER V9.55 F300_INIT 08/28/2019 23:08:51 PAGE 2
56 1 SPI0CN = 0x00;
57 1 SPI0CKR = 0x79;
58 1 }
59
60 void Comparator_Init()
61 {
62 1 int i = 0;
63 1 CPT0CN = 0x85;
64 1 for (i = 0; i < 35; i++); // Wait 10us for initialization
65 1 CPT0CN &= ~0x30;
66 1 CPT0MX = 0x75;
67 1 CPT0MD = 0x81;
68 1 }
69
70 void Voltage_Reference_Init()
71 {
72 1 REF0CN = 0x01;
73 1 }
74
75 void Port_IO_Init()
76 {
77 1 // P0.0 - Skipped, Open-Drain, Analog
78 1 // P0.1 - CP0A (Cmp0), Push-Pull, Digital
79 1 // P0.2 - CEX0 (PCA), Push-Pull, Digital
80 1 // P0.3 - CEX1 (PCA), Push-Pull, Digital
81 1 // P0.4 - Skipped, Open-Drain, Digital
82 1 // P0.5 - Skipped, Open-Drain, Digital
83 1 // P0.6 - Skipped, Open-Drain, Digital
84 1 // P0.7 - CEX2 (PCA), Push-Pull, Digital
85 1
86 1 // P1.0 - Unassigned, Open-Drain, Digital
87 1 // P1.1 - Unassigned, Open-Drain, Digital
88 1 // P1.2 - Skipped, Open-Drain, Analog
89 1 // P1.3 - Unassigned, Push-Pull, Digital
90 1 // P1.4 - Unassigned, Push-Pull, Digital
91 1 // P1.5 - Unassigned, Open-Drain, Digital
92 1 // P1.6 - Unassigned, Push-Pull, Digital
93 1 // P1.7 - Skipped, Open-Drain, Analog
94 1
95 1 P0MDIN = 0xFE;
96 1 P1MDIN = 0x7B;
97 1 P0MDOUT = 0x8E;
98 1 P1MDOUT = 0x58;
99 1 P0SKIP = 0x71;
100 1 P1SKIP = 0x84;
101 1 XBR0 = 0x20;
102 1 XBR1 = 0x43;
103 1 /*
104 1 // P0.0 - Skipped, Open-Drain, Analog
105 1 // P0.1 - CP0A (Cmp0), Push-Pull, Digital
106 1 // P0.2 - CEX0 (PCA), Push-Pull, Digital
107 1 // P0.3 - CEX1 (PCA), Push-Pull, Digital
108 1 // P0.4 - Skipped, Open-Drain, Digital
109 1 // P0.5 - Skipped, Push-Pull, Digital
110 1 // P0.6 - Skipped, Open-Drain, Digital
111 1 // P0.7 - CEX2 (PCA), Push-Pull, Digital
112 1
113 1 // P1.0 - Unassigned, Push-Pull, Digital
114 1 // P1.1 - Unassigned, Open-Drain, Digital
115 1 // P1.2 - Skipped, Open-Drain, Analog
116 1 // P1.3 - Unassigned, Push-Pull, Digital
117 1 // P1.4 - Unassigned, Push-Pull, Digital
C51 COMPILER V9.55 F300_INIT 08/28/2019 23:08:51 PAGE 3
118 1 // P1.5 - Unassigned, Open-Drain, Digital
119 1 // P1.6 - Unassigned, Push-Pull, Digital
120 1 // P1.7 - Skipped, Open-Drain, Analog
121 1
122 1 P0MDIN = 0xFE;
123 1 P1MDIN = 0x7B;
124 1 P0MDOUT = 0xAE;
125 1 P1MDOUT = 0x59;
126 1 P0SKIP = 0x71;
127 1 P1SKIP = 0x84;
128 1 XBR0 = 0x20;
129 1 XBR1 = 0x43;
130 1 */
131 1 }
132
133 void Oscillator_Init()
134 {
135 1 OSCICN = 0xC7;
136 1 }
137
138 void Interrupts_Init()
139 {
140 1 EIE1 = 0x04;
141 1 EIP1 = 0x04;
142 1 IE = 0x2A;
143 1 }
144
145 // Initialization function for device,
146 // Call Init_Device() from your main program
147 void Init_Device(void)
148 {
149 1 Reset_Sources_Init();
150 1 PCA_Init();
151 1 Timer_Init();
152 1 SPI_Init();
153 1 Comparator_Init();
154 1 Voltage_Reference_Init();
155 1 Port_IO_Init();
156 1 Oscillator_Init();
157 1 Interrupts_Init();
158 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 184 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)