📄 新.lst
字号:
C51 COMPILER V8.01 新 03/06/2008 20:09:31 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE 新
OBJECT MODULE PLACED IN 新.OBJ
COMPILER INVOKED BY: G:\keil\C51\BIN\C51.EXE 新.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /* 4*4键盘+lcd1602显示*/
2 /* 作者QQ:497259320 */
3 /* 2007-12-8 */
4 #include"at89x51.h"
5 #include"lcd.h" //包含lch文件
6 uchar sw(uchar a);
7 uchar s,m,n,p=0;
8 void jp(void);
9 uchar code sz[]="The number is:";
10 /*****取键盘数******/
11 uchar sw(uchar a)
12 {
13 1 uchar k;
14 1 switch(a)
15 1 {
16 2 case 1: k=0;break;
17 2 case 2: k=1;break;
18 2 case 4: k=2;break;
19 2 case 8: k=3;break;
20 2 default: break;
21 2 }
22 1 return k;
23 1 }
24 /****键盘程序****/
25 void jp(void)
26 {
27 1 uchar b;
28 1 P3=0x0f;
29 1 delay(1);
30 1 if(P3!=0x0f)
31 1 {
32 2 P3=0x0f;
33 2 delay(5);
34 2 b=P3;
35 2 if(b!=0x0f)
36 2 {
37 3 s=b^0x0f;
38 3 m=sw(s);
39 3 P3=0xf0;
40 3 delay(1);
41 3 if(P3!=0xf0)
42 3 {
43 4 b=P3;
44 4 s=b^0xf0;
45 4 s=(s/16)&0x0f;
46 4 n=sw(s);
47 4 p=4*m+n;
48 4 };
49 3 }
50 2 }
51 1
52 1 }
53
54 void main()
55 {
C51 COMPILER V8.01 新 03/06/2008 20:09:31 PAGE 2
56 1 uchar i,j;
57 1
58 1
59 1
60 1 init(); //初始化
61 1 clear(); //清屏
62 1 xy(1,0);
63 1 for(i=0;i<=13;i++) //显示 The number is:
64 1 {
65 2 write_data(sz[i]);
66 2 delay(100);
67 2 }
68 1 /*****显示按键的值****/
69 1 jp();
70 1 do
71 1 {
72 2 xy(2,0);
73 2 j=p;
74 2 P1=p;
75 2 write_data((p/10)+48); /*和ASCII值对应就得加上48*/
76 2 delay(10);
77 2 write_data((p%10)+48);
78 2 delay(10);
79 2 for(;;) /*有键按下才可以跳出*/
80 2 {
81 3 jp();delay(1);
82 3 if(p!=j)
83 3 break;
84 3 }
85 2 }
86 1 while(1);
87 1 }
88
89
90
91
92
93
94
95
96
97
98
99
100
101
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 309 ----
CONSTANT SIZE = 15 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -