📄 text2.lst
字号:
C51 COMPILER V8.08 TEXT2 03/12/2009 17:29:45 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TEXT2
OBJECT MODULE PLACED IN Text2.OBJ
COMPILER INVOKED BY: E:\单片机软件\keil\kell\C51\BIN\C51.EXE Text2.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2
3
4 unsigned char num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} ;//0~9
5
6 sbit P14=P1^4;
7 sbit P15=P1^5;
8 sbit P16=P1^6;
9 sbit P17=P1^7;
10
11 unsigned char key_x;//行
12 unsigned char key_y;//列
13
14 void get_char(void)//键盘扫描函数
15 {
16 1 int i;
17 1 unsigned char outdata;
18 1 P1=0xf0;
19 1 while(P1==0xf0);
20 1
21 1 outdata=0xfe;//第一行
22 1 key_x=1;
23 1 key_y=0;
24 1 for(i=0;i<4;i++)
25 1 {
26 2 P1=outdata;
27 2 if(P14==0)
28 2 {
29 3 key_y=1;//第一列
30 3 break;
31 3 }
32 2 else if(P15==0)
33 2 {
34 3 key_y=2;//第二列
35 3 break;
36 3 }
37 2 else if(P16==0)
38 2 {
39 3 key_y=3;//第三列
40 3 break;
41 3 }
42 2 else if(P17==0)
43 2 {
44 3 key_y=4;//第四列
45 3 break;
46 3 }
47 2 key_x++;//行加1
48 2 outdata=outdata<<1;//循环左移再加1
49 2 outdata+=0x01;
50 2
51 2 }
52 1
53 1 }
54
55 void show()//显示函数
C51 COMPILER V8.08 TEXT2 03/12/2009 17:29:45 PAGE 2
56 {
57 1 if(key_x>=1&&key_y>=1)
58 1 {
59 2 P2=num[key_x];
60 2 P3=num[key_y];
61 2 }
62 1 }
63
64 void delay()
65 {
66 1 int i=100;
67 1 while(i--);
68 1 }
69
70 main()
71 {
72 1
73 1 while(1)
74 1 {
75 2 get_char();//键盘扫描调用
76 2 show();//显示
77 2 }
78 1
79 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 121 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 ----
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 + -