C51 COMPILER V6.12 MAIN 12/01/2006 17:41:03 PAGE 1 C51 COMPILER V6.12, COMPILATION OF MODULE MAIN OBJECT MODULE PLACED IN C:\DOCUME~1\LD9149~1.XC-\桌面\51\手册程序\五4796~1.利\MAIN.OBJ COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE C:\DOCUME~1\LD9149~1.XC-\桌面\51\手册程序\五4796~1.利\MAIN.C DB SB OE stmt level source 1 #include "reg52.h" 2 unsigned char Count; 3 sbit _Speak =P2^3 ; //讯响器控制脚  4 5 unsigned char code SONG[] ={ //祝你平安 6 0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20, 7 0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20, 8 0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20, 9 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20, 10 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10, 11 0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20, 12 0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20, 13 0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20, 14 0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10, 15 0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80, 16 0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20, 17 0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20, 18 0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10, 19 0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00, 20 //路边的野华不要采 21 0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C, 22 0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20, 23 0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20, 24 0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30, 25 0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30, 26 0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26, 27 0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20, 28 0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F, 29 0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20, 30 0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B, 31 0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20, 32 0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00, 33 34 }; 35 36 void Time0_Init() 37 { 38 1 TMOD = 0x01; 39 1 IE = 0x82; 40 1 TH0 = 0xD8; 41 1 TL0 = 0xEF; //12MZ晶振,10ms 42 1 } 43 44 void Time0_Int() interrupt 1 45 { 46 1 TH0 = 0xD8; 47 1 TL0 = 0xEF; 48 1 Count++; //长度加1 49 1 } 50 51 /*------------------------------------------------- 52 功能:1MS延时子程序 53 -------------------------------------------------*/ 54 void Delay_xMs(unsigned int x) 55 { C51 COMPILER V6.12 MAIN 12/01/2006 17:41:03 PAGE 2 56 1 unsigned int i,j; 57 1 for( i =0;i < x;i++ ) 58 1 { 59 2 for( j =0;j<3;j++ ); 60 2 } 61 1 } 62 63 /*------------------------------------------------- 64 功能:歌曲播放子程序i为播放哪一段曲目 65 -------------------------------------------------*/ 66 void Play_Song(unsigned char i) 67 { 68 1 unsigned char Temp1,Temp2; 69 1 unsigned int Addr; 70 1 Count = 0; //中断计数器清0 71 1 Addr = i * 217; 72 1 while(1) 73 1 { 74 2 Temp1 = SONG[Addr++]; 75 2 if ( Temp1 == 0xFF ) //休止符 76 2 { 77 3 TR0 = 0; 78 3 Delay_xMs(100); 79 3 } 80 2 else if ( Temp1 == 0x00 ) //歌曲结束符 81 2 { 82 3 return; 83 3 84 3 } 85 2 else 86 2 { 87 3 Temp2 = SONG[Addr++]; 88 3 TR0 = 1; 89 3 while(1) 90 3 { 91 4 _Speak = ~_Speak; 92 4 Delay_xMs(Temp1); 93 4 if ( Temp2 == Count ) 94 4 { 95 5 Count = 0; 96 5 break; 97 5 } 98 4 } 99 3 } 100 2 } 101 1 } 102 /*------------------------------------------------- 103 功能:主程序 104 -------------------------------------------------*/ 105 void main() 106 { 107 1 Time0_Init(); //定时器0中断初始化 108 1 while(1) 109 1 { 110 2 Play_Song(0); //播放 111 2 } 112 1 } 113 C51 COMPILER V6.12 MAIN 12/01/2006 17:41:03 PAGE 3 NAME CLASS MSPACE TYPE OFFSET SIZE ==== ===== ====== ==== ====== ==== P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1 P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1 P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1 T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1 AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1 T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1 T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1 EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1 Count. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1 IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1 EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1 RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1 ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1 IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1 RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1 INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1 CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1 TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1 INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1 PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1 T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1 OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1 main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H ----- C_T2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1 WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1 RCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1 TCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1 SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1 TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1 TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1 Time0_Init . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H ----- SONG . . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 407 IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1 IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1 CP_RL2 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1 ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1 ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1 TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1 ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1 TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1 TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1 RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1 TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1 EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1 IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1 Time0_Int. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H ----- TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1 EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1 IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1 P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1 SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1 TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1 SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1 SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1 PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1 PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1 RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1 C51 COMPILER V6.12 MAIN 12/01/2006 17:41:03 PAGE 4 NAME CLASS MSPACE TYPE OFFSET SIZE ==== ===== ====== ==== ====== ==== _Speak . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A3H 1 PT2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1 TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1 RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1 TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1 TR2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1 PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1 PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1 EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1 REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1 T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1 _Delay_xMs . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H ----- x. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2 i. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2 j. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2 RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1 TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1 _Play_Song . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H ----- i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1 Temp1. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1 Temp2. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1 Addr . . . . . . . . . . . . . . . . AUTO DATA U_INT 0001H 2 F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1 PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 163 ---- CONSTANT SIZE = 407 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 1 3 IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)