⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cc6.cod

📁 keil c51 UV3 最新版编译器的例子程序4。
💻 COD
📖 第 1 页 / 共 3 页
字号:
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 + -