📄 cc6.cod
字号:
LX51 LINKER/LOCATER V4.00 BETA 08/31/2005 15:19:27 PAGE 1
ASSEMBLER CODE PACKING OF MODULE: CC6 (?C_STARTUP)
----- FUNCTION T2_vInit (BEGIN) -----
FILE: 'T2.C'
130: void T2_vInit(void)
131: {
132: // USER CODE BEGIN (T2_Init,2)
133:
134: // USER CODE END
135:
136: // -----------------------------------------------------------------------
137: // Operating Mode
138: // -----------------------------------------------------------------------
139:
140: /// 16-bit timer function with automatic reload when timer 2 overflows
141: /// Prescaler enabled - input clock = fPCLK/16
142: /// the timer 2 resolution is 0,766 祍
143: /// the timer 2 overflow is 50197,787 祍
144: /// timer 2 interrupt: enabled
145: /// timer 2 will be started
146:
147: // -----------------------------------------------------------------------
148: // Register Initialization
149: // -----------------------------------------------------------------------
150:
151: // the reset values of RC2H and RC2L are not changed
152: T2_T2MOD = 0x18; // load timer 2 mode register
000003 75C118 MOV T2_T2MOD,#018H
153:
154: ET2 = 1; // Enable interrupt
000006 D2AD SETB ET2
155:
156: // USER CODE BEGIN (T2_Init,3)
157:
158: // USER CODE END
159:
160: TR2 = 1; // start timer
000008 D2C2 SETB TR2
161:
162: } // End of function T2_vInit
00000A 22 RET
----- FUNCTION T2_vInit (END) -------
00000B 0200E6 LJMP 0E6H
00001B 02011D LJMP 011DH
----- FUNCTION _SSC_vSendData (BEGIN) -----
FILE: 'SSC.c'
228: void SSC_vSendData(ubyte Data)
229: {
;---- Variable 'Data' assigned to Register 'R7' ----
230: SSC_TBL = Data; // load transmit buffer register
231:
00001E 8FAC MOV SSC_TBL,R7
232: } // End of function SSC_vSendData
000020 22 RET
----- FUNCTION _SSC_vSendData (END) -------
00002B 02013A LJMP 013AH
00003B 020296 LJMP 0296H
----- FUNCTION T01_vInit (BEGIN) -----
LX51 LINKER/LOCATER V4.00 BETA 08/31/2005 15:19:27 PAGE 2
FILE: 'T01.C'
132: void T01_vInit(void)
133: {
134: // USER CODE BEGIN (T01_Init,2)
135:
136: // USER CODE END
137:
138: /// -----------------------------------------------------------------------
139: /// Timer 0
140: /// -----------------------------------------------------------------------
141: /// Mode 0: 8-bit timer (TH0) with a divide-by-32 prescaler (TL0)
142: /// the timer 0 overflow is 65,362 祍
143:
144:
145: /// -----------------------------------------------------------------------
146: /// Timer 1
147: /// -----------------------------------------------------------------------
148: /// Mode 0: 8-bit timer (TH1) with a divide-by-32 prescaler (TL1)
149: /// the timer 1 overflow is 65,362 祍
150:
151:
152: TMOD = 0x00;
00003E E4 CLR A
00003F F589 MOV TMOD,A
153:
154: TL0 = 0x00;
000041 F58A MOV TL0,A
155: TH0 = 0x00;
000043 F58C MOV TH0,A
156:
157: TL1 = 0x00;
000045 F58B MOV TL1,A
158: TH1 = 0x00;
000047 F58D MOV TH1,A
159:
160: /// Enable Timer 0 interrupt
161: ET0 = 1;
000049 D2A9 SETB ET0
162: /// Enable Timer 1 interrupt
163: ET1 = 1;
00004B D2AB SETB ET1
164:
165: // USER CODE BEGIN (T01_Init,3)
166:
167: // USER CODE END
168:
169: /// Start Timer 0
170: TR0 = 1;
00004D D28C SETB TR0
171: /// Start Timer 1
172: TR1 = 1;
00004F D28E SETB TR1
173: } // End of function T01_vInit
000051 22 RET
----- FUNCTION T01_vInit (END) -------
000053 0201F1 LJMP 01F1H
----- FUNCTION MAIN_vInit (BEGIN) -----
FILE: 'MAIN.C'
121: void MAIN_vInit(void)
122: {
123: // USER CODE BEGIN (MAIN_Init,2)
124:
125: // USER CODE END
LX51 LINKER/LOCATER V4.00 BETA 08/31/2005 15:19:27 PAGE 3
126:
127: /// -----------------------------------------------------------------------
128: /// Configuration of the System Clock:
129: /// -----------------------------------------------------------------------
130: /// - On Chip Osc is Selected
131: /// - PLL Mode, NDIV = 2
132: /// - input frequency is 9.4 MHz
133:
134:
135:
136: /// Initialization of module 'GPIO'
137: IO_vInit();
000056 12008E LCALL IO_vInit
138:
139: /// Initialization of module 'Timer 0/1'
140: T01_vInit();
000059 12003E LCALL T01_vInit
141:
142: /// Initialization of module 'Timer 2'
143: T2_vInit();
00005C 120003 LCALL T2_vInit
144:
145: /// Initialization of module 'Capture / Compare Unit 6 (CCU6)'
146: CC6_vInit();
00005F 120166 LCALL CC6_vInit
147:
148: SSC_vInit ();
000062 120262 LCALL SSC_vInit
149:
150: // Interrupt Priority
151:
152: IP = 0x00; // load Interrupt Priority Register
000065 E4 CLR A
000066 F5B8 MOV IP,A
153: IPH = 0x00; // load Interrupt Priority High Register
000068 F5B9 MOV IPH,A
154: IP1 = 0x00; // load Interrupt Priority 1 Register
00006A F5F8 MOV IP1,A
155: IPH1 = 0x00; // load Interrupt Priority 1 High Register
00006C F5F9 MOV IPH1,A
156:
157:
158: // USER CODE BEGIN (MAIN_Init,3)
159:
160: // USER CODE END
161:
162: // globally enable interrupts
163: EA = 1;
00006E D2AF SETB EA
164:
165: } // End of function MAIN_vInit
000070 22 RET
----- FUNCTION MAIN_vInit (END) -------
----- FUNCTION main (BEGIN) -----
FILE: 'MAIN.C'
189: void main(void)
190: {
191: // USER CODE BEGIN (MAIN_Main,2)
192: unsigned int toto;
193: // USER CODE END
194:
195: MAIN_vInit();
000071 120056 LCALL MAIN_vInit
LX51 LINKER/LOCATER V4.00 BETA 08/31/2005 15:19:27 PAGE 4
196:
197:
198: // USER CODE BEGIN (MAIN_Main,3)
199: P3_DATA = 0x00;
000074 E4 CLR A
000075 F5B0 MOV P3_DATA,A
000077 ?C0002?MAIN:
200: while (1) {
201: for (toto=0x8000; toto>0; toto--);
;---- Variable 'toto' assigned to Register 'R6/R7' ----
000077 7F00 MOV R7,#00H
000079 7E80 MOV R6,#080H
00007B ?C0004?MAIN:
00007B EF MOV A,R7
00007C 1F DEC R7
00007D 7001 JNZ ?C0008?MAIN
00007F 1E DEC R6
000080 ?C0008?MAIN:
000080 EF MOV A,R7
000081 4E ORL A,R6
000082 70F7 JNZ ?C0004?MAIN
000084 ?C0005?MAIN:
202: P3_DATA ^= 0x01;
000084 63B001 XRL P3_DATA,#01H
203: SSC_vSendData(P3_DATA);
000087 AFB0 MOV R7,P3_DATA
000089 12001E LCALL _SSC_vSendData
204: }
00008C 80E9 SJMP ?C0002?MAIN
----- FUNCTION main (END) -------
----- FUNCTION IO_vInit (BEGIN) -----
FILE: 'IO.C'
122: void IO_vInit(void)
123: {
124: // USER CODE BEGIN (IO_Init,2)
125:
126: // USER CODE END
127:
128: /// -----------------------------------------------------------------------
129: /// Configuration of Port P0:
130: /// -----------------------------------------------------------------------
131: /// - no pin of port P0 is used
132:
133: SFR_PAGE(_pp3, SST2); // switch to page 3
00008E 75B2A3 MOV PORT_PAGE,#0A3H
134: P0_OD = 0x00; // load open-drain register
000091 E4 CLR A
000092 F580 MOV P0_OD,A
135:
136: SFR_PAGE(_pp1, SST2); // switch to page 1
000094 75B2A1 MOV PORT_PAGE,#0A1H
137: P0_PUDSEL = 0xFF; // load pullup/pulldown select register
000097 7580FF MOV P0_PUDSEL,#0FFH
138: P0_PUDEN = 0xC4; // load pullup/pulldown enable register
00009A 7586C4 MOV P0_PUDEN,#0C4H
139:
140: SFR_PAGE(_pp2, SST2); // switch to page 2
00009D 75B2A2 MOV PORT_PAGE,#0A2H
141: P0_ALTSEL0 = 0x00; // load alternate output function select
0000A0 F580 MOV P0_ALTSEL0,A
142: // register 0
143: P0_ALTSEL1 = 0x00; // load alternate output function select
0000A2 F586 MOV P0_ALTSEL1,A
LX51 LINKER/LOCATER V4.00 BETA 08/31/2005 15:19:27 PAGE 5
144: // register 1
145:
146: SFR_PAGE(_pp0, SST2); // switch to page 0
0000A4 75B2A0 MOV PORT_PAGE,#0A0H
147: P0_DATA = 0x00; // load data output register
0000A7 F580 MOV P0_DATA,A
148: P0_DIR = 0x00; // load direction register
0000A9 F586 MOV P0_DIR,A
149:
150: /// -----------------------------------------------------------------------
151: /// Configuration of Port P1:
152: /// -----------------------------------------------------------------------
153: /// - no pin of port P1 is used
154:
155: SFR_PAGE(_pp3, SST2); // switch to page 3
0000AB 75B2A3 MOV PORT_PAGE,#0A3H
156: P1_OD = 0x00; // load open-drain register
0000AE F590 MOV P1_OD,A
157:
158: SFR_PAGE(_pp1, SST2); // switch to page 1
0000B0 75B2A1 MOV PORT_PAGE,#0A1H
159: P1_PUDSEL = 0xFF; // load pullup/pulldown select register
0000B3 7590FF MOV P1_PUDSEL,#0FFH
160: P1_PUDEN = 0xFF; // load pullup/pulldown enable register
0000B6 7591FF MOV P1_PUDEN,#0FFH
161:
162: SFR_PAGE(_pp2, SST2); // switch to page 2
0000B9 75B2A2 MOV PORT_PAGE,#0A2H
163: P1_ALTSEL0 = 0x00; // load alternate output function select
0000BC F590 MOV P1_ALTSEL0,A
164: // register 0
165: P1_ALTSEL1 = 0x00; // load alternate output function select
0000BE F591 MOV P1_ALTSEL1,A
166: // register 1
167:
168: SFR_PAGE(_pp0, SST2); // switch to page 0
0000C0 75B2A0 MOV PORT_PAGE,#0A0H
169: P1_DATA = 0x00; // load data output register
0000C3 F590 MOV P1_DATA,A
170: P1_DIR = 0x00; // load direction register
0000C5 F591 MOV P1_DIR,A
171:
172: /// -----------------------------------------------------------------------
173: /// Configuration of Port P2:
174: /// -----------------------------------------------------------------------
175: /// - no pin of port P2 is used
176:
177:
178: SFR_PAGE(_pp1, SST2); // switch to page 1
0000C7 75B2A1 MOV PORT_PAGE,#0A1H
179: P2_PUDSEL = 0xFF; // load pullup/pulldown select register
0000CA 75A0FF MOV P2_PUDSEL,#0FFH
180: P2_PUDEN = 0x00; // load pullup/pulldown enable register
0000CD F5A1 MOV P2_PUDEN,A
181:
182: SFR_PAGE(_pp0, SST2); // switch to page 0
0000CF 75B2A0 MOV PORT_PAGE,#0A0H
183: P2_DATA = 0x00; // load data output register
0000D2 F5A0 MOV P2_DATA,A
184:
185: /// -----------------------------------------------------------------------
186: /// Configuration of Port P3:
187: /// -----------------------------------------------------------------------
188: /// P3.0:
189: /// - is used as general purpose output
LX51 LINKER/LOCATER V4.00 BETA 08/31/2005 15:19:27 PAGE 6
190: /// - open drain output is selected
191: /// - the pin status is low level
192: /// - pull-up device is assigned
193: /// P3.1:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -