📄 keyboard.lst
字号:
C51 COMPILER V6.23a KEYBOARD 11/27/2003 16:34:18 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE KEYBOARD
OBJECT MODULE PLACED IN KeyBoard.OBJ
COMPILER INVOKED BY: d:\SoftDev\Keil\C51\BIN\C51.EXE KeyBoard.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************************************/
2 /* UP-MP3DIY100 */
3 /* Beijing Universal Pioneering Technology Co., LTD */
4 /* CopyRighted,All right Reserved www.up-tech.com */
5 /* July,2003 */
6 /* 010-62387873 62381842 */
7 /****************************************************************/
8
9 #include "REGSND1.H"
10 #include "uart.h"
11
12
13 void w1_interrupt() interrupt 1
14 {
15 1 return;
16 1 }
17
18 void w2_interrupt() interrupt 2
19 {
20 1 return;
21 1 }
22
23 void w3_interrupt() interrupt 3
24 {
25 1 return;
26 1 }
27
28 void w4_interrupt() interrupt 4
29 {
30 1 return;
31 1 }
32
33 void mp3_interrupt() interrupt 5
34 {
35 1
36 1 EA=1;
37 1 return;
38 1 }
39
40 void o_interrupt() interrupt 10
41 {
42 1 printu("in other \n");
43 1 return;
44 1 }
45
46
47
48 void ef() interrupt 12
49 {
50 1 printu("in other");
51 1 }
52
53 void KeyBoardInit()
54 {
55 1 P1=0x0f;
C51 COMPILER V6.23a KEYBOARD 11/27/2003 16:34:18 PAGE 2
56 1 KBCON=0x00;//Low Level,Enable Interrupt
57 1 IEN1=IEN1|EKB; //Enable KeyBoard Interrupt
58 1
59 1 }
60 #define VOLUME 1
61 #define EFFECTION 2
62 #define SELECTSONG 3
63 #define PLAY 1
64 #define STOP 0
65 unsigned char CurrentFun=SELECTSONG;
66 unsigned char PlayState=STOP;
67
68
69
70 void Func()
71 {
72 1 if(CurrentFun<3) CurrentFun++;
73 1 else if(CurrentFun==3) CurrentFun=1;
74 1 printuf("CurrentFun:%x\n",CurrentFun);
75 1 }
76 void Next()
77 {
78 1 printu("Next\n");
79 1
80 1 }
81 void Previous()
82 {
83 1 printu("Previous\n");
84 1
85 1 }
86 void PlayPause()
87 {
88 1 PlayState=!PlayState;
89 1 printu("PlayPause\n");
90 1
91 1 }
92
93
94 void key_interrupt() interrupt 11
95 {
96 1 unsigned char i=0;
97 1 EA=0;
98 1 IEN1&=(~EKB); //Enable KeyBoard Interrupt
99 1 i=KBSTA;
100 1 switch(i){
101 2 case 1: Func();break;
102 2 case 2: Next();break;
103 2 case 4: Previous();break;
104 2 case 8: PlayPause();break;
105 2 default:break;
106 2 }
107 1 IEN1|=EKB; //Enable KeyBoard Interrupt
108 1 EA=1;
109 1 return;
110 1
111 1 }
112
113
114 void main()
115 {
116 1 int i=0;
117 1 P3_5=0;
C51 COMPILER V6.23a KEYBOARD 11/27/2003 16:34:18 PAGE 3
118 1 printu("UP-TECH MP3 Keyboard Test\n");
119 1 printu("Please Press the Keyboard\n");
120 1 KeyBoardInit();
121 1 EA=1;
122 1
123 1 while(1)
124 1 {
125 2 for(i=0;i<0x6fff;i++) ;//延时
126 2 P3_5=!P3_5;//LED状态取反
127 2 }
128 1
129 1
130 1 }
131
132
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 402 ----
CONSTANT SIZE = 116 ----
XDATA SIZE = 2 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -