?? key.lst
字號:
C51 COMPILER V8.05a KEY 10/26/2008 20:55:53 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <key.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 void d1ms(uint i)
6 {
7 1 uint a;
8 1 for(;i>0;i--)
9 1 {
10 2 for(a=800;a>0;a--);
11 2 }
12 1 }
13
14 void d1s(uint i)
15 {
16 1 for(;i>0;i--)
17 1 {
18 2 d1ms(500);
19 2 }
20 1 }
21 /***********************
22 返回0x0A:按下設置鍵; 返回0X06:光標鍵; 返回0X09:加鍵; 返回0X05:減鍵; 非正常按鍵:0
23 ***********************/
24 uchar keyscan()
25 {
26 1 uchar scan1,second1;
27 1 P2=0xf0;
28 1 if((P2&0xf0)!=0xf0) /*判斷是否有鍵按下*/
29 1 {
30 2 d1ms(1);
31 2 if((P2&0xf0)!=0xf0) /*再次判斷*/
32 2 {
33 3 scan1=0xfe; /*逐行掃描*/
34 3 while((scan1&0x10)!=0) /*只允許位移3位*/
35 3 {
36 4 P2=scan1;
37 4 if((P2&0xf0)!=0xf0)
38 4 {
39 5 second1=(P2&0xf0)|0x0f;
40 5 do
41 5 {
42 6 P2=0xf0;
43 6 }while(P2!=0xf0); //等待按鍵松開
44 5 d1ms(1);
45 5 return((~second1)+(~scan1));
46 5 }
47 4 else
48 4 scan1=(scan1<<1)|0x01;
49 4 }
50 3
51 3 }
52 2
53 2
54 2 }
55 1 return(0);
C51 COMPILER V8.05a KEY 10/26/2008 20:55:53 PAGE 2
56 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 141 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
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 + -