📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 05/18/2007 11:58:54 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
NO OBJECT MODULE REQUESTED
COMPILER INVOKED BY: D:\Program Files\Keil 8.08\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND SRC(.\main.SRC)
line level source
1 #include <reg51.h>
2 #include <intrins.h>
3
4 typedef unsigned char BYTE;
5
6 BYTE DBUF _at_ 0x30;
7 BYTE TEMP _at_ 0x40;
8
9 sbit P30=P3^0;
10 sbit P31=P3^1;
11
12 BYTE code SEGTAB[]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,
13 0x7D,0x07,0x7F,0x6F,0x77,0x7C,
14 0x58,0x5E,0x79,0x71,0x00,0x40};
15
16 BYTE code K1TAB[]={ 0x81,0x41,0x21,0x11,
17 0x82,0x42,0x22,0x12,
18 0x84,0x44,0x24,0x14,
19 0x88,0x48,0x28,0x18};
20
21
22 void display(BYTE in)
23 {
24 1 BYTE num;
25 1 DBUF=in;
26 1 TEMP=SEGTAB[DBUF];
27 1
28 1 num=8;
29 1 ACC=TEMP;
30 1
31 1 do
32 1 {
33 2 #pragma asm
34 2 RLC A
35 2 #pragma endasm
36 2
37 2 P30=CY;
38 2 P31=0;
39 2 P31=1;
40 2 }while(--num);
41 1 }
42
43
44
45 void delay()
46 {
47 1 BYTE i=0x01;
48 1
49 1 do
50 1 {
51 2 BYTE j=0x88;
52 2 do
53 2 {
54 3 _nop_();
55 3 }while(--j);
C51 COMPILER V8.08 MAIN 05/18/2007 11:58:54 PAGE 2
56 2 }while(--i);
57 1 }
58
59
60
61 BYTE key1()
62 {
63 1 BYTE temp;
64 1 BYTE num;
65 1 BYTE key;
66 1
67 1 while(1)
68 1 {
69 2 P1=0xF0;
70 2 if(P1==0xF0)
71 2 continue;
72 2
73 2 delay();
74 2 P1=0xF0;
75 2 temp=P1;
76 2 if(temp==0xF0)
77 2 continue;
78 2
79 2 P1=0x0F;
80 2 temp=P1&temp;
81 2
82 2 num=0x10;
83 2 key=0;
84 2
85 2 do
86 2 {
87 3 if(temp==K1TAB[key])
88 3 {
89 4 P1=0x0F;
90 4 while(P1!=0x0F);
91 4 return key;
92 4 }
93 3 key++;
94 3 }while(--num);
95 2 }
96 1 }
97
98
99 main()
100 {
101 1 while(1)
102 1 {
103 2 display(key1());
104 2 }
105 1
106 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 100 ----
CONSTANT SIZE = 34 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V8.08 MAIN 05/18/2007 11:58:54 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -