?? key.lst
字號:
C51 COMPILER V6.02 KEY 08/27/2003 13:40:46 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN D:\LCD_6963\LCD2\KEY.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE D:\LCD_6963\LCD2\KEY.C DB SB OE
stmt level source
1 #include <reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 extern void msec(uint);
5 uchar scankey();
6 extern KeyState;
7 extern KeyFuncIndex;
8 sbit P3_5=P3^5;
9
10 float idata keycount=0; /* used for exit the menu when no key action */
11 int keybutton=0;
12
13 uchar scankey()
14 { uchar idata keyb;
15 1 keycount++;
16 1 if( keycount>=80000)
17 1 {keycount=0;
18 2 P3_5=0;
19 2 KeyState=1;
20 2 KeyFuncIndex=4;
21 2 }
22 1 keyb=P1&0xff;
23 1 if(keyb!=0xff)
24 1 { //msec(50);
25 2 keyb=P1&0xff;
26 2 keybutton=1;
27 2 KeyState=1;
28 2 keycount=0;
29 2 }
30 1 else
31 1 {keybutton=0;}
32 1 switch (keyb)
33 1 {
34 2 case 0xfe : keyb=1; /* S1 */
35 2 break;
36 2 case 0xfd : keyb=2; /* S2 */
37 2 break;
38 2 case 0xfb : keyb=3; /* S3 */
39 2 break;
40 2 case 0xf7 : keyb=4; /* S4 */
41 2 break;
42 2 case 0xef : keyb=5; /* S5 */
43 2 break;
44 2 case 0xdf : keyb=6; /* S6 */
45 2 break;
46 2 case 0xbf : keyb=7; /* S7 */
47 2 break;
48 2 case 0x7f : keyb=8; /* S8 */
49 2 break;
50 2 default : keyb=0;
51 2 break;
52 2 }
53 1 /* if(keycount>=60){
54 1 keyb=1; exit if no key in action after 60 secondes
55 1 keycount=0;
C51 COMPILER V6.02 KEY 08/27/2003 13:40:46 PAGE 2
56 1 } */
57 1 if(keyb==0)
58 1 { keyb=P3&0x0c;
59 2 if(keyb!=0x0c)
60 2 { //msec(50);
61 3 keyb=P3&0x0c;
62 3 keybutton=1;
63 3 KeyState=1;
64 3 }
65 2 else
66 2 {keybutton=0;}
67 2 switch (keyb)
68 2 {
69 3 case 0x08 : keyb=9; /* S9 */
70 3 break;
71 3 case 0x04 : keyb=10; /* S10 */
72 3 break;
73 3 default : keyb=0;
74 3 break;
75 3 }
76 2 }
77 1 return (keyb);
78 1 }
C51 COMPILER V6.02 KEY 08/27/2003 13:40:46 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
P3_5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
KeyState . . . . . . . . . . . . . . . EXTERN DATA INT ----- 2
KeyFuncIndex . . . . . . . . . . . . . EXTERN DATA INT ----- 2
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
keybutton. . . . . . . . . . . . . . . PUBLIC DATA INT 0000H 2
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
scankey. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
keyb . . . . . . . . . . . . . . . . AUTO IDATA U_CHAR 0000H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
keycount . . . . . . . . . . . . . . . PUBLIC IDATA FLOAT 0000H 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 258 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V6.02 KEY 08/27/2003 13:40:46 PAGE 4
DATA SIZE = 2 ----
IDATA SIZE = 4 1
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 + -