📄 key.lst
字号:
C51 COMPILER V7.07 KEY 04/12/2005 13:37:32 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //key.c
2 #ifdef __C51__
3 #include "..\uv2_prj\config.h"
4 #else
#include "..\ads_prj\config"
#endif
7 #include "..\c1335_public\c1335_driver.h"
8
9
10 #define BasePart1 0x00
11 #define BasePart2 0x28
12 #define BasePart3 0x80
13 #define BasePart4 0xc0
14
15 extern void DelayMS(unsigned int nTime);
16 /*=================================================================**
17 **函 数 名:unsigned char key(); **
18 **功能介绍:键盘扫描,直接处理亮度按键 **
19 **传人参数:无 **
20 **调用模块:keyprocess(); 进行键值处理 **
21 ===================================================================*/
22 unsigned char KeyScan(void)
23 {
24 1 unsigned char KeyNum;
25 1 KeyNum = 0;
26 1 if((PC8155&0x3f) != 0x03f)
27 1 {
28 2 DelayMS(30);
29 2 KeyNum = (PC8155&0x3f);
30 2 KeyNum=~KeyNum;
31 2 KeyNum&=0x03f;
32 2 switch(KeyNum)
33 2 {
34 3 case 1:
35 3 //Clear(BasePart2,1+7*0, 220,2,2);
36 3 KeyNum=1;DispBmp16x24(&KEY_NOTE[48*0], 1+7*0, 222,0);
37 3 break;
38 3 case 2:
39 3 //Clear(BasePart2,1+7*0, 220,2,2);
40 3 KeyNum=2;DispBmp16x24(&KEY_NOTE[48*1], 1+7*1, 222,0);
41 3 break;
42 3 case 4:
43 3 //Clear(BasePart2,1+7*0, 220,2,2);
44 3 KeyNum=3;DispBmp16x24(&KEY_NOTE[48*2], 1+7*2, 222,0);
45 3 break;
46 3 case 8:
47 3 //Clear(BasePart2,1+7*0, 220,2,2);
48 3 KeyNum=4;DispBmp16x24(&KEY_NOTE[48*3], 1+7*3, 222,0);
49 3 break;
50 3 case 16:
51 3 //Clear(BasePart2,1+7*0, 220,2,2);
52 3 KeyNum=5;DispBmp16x24(&KEY_NOTE[48*4], 1+7*4, 222,0);
53 3 break;
54 3 case 32:
55 3 //Clear(BasePart2,1+7*0, 220,2,2);
C51 COMPILER V7.07 KEY 04/12/2005 13:37:32 PAGE 2
56 3 KeyNum=6;DispBmp16x24(&KEY_NOTE[48*5], 1+7*5, 222,0);
57 3 break;
58 3 default:
59 3 KeyNum=0;
60 3 break;
61 3 }
62 2 while( (PC8155&0x3f) != 0x03f)
63 2 {
64 3 //BEEP = 0;
65 3 DelayMS(5);
66 3 }
67 2 //BEEP = 1;
68 2 switch(KeyNum)
69 2 {
70 3 case 1:
71 3 DispBmp16x24(&KEY_NOTE[48*0], 1+7*0, 220,0);
72 3 //Clear(BasePart2,1+7*0, 220,2,2);
73 3 break;
74 3 case 2:
75 3 DispBmp16x24(&KEY_NOTE[48*1], 1+7*1, 220,0);
76 3 ClearLCD(BasePart2,1+7*1, 236,2,2);
77 3 break;
78 3 case 3:
79 3 DispBmp16x24(&KEY_NOTE[48*2], 1+7*2, 220,0);
80 3 ClearLCD(BasePart2,1+7*2, 236,2,2);
81 3 break;
82 3 case 4:
83 3 DispBmp16x24(&KEY_NOTE[48*3], 1+7*3, 220,0);
84 3 ClearLCD(BasePart2,1+7*3, 236,2,2);
85 3 break;
86 3 case 5:
87 3 DispBmp16x24(&KEY_NOTE[48*4], 1+7*4, 220,0);
88 3 ClearLCD(BasePart2,1+7*4, 236,2,2);
89 3 break;
90 3 case 6:
91 3 DispBmp16x24(&KEY_NOTE[48*5], 1+7*5, 220,0);
92 3 //Clear(BasePart2,1+7*5, 220,2,2);
93 3 break;
94 3 default:
95 3 KeyNum=0;
96 3 break;
97 3 }
98 2 }
99 1 return KeyNum;
100 1 }
101
102
103
104
105
106
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 393 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V7.07 KEY 04/12/2005 13:37:32 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -