📄 key.lst
字号:
C51 COMPILER V7.50 KEY 08/13/2007 13:36:33 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe key.c DB OE
line level source
1 /************************************************************************************
2 * Copyright (c) 2004,西安铭朗电子科技有限责任公司
3 * All rights reserved.
4 *
5 * 文件名称: KEY.C
6 * 文件标识: none
7 * 适用器件: C8051F020
8 *
9 * 摘 要:
10 *
11 * 当前版本:1.0
12 * 作 者:张宁强
13 * 完成日期:2006年1月10日
14 *
15 * 历史版本:0.9
16 * 原作者 : 张宁强
17 * 完成日期:2005年x月xx日
18 *************************************************************************************/
19 #include "MAIN.H"
20
21 unsigned char KeyMark;
22
23 unsigned char KeyScan(void)//键盘扫描
24 {
25 1 if(KeyMark==1)
26 1 {
27 2 if(!(KEY_PORT & 0x01))
28 2 {
29 3 DelayMs(10);
30 3 if(!(KEY_PORT & 0x01))//K1生效
31 3 {
32 4 KeyMark=0;
33 4 return(1);
34 4 }
35 3 }
36 2 else if(!(KEY_PORT & 0x02))
37 2 {
38 3 DelayMs(10);
39 3 if(!(KEY_PORT & 0x02))//K2生效
40 3 {
41 4
42 4 KeyMark=0;
43 4 return(2);
44 4 }
45 3 }
46 2 else if(!(KEY_PORT & 0x04))
47 2 {
48 3 DelayMs(10);
49 3 if(!(KEY_PORT & 0x04))//K3生效
50 3 {
51 4
52 4 KeyMark=0;
53 4 return(3);
54 4 }
55 3 }
C51 COMPILER V7.50 KEY 08/13/2007 13:36:33 PAGE 2
56 2 else if(!(KEY_PORT & 0x08))
57 2 {
58 3 DelayMs(10);
59 3 if(!(KEY_PORT & 0x08))//K4生效
60 3 {
61 4
62 4 KeyMark=0;
63 4 return(4);
64 4 }
65 3 }
66 2 else
67 2 {
68 3 return(0);
69 3 }
70 2 }
71 1 else
72 1 {
73 2 if((KEY_PORT & 0x0f) == 0x0f)//释放键盘
74 2 {
75 3 DelayMs(10);
76 3 if((KEY_PORT & 0x0f) == 0x0f) KeyMark=1;
77 3 }
78 2 return(0);
79 2 }
80 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 130 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -