?? voice.lst
字號:
C51 COMPILER V7.02b VOICE 11/16/2005 21:45:17 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE VOICE
OBJECT MODULE PLACED IN Voice.OBJ
COMPILER INVOKED BY: E:\EDATOOLS\KEILC7.0\C51\BIN\C51.EXE Voice.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*****************************************/
2 /* Copyright (c) 2005, 通信工程學院 */
3 /* All rights reserved. */
4 /* 作 者:戴 佳 */
5 /*****************************************/
6
7 #include "voice.h"
8
9 /* 延時t毫秒 */
10 void delay(uint t)
11 {
12 1 uint i;
13 1 while(t--)
14 1 {
15 2 /* 對于11.0592M時鐘,約延時1ms */
16 2 for (i=0;i<125;i++)
17 2 {}
18 2 }
19 1 }
20
21 /* 外部中斷0服務子程序 */
22 void out_int0() interrupt 0 using 1
23 {
24 1 EX0 = 0; // 關外部中斷0
25 1
26 1 PD = 1; // 進入節電狀態
27 1
28 1 if(count<2) // 再重播2次,共3次放音
29 1 {
30 2 count++;
31 2 delay(500); // 延時500ms
32 2 P2 = P2&0xFC; // A8=A9=0
33 2 P0 = P0&0x00; // 起始地址為0
34 2 playback(); // 從地址0處播放
35 2 EX0 = 1; // 開外部中斷0
36 2 }
37 1 else
38 1 {
39 2 IdleFlag = 1; // 變為空閑狀態,可以再次按開始鍵
40 2 count = 0;
41 2 }
42 1 }
43
44 /* 主程序 */
46 {
47 1 EA = 1; // 開CPU中斷
48 1
49 1 count = 0;
50 1 StartFlag = 0;
51 1 IdleFlag = 1;
52 1
53 1 while(IdleFlag==1)
54 1 {
55 2 if (START)
C51 COMPILER V7.02b VOICE 11/16/2005 21:45:17 PAGE 2
56 2 {
57 3 delay(10); // 延時去抖動
58 3 if (START)
59 3 StartFlag = 1; // 開始鍵按下標志
60 3 }
61 2 if (StartFlag == 1)
62 2 {
63 3 do
64 3 {
65 4 P2 = P2&0xFC; // A8=A9=0
66 4 P0 = P0&0x00; // 起始地址為0
67 4 record(); // 錄音開始,存放在地址0處
68 4 }
69 3 while (START); // 開始鍵松開
70 3
71 3 StartFlag = 0;
72 3
73 3 PR = 1; // 結束錄音
74 3 PD = 1; // 進入節電狀態
75 3
76 3 delay(500); // 延時500ms再播放錄音
77 3
78 3 EX0 = 1; // 開外部中斷0
79 3
80 3 P2 = P2&0xFC; // A8=A9=0
81 3 P0 = P0&0x00; // 起始地址為0
82 3 playback(); // 從地址0處進行第一次播放
83 3 IdleFlag = 0; // 當前不空閑,按開始鍵無效
84 3 }
85 2
86 2 }
87 1 }
88
89 /* 錄音函數 */
90 void record(void)
91 {
92 1 CE = 0;
93 1 PD = 0;
94 1 PR = 0;
95 1
96 1 }
97
98 /* 放音函數 */
99 void playback(void)
100 {
101 1 CE = 0;
102 1 PD = 0;
103 1 PR = 1;
104 1 }
105
106
107
108
109
110
111
112
113
114
115
116
117
C51 COMPILER V7.02b VOICE 11/16/2005 21:45:17 PAGE 3
118
119
120
121
122
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 186 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
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 + -