C51 COMPILER V7.06 CH375 12/31/2008 12:12:31 PAGE 1 C51 COMPILER V7.06, COMPILATION OF MODULE CH375 OBJECT MODULE PLACED IN CH375.OBJ COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CH375.C LARGE OMF2 OPTIMIZE(9,SIZE) BROWSE DEBUG stmt level source 1 /* 2005.01.01 2 **************************************** 3 ** Copyright (C) W.ch 1999-2005 ** 4 ** Web: http://www.winchiphead.com ** 5 **************************************** 6 ** KC7.0@MCS51 ** 7 **************************************** 8 */ 9 /* CH375ÆÀ¹À°åÑÝʾ³ÌÐò: ÑÝʾUSB-HOSTÖ÷»ú½Ó¿ÚºÍUSB-DEVICEÉ豸½Ó¿ÚµÄÓ¦Óà */ 10 /* MCS-51µ¥Æ¬»úCÓïÑÔµÄʾÀý³ÌÐò, ÊÊÓÃÓÚ89C52»òÕ߸ü´ó³ÌÐò¿Õ¼äµÄµ¥Æ¬»ú,Ò²ÊÊÓÃÓÚATMEL/PHILIPS/SSTµÈ¾ßÓÐ1KBÄÚ²¿ -RAMµÄµ¥Æ¬»ú */ 11 12 /* ¹ØÓÚ±¾³ÌÐòÖеÄCH375Ö÷»ú½Ó¿Ú: HOST.C 13 ¿ÉÒÔÁ¬½ÓUÅÌ, Ö§³ÖUÅÌÎļþϵͳFAT12/FAT16/FAT32, ÈÝÁ¿²»ÏÞ, 14 ²åÈëUÅ̺ó, ¸Ã³ÌÐò½«UÅÌÖеÄ/C51/CH375HFT.CÎļþÖеÄǰ600¸ö×Ö·ûÏÔʾ³öÀ´, 15 Èç¹ûÕÒ²»µ½Ô­ÎļþCH375HFT.C, ÄÇô¸Ã³ÌÐò½«ÏÔʾC51×ÓĿ¼ÏÂËùÓÐÒÔCH375¿ªÍ·µÄÎļþÃû, 16 Èç¹ûÕÒ²»µ½C51×ÓĿ¼, ÄÇô¸Ã³ÌÐò½«ÏÔʾ¸ùĿ¼ÏµÄËùÓÐÎļþÃû, 17 ×îºó½«³ÌÐòROMÖеÄÒ»¸ö×Ö·û´®Ð´ÈëдÈëн¨µÄÎļþ"NEWFILE.TXT"ÖÐ, 18 CH375µÄINT#Òý½Å²ÉÓòéѯ·½Ê½´¦Àí, Êý¾Ý¸´ÖÆ·½Ê½Îª"µ¥DPTR¸´ÖÆ", ¼æÈÝÐÔ×îºÃµ«ÊÇËÙ¶È×îÂý, 19 ÒÔ×Ö½ÚΪµ¥Î»¶ÁдUÅÌÎļþ, ¶ÁдËٶȽÏÉÈÇøÄ£Ê½Âý, ²»ÐèÒªÎļþÊý¾Ý»º³åÇøFILE_DATA_BUF, 20 ×ܹ²Ö»ÐèÒª600×Ö½ÚµÄRAM, ÊÊÓÃÓÚµ¥Æ¬»úÓ²¼þ×ÊÔ´ÓÐÏÞ¡¢Êý¾ÝÁ¿Ð¡²¢ÇÒ¶ÁдËÙ¶ÈÒªÇ󲻸ߵÄϵͳ, 21 ¼ÆËã»ú¶Ë¿ÉÒÔͨ¹ý´®¿Ú¼à¿Ø/µ÷ÊÔ¹¤¾ßÈí¼þÒÔ9600bps²é¿´ÑÝʾÇé¿ö, Ò²¿ÉÒÔʹÓÃCH341µÄ´®¿Ú¹¤¾ß»òÕßCH375Ä£¿éµ -ÄÑÝʾ¹¤¾ß */ 22 /* ¹ØÓÚ±¾³ÌÐòÖеÄCH375É豸½Ó¿Ú: DEVICE.C 23 ²ÉÓÃÇëÇó+Ó¦´ðģʽͨѶ½á¹¹, Ç¿µ÷¿É¿¿ÐԺͽ»»¥ÐÔ, ²»×·Çó´«ÊäËÙ¶È, 24 ¼ÆËã»ú¶Ë¿ÉÒÔͨ¹ýCH372/CH375µÄµ÷ÊÔ¹¤¾ßÖеÄMCS51¼à¿Ø¹¤¾ß³ÌÐòCH37XDBG.EXEʵÏÖ¶ÔMCS51µ¥Æ¬»úµÄ"ÍêÈ«"¿ØÖÆ -, 25 ¿ÉÒÔ¶ÁдMCS51µ¥Æ¬»úµÄÈÎÒâÍⲿRAM¡¢ÄÚ²¿RAMÒÔ¼°¾ø´ó¶àÊýSFR, µ±È»Ò²Äܹ»½øÐÐÊý¾ÝͨѶ */ 26 /* ¹ØÓÚÖ÷´ÓÇл»: 27 ±¾³ÌÐòĬÈϹ¤×÷ÓÚUSB-HOSTÖ÷»ú·½Ê½, µ±ÓÐUSBÉ豸Á¬½Óʱ×Ô¶¯´¦Àí, ÐèÒª×÷ΪUSBÉ豸Óë¼ÆËã»úͨѶʱ, ¿ÉÒÔ°´Æ -À¹À°åÉϵİ´Å¥ÓÉÖ÷³ÌÐò½øÐÐÇл» */ 28 29 30 /* C51 CH375.C */ 31 /* C51 HOST.C */ 32 /* C51 DEVICE.C */ 33 /* LX51 CH375.OBJ, HOST.OBJ, DEVICE.OBJ, CH375HF6.LIB */ 34 /* OHX51 CH375 */ 35 36 37 #define CH375HF_NO_CODE 1 38 #include "CH375.H" 39 40 sbit dula=P2^6; 41 sbit wela=P2^7; 42 43 /* ΪprintfºÍgetkeyÊäÈëÊä³ö³õʼ»¯´®¿Ú */ 44 void mInitSTDIO( ) 45 { 46 1 SCON = 0x50; 47 1 // PCON = 0x80; 48 1 TMOD = 0x21; 49 1 TH1 = 0xfd; /* 24MHz¾§Õñ, 9600bps */ 50 1 TR1 = 1; 51 1 TI = 1; C51 COMPILER V7.06 CH375 12/31/2008 12:12:31 PAGE 2 52 1 } 53 54 UINT8 IsKeyPress( ) 55 { 56 1 if ( USER_KEY_IN == 0 ) { /* Óмü°´Ï */ 57 2 LED_OUT_INACT( ); /* LEDÃð */ 58 2 mDelaymS( 50 ); 59 2 if ( USER_KEY_IN == 0 ) { 60 3 while ( USER_KEY_IN == 0 ); /* µÈ´ý°´¼üÊÍ·Å */ 61 3 mDelaymS( 50 ); 62 3 while ( USER_KEY_IN == 0 ); /* °´¼üÈ¥¶¶¶¯ */ 63 3 LED_OUT_ACT( ); /* LEDÁÁÒÔʾ¹¤×÷ */ 64 3 return( 1 ); 65 3 } 66 2 LED_OUT_ACT( ); /* LEDÁÁÒÔʾ¹¤×÷ */ 67 2 } 68 1 return( 0 ); 69 1 } 70 71 main( ) { 72 1 73 1 dula=1; 74 1 wela=1; 75 1 P0=0; 76 1 dula=0; 77 1 wela=0; 78 1 79 1 LED_OUT_INIT( ); 80 1 LED_OUT_ACT( ); /* ¿ª»úºóLEDÉÁ˸һÏÂÒÔʾ¹¤×÷ */ 81 1 mDelaymS( 100 ); /* ÑÓʱ100ºÁÃë */ 82 1 LED_OUT_INACT( ); 83 1 mDelaymS( 100 ); 84 1 85 1 mInitSTDIO( ); /* ΪÁËÈüÆËã»úͨ¹ý´®¿Ú¼à¿ØÑÝʾ¹ý³Ì */ 86 1 printf( "Start CH375 demo ...\n" ); 87 1 88 1 EA = 1; 89 1 LED_OUT_ACT( ); /* LEDÁÁÒÔʾ¹¤×÷ */ 90 1 while ( 1 ) { /* Óû§°´¼üµ¼ÖÂUSBÖ÷´ÓģʽÀ´»ØÇл» */ 91 2 LED_HOST( ); 92 2 printf( "Set USB host mode\n" ); 93 2 host( ); 94 2 LED_DEVICE( ); 95 2 printf( "Set USB device mode\n" ); 96 2 device( ); 97 2 } 98 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 121 ---- CONSTANT SIZE = 62 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- EDATA SIZE = ---- ---- HDATA SIZE = ---- ---- XDATA CONST SIZE = ---- ---- FAR CONST SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILER V7.06 CH375 12/31/2008 12:12:31 PAGE 3 C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)