📄 speak.lst
字号:
C51 COMPILER V8.01 SPEAK 01/14/2006 16:53:21 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE SPEAK
OBJECT MODULE PLACED IN speak.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE speak.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "..\h\config.h"
2
3
4 char const aMusic1[]={
5 0x18, 0x30, 0x1C, 0x10,
6 0x20, 0x40, 0x1C, 0x10,
7 0x18, 0x10, 0x20, 0x10,
8 0x0C, 0x10, 0x18, 0x40,
9 0x1C, 0x20, 0x20, 0x20,
10 0x1C, 0x20, 0x18, 0x20,
11 0x20, 0x80, 0x0F, 0x20,
12 0x30, 0x1C, 0x10, 0x18,
13 0x20, 0x15, 0x20, 0x1C,
14 0x20, 0x20, 0x20, 0x26,
15 0x40, 0x20, 0x20, 0x2B,
16 0x20, 0x26, 0x20, 0x20,
17 0x20, 0x30, //0xFF, 0xFF,
18 0x20, 0x20, 0x1C, 0x10,
19 0x18, 0x10, 0x20, 0x20,
20 0x26, 0x20, 0x2B, 0x20,
21 0x30, 0x20, 0x2B, 0x40,
22 0x20, 0x20, 0x1C, 0x10,
23 0x18, 0x10, 0x20, 0x20,
24 0x26, 0x20, 0x2B, 0x20,
25 0x30, 0x20, 0x2B, 0x40,
26 0x20, 0x30, 0x1C, 0x10,
27 0x18, 0x20, 0x15, 0x20,
28 0x1C, 0x20, 0x20, 0x20,
29 0x26, 0x40, 0x20, 0x20,
30 0x2B, 0x20, 0x26, 0x20,
31 0x20, 0x20, 0x30, 0x80,
32 0x20, 0x30, 0x1C, 0x10,
33 0x20, 0x10, 0x1C, 0x10,
34 0x20, 0x20, 0x26, 0x20,
35 0x2B, 0x20, 0x30, 0x20,
36 0x2B, 0x40, 0x20, 0x15,
37 0x1F, 0x05, 0x20, 0x10,
38 0x1C, 0x10, 0x20, 0x20,
39 0x26, 0x20, 0x2B, 0x20,
40 0x30, 0x20, 0x2B, 0x40,
41 0x20, 0x30, 0x1C, 0x10,
42 0x18, 0x20, 0x15, 0x20,
43 0x1C, 0x20, 0x20, 0x20,
44 0x26, 0x40, 0x20, 0x20,
45 0x2B, 0x20, 0x26, 0x20,
46 0x20, 0x20, 0x30, 0x30,
47 0x20, 0x30, 0x1C, 0x10,
48 0x18, 0x40, 0x1C, 0x20,
49 0x20, 0x20, 0x26, 0x40,
50 0x13, 0x60, 0x18, 0x20,
51 0x15, 0x40, 0x13, 0x40,
52 0x18, 0x80, 0x00, 0x00,
53
54 };
55 const char aMusic2[]={
C51 COMPILER V8.01 SPEAK 01/14/2006 16:53:21 PAGE 2
56 0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
57 0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
58 0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
59 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
60 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
61 0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
62 0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
63 0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
64 0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
65 0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
66 0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
67 0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
68 0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
69 0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00};
70 char const *aMusic[MUSIC_MAX];
71 //////////////////////////////////////////////////////////////////////////////////////////////
72 //** 函数名称 :
73 //** 函数功能 :
74 //** 入口参数 :
75 //** 出口参数 :
76 // 使用方法 :
77 // 注意事项 :
78 //////////////////////////////////////////////////////////////////////////////////////////////
79 char MUsic_reg=0;
80 void delay(char timer)
81 {
82 1 while(timer--)
83 1 {
84 2 _nop_();
85 2 _nop_();
86 2 _nop_();
87 2 _nop_();
88 2 _nop_();
89 2 _nop_();
90 2 _nop_();
91 2 _nop_();
92 2 _nop_();
93 2 _nop_();
94 2 _nop_();
95 2 _nop_();
96 2 _nop_();
97 2 _nop_();
98 2 _nop_();
99 2 _nop_();
100 2 _nop_();
101 2 _nop_();
102 2 _nop_();
103 2 _nop_();
104 2 _nop_();
105 2 _nop_();
106 2 _nop_();
107 2 _nop_();
108 2 _nop_();
109 2 _nop_();
110 2 _nop_();
111 2 _nop_();
112 2 _nop_();
113 2 _nop_();
114 2 _nop_();
115 2 _nop_();
116 2 _nop_();
117 2 _nop_();
C51 COMPILER V8.01 SPEAK 01/14/2006 16:53:21 PAGE 3
118 2 _nop_();
119 2 _nop_();
120 2 _nop_();
121 2 _nop_();
122 2 _nop_();
123 2 _nop_();
124 2 }
125 1
126 1 }
127 //////////////////////////////////////////////////////////////////////////////////////////////
128 //** 函数名称 :
129 //** 函数功能 :
130 //** 入口参数 :
131 //** 出口参数 :
132 // 使用方法 :
133 // 注意事项 :
134 //////////////////////////////////////////////////////////////////////////////////////////////
135 void timer1init(void)
136 {
137 1 TMOD|=0x10;
138 1 IE|=0x88;
139 1 TH1=0x0Dc;
140 1 TL1=0x00;
141 1 }
142 void time1start(void)
143 {
144 1 TR1=1;
145 1 }
146 void time1stop(void)
147 {
148 1 TR1=0;
149 1 }
150 //////////////////////////////////////////////////////////////////////////////////////////////
151 //** 函数名称 :
152 //** 函数功能 :
153 //** 入口参数 :
154 //** 出口参数 :
155 // 使用方法 :
156 // 注意事项 :
157 //////////////////////////////////////////////////////////////////////////////////////////////
158 void timer1exp(void) interrupt 3
159 {
160 1 MUsic_reg++;
161 1 TH1=0x0Dc;
162 1 TL1=0x00;
163 1 }
164 //////////////////////////////////////////////////////////////////////////////////////////////
165 //** 函数名称 :
166 //** 函数功能 :
167 //** 入口参数 :
168 //** 出口参数 :
169 // 使用方法 :
170 // 注意事项 :
171 //////////////////////////////////////////////////////////////////////////////////////////////
172
173 char ID_speak=0;
174 bit MUSIC_OK=1;//为1时,不允许播放音乐
175
176 void Speak(void)
177 {
178 1 int h_speak=0;
179 1 char i=0,x=0;
C51 COMPILER V8.01 SPEAK 01/14/2006 16:53:21 PAGE 4
180 1 while(((i=aMusic[ID_speak][h_speak++])!=0)&&(MUSIC_OK==0)) //是停止符
181 1 {
182 2 x=aMusic[ID_speak][h_speak++];
183 2 if(i==0xff) //是停顿符
184 2 {
185 3 time1stop();
186 3 SPEAK=1;
187 3 delay(i);
188 3 }
189 2
190 2 else {
191 3
192 3 time1start();
193 3 while(x!=MUsic_reg)
194 3 {
195 4 delay(i);
196 4 SPEAK=~SPEAK;
197 4 }
198 3 MUsic_reg=0;
199 3 }
200 2 SPEAK=1;
201 2 }
202 1 SPEAK=1;
203 1 time1stop();
204 1 }
205
206
207
208
209 main()
210 { aMusic[0]=aMusic1;
211 1 MUSIC_OK=0;
212 1 timer1init();
213 1 ID_speak=0;
214 1 while(1)
215 1 {
216 2 Speak();
217 2
218 2 }
219 1
220 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 225 ----
CONSTANT SIZE = 407 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -