?? myfunction.lst
字號:
C51 COMPILER V6.23a MYFUNCTION 03/16/2006 10:12:21 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE MYFUNCTION
OBJECT MODULE PLACED IN MyFunction.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE SCR\MyFunction.c BROWSE DEBUG OBJECTEXTEND PRINT(.\MyFunction.lst) OBJECT(M
-yFunction.obj)
stmt level source
1 #include <at89x52.h>
2 #include "myiclude.h"
3 unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66 ,0x6d ,0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c};
4 void delay(unsigned char j)
5 {
6 1 unsigned char m,k;
7 1 for(m=0;m<j;m++)
8 1 for(k=0;k<5;k++);
9 1 }
10 unsigned char GetKey()
11 { unsigned char x;
12 1 if((PointW==PointR)&(OverFlag==0)) {LampEempty=1;LampFull=0;return 255;}
13 1 if(PointR>=KeyBufSize) PointR=0;
14 1 x=KeyBuf[PointR];
15 1 PointR++;
16 1 return x;
17 1 }
18 void LcdDriver()
19 { static unsigned char i,j;
20 1 j=i;
21 1 i=GetKey();
22 1 if(i==255) { DispBuf[0]=j; i=j;}
23 1 else DispBuf[0]=i;
24 1 DispBuf[1]=DispBuf[0];
25 1 }
26 unsigned char PutKey()
27 {
28 1 if((PointW-PointR)==KeyBufSize-1) {LampEempty=0;LampFull=1;return 255;}
29 1 if(PointW>=KeyBufSize) { PointW=0; OverFlag=1;}
30 1 if((PointW==PointR)&(OverFlag==1)){LampEempty=0;LampFull=1;OverFlag=0;return 255;}
31 1 KeyBuf[PointW]=JianZi;
32 1 PointW++;
33 1 }
34 unsigned char KeyDriver()
35 { unsigned char x,y,key;
36 1 P2=0x0f; //低四位輸入1,高四位輸出0
37 1 x=P2;
38 1 x=x&0x0f; //P2輸入后,清高四位,作為X值
39 1 P2=0xf0; //高四位輸入1,低四位輸出0
40 1 y=P2;
41 1 y=y&0xf0; //P2輸入后移位到低四位,并清高四位,作為Y值
42 1 key=x|y;
43 1 key=key&0xfe;
44 1 return key;
45 1 }
46 void Key()
47 {
48 1 unsigned char Keyok;
49 1 Keyok=KeyDriver();
50 1 if(Keyok==254){return;}
51 1 else
52 1 {
53 2 switch(Keyok)
54 2 {
C51 COMPILER V6.23a MYFUNCTION 03/16/2006 10:12:21 PAGE 2
55 3 case 236: JianZi=3; break;
56 3 case 234: JianZi=2; break;
57 3 case 230: JianZi=1; break;
58 3
59 3 case 220: JianZi=6; break;
60 3 case 218: JianZi=5; break;
61 3 case 214: JianZi=4; break;
62 3
63 3 case 188: JianZi=9; break;
64 3 case 186: JianZi=8; break;
65 3 case 182: JianZi=7; break;
66 3
67 3 case 124: JianZi=0; break;
68 3 case 122: JianZi=11; break;
69 3 case 118: JianZi=10; break;
70 3 }
71 2 PutKey();
72 2 LcdDriver();
73 2 }
74 1 }
75 void display(void) //顯示函數
76 {
77 1 static unsigned char sys;
78 1 switch(sys)
79 1 { case 0:P3_5=1;
80 2 P2_0=0;
81 2 P0=a[DispBuf[0]];
82 2 sys=1;
83 2 break;
84 2 case 1:P3_5=0;
85 2 P2_0=1;
86 2 P0=a[DispBuf[1]];
87 2 sys=0;
88 2 break;
89 2 }
90 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 352 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 33 ----
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 + -