📄 key.lst
字号:
C51 COMPILER V7.02b KEY 01/10/2008 11:39:27 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 ////////////////////////////////////*/
2 /* */
3 /* Hot_Box */
4 /* Version_2 */
5 /* AHTL_2007_11 */
6 /* */
7 /* */
8 /* KEY.C */
9 /* */
10 ////////////////////////////////////*/
11 #include <absacc.h>
12 #include <reg52.H>
13 #include <key.h>
14 #include <lcd.h>
15 //
16 // 2 X 16 LCD display port and BCD port each bit function
17 //
18 // LCD PORT BCD PORT
19 //
20 // P17 P16 P15 P14 P13 P12 P11 P10 ___ NC SEL1
21 // | | | | | | |_________ NC SEL2
22 // | | | | | |_____________ RS NC
23 // | | | | |_________________ Enable1 NC
24 // | | | |_____________________ D4 D4
25 // | | |_________________________ D5 D5
26 // | |_____________________________ D6 D6
27 // |_________________________________ D7 D7
28 //
29
30 /*--------------------------------------------------------*/
31 unsigned char keyprow_buf;
32 char _scan_key ()
33 {
34 1 unsigned char i = 0;
35 1 if (keyprow_buf)
36 1 {
37 2 P1 = 0xf6; //sel1=0;
38 2 keyprow_buf = 0;
39 2 _delay500us(8);
40 2 switch(P1&0xf0)
41 2 {
42 3 case 0x50 :
43 3 i = KP_COPY;
44 3 break;
45 3 case 0x70 :
46 3 i = KP_MENU;
47 3 break;
48 3 case 0xb0 :
49 3 i = KP_EXIT;
50 3 break;
51 3 case 0xd0 :
52 3 i = KP_SAVE;
53 3 break;
54 3 case 0xe0 :
55 3 i = KP_ENTER;
C51 COMPILER V7.02b KEY 01/10/2008 11:39:27 PAGE 2
56 3 break;
57 3 }
58 2 if(i==KP_SAVE)
59 2 {
60 3 _delay500us(200);
61 3 }
62 2 else
63 2 {
64 3 while ((P1&0xf0) != 0xf0)
65 3 {
66 4 _delay500us(32);
67 4 }
68 3 }
69 2 }
70 1 else
71 1 {
72 2 P1 = 0xf5; //sel2=0
73 2 keyprow_buf = 1;
74 2 _delay500us(8);
75 2 switch(P1&0xf0)
76 2 {
77 3 case 0x70 :
78 3 i = KP_LEFT;
79 3 break;
80 3 case 0xb0 :
81 3 i = KP_RIGHT;
82 3 break;
83 3 case 0xd0 :
84 3 i = KP_INC;
85 3 break;
86 3 case 0xe0 :
87 3 i = KP_DEC;
88 3 break;
89 3 }
90 2 while ((P1&0xf0) != 0xf0)
91 2 {
92 3 _delay500us(32);
93 3 }
94 2 }
95 1 P1 = 0xf7;
96 1 _delay500us(16);
97 1 return i;
98 1 }
99 /*-------------------------------------------------------------------------*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 167 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 1
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 + -