📄 ctest_twotager.lst
字号:
C51 COMPILER V7.50 CTEST_TWOTAGER 12/11/2008 14:57:34 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CTEST_TWOTAGER
OBJECT MODULE PLACED IN ctest_twotager.obj
COMPILER INVOKED BY: E:\XingYan\Keil\C51\Bin\c51.exe E:\XINGYAN\SHIYAN\CTEST\CTEST_TWOTAGER.C PR(ctest_twotager.lst) OJ(
-ctest_twotager.obj) DB SB OE ROM(LARGE) SMALL OT(6,SPEED) WL(2) RB(0)
line level source
1
2 //#include <AT89X51.H>
3 #include <REG51.H>
4 #include <stdio.h>
5
6 sbit BEEP=P2^7;
7 unsigned char th0_f; //在中断中装载的T0的值高8位
8 unsigned char tl0_f; //在中断中装载的T0的值低8位
9
10 void dems(unsigned int r5);
11
12 //----------------------------------
13 void delay400ms(void)
14 {
15 1 unsigned char TempCycA = 5;
16 1 unsigned int TempCycB;
17 1 while(TempCycA--)
18 1 {
19 2 TempCycB=1000;//2000;//7269;
20 2 while(TempCycB--);
21 2
22 2 }
23 1 }
24
25 //----------------------
26
27 //定时中断0,用于产生唱歌频率
28 timer0() interrupt 1
29 {
30 1 TL0 =tl0_f ;TH0 =th0_f; //调入预定时值
31 1 BEEP =~BEEP; //取反音乐输出IO
32 1 }
33
34 void delay(unsigned char times)
35 {unsigned char t,i =times;
36 1 for(;i!=0;i--)
37 1 for(t=500;t!=0;t--)
38 1 ;
39 1 }
40
41 void twotager(void)
42 {
43 1 unsigned char yuepu[33] ={0x44 ,0x54 ,0x64 ,0x44 ,
44 1 0x44 ,0x54 ,0x64 ,0x44 ,
45 1 0x64 ,0x74 ,0x88 ,
46 1 0x64 ,0x74 ,0x88 ,
47 1 0x82 ,0x92 ,0x82 ,0x72 ,0x64 ,0x44 ,
48 1 0x82 ,0x92 ,0x82 ,0x72 ,0x64 ,0x44 ,
49 1 0x44 ,0x84 ,0x48 ,
50 1 0x44 ,0x14 ,0x48 ,
51 1 0x00 };
52 1 unsigned int yingao[15] ={64260, 64400, 64524, 64580,
53 1 64684, 64777, 64820, 64898,
54 1 64968, 65030, 65058, 65110,
C51 COMPILER V7.50 CTEST_TWOTAGER 12/11/2008 14:57:34 PAGE 2
55 1 65157, 65178, 65217 };
56 1
57 1 unsigned int templ =0,temph =0,flag = 0; //定义循环用的变量
58 1 unsigned int b,loop,c =0,end = 30000;//loop1,loop2,loop3,
59 1 unsigned char p2k =0x00;
60 1 TMOD = 0x01;
61 1 TR0 = 0;
62 1 ET0 = 1;
63 1 EA = 1;
64 1 do{
65 2 c++;
66 2 dems(4);
67 2 for (b=0; yuepu[b]!=0 ;b++) //b<33; b++) //逐个符号演奏
68 2 {//TR0 =0;
69 3 templ = yuepu[b] & 0x0f ;
70 3 temph = yuepu[b] & 0xf0 ;
71 3 temph = temph>>4;
72 3 temph--;
73 3
74 3 th0_f = (yingao[temph] ) / 256 ;
75 3 tl0_f = (yingao[temph] ) % 256 ;
76 3
77 3 TL0 = tl0_f;
78 3 TH0 = th0_f;
79 3 TR0 = 1;
80 3
81 3 for(loop = 1;loop <= templ -1; loop++)
82 3 dems(templ );
83 3
84 3 TR0 =0;
85 3
86 3 delay(2);
87 3 }
88 2 }while(c < 5);
89 1
90 1 }
91
92 void main(void)
93 { while(1)
94 1 {twotager();
95 2 delay400ms();
96 2 }
97 1 }
98
99 void dems(unsigned int r5)
100 {
101 1 unsigned char r7,r3,r4,rr;
102 1 for(rr=r5; rr!=0;rr--)
103 1 for(r7=2; r7!=0; r7--)
104 1 for(r4=125; r4!=0; r4--)
105 1 for(r3=248; r3!=0; r3--)
106 1 ;
107 1 }
108
109
110
C51 COMPILER V7.50 CTEST_TWOTAGER 12/11/2008 14:57:34 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
delay400ms . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TempCycA . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
TempCycB . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
_dems. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
r5 . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
r7 . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
r3 . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
r4 . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
rr . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
BEEP . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A7H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
_?ix1000 . . . . . . . . . . . . . . . STATIC CODE ARRAY 0000H 33
_?ix1001 . . . . . . . . . . . . . . . STATIC CODE ARRAY 0021H 30
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
th0_f. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
timer0 . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
tl0_f. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
_delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
times. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
t. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
twotager . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
yuepu. . . . . . . . . . . . . . . . AUTO DATA ARRAY 0000H 33
yingao . . . . . . . . . . . . . . . AUTO DATA ARRAY 0021H 30
templ. . . . . . . . . . . . . . . . AUTO DATA U_INT 003FH 2
temph. . . . . . . . . . . . . . . . AUTO DATA U_INT 0041H 2
flag . . . . . . . . . . . . . . . . AUTO DATA U_INT 0043H 2
b. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0045H 2
loop . . . . . . . . . . . . . . . . AUTO DATA U_INT 0047H 2
c. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0049H 2
end. . . . . . . . . . . . . . . . . AUTO DATA U_INT 004BH 2
p2k. . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 004DH 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 318 ----
CONSTANT SIZE = 63 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 78
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -