📄 main.lst
字号:
C51 COMPILER V7.07 MAIN 02/26/2008 17:15:23 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "AT89X52.h"
2
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define Ls138 P1
6 #define key P2
7
8 code uchar led[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
9 void delay(uint i);
10 void display(uchar number);
11 void keypress(void);
12 void keyrelease(void);
13 uchar ch = 0;
14 bit time_flag = 0,fkeypress = 0,firstin = 0;
15 main()
16 {
17 1 // uchar j;
18 1 SCON = 0x00;
19 1 TMOD = 0x01;
20 1 TH0 = 0x3c;
21 1 TL0 = 0xb0;
22 1 EA =1;
23 1 ET0 = 1;
24 1 TR0 = 1;
25 1 display(led[ch]);
26 1 while(1)
27 1 {
28 2 /*for(j=0;j<10;j++)
29 2 {
30 2 display(led[j]);
31 2 delay(10000);
32 2 }*/
33 2 if(!fkeypress)
34 2 {
35 3 keypress();
36 3 }
37 2 if(fkeypress)
38 2 {
39 3 keyrelease();
40 3 }
41 2 if(fkeypress&&!firstin)
42 2 {
43 3 firstin = 1;
44 3 ch++;
45 3 if(ch>9)
46 3 {
47 4 ch = 0;
48 4 }
49 3 }
50 2 if(time_flag)
51 2 {
52 3 time_flag = 0;
53 3 display(led[ch]);
54 3 }
55 2 }
C51 COMPILER V7.07 MAIN 02/26/2008 17:15:23 PAGE 2
56 1 }
57
58 void delay(uint i)
59 {
60 1 while(--i);
61 1 }
62
63 void display(uchar number)
64 {
65 1 uchar i;
66 1 for(i=1;i<7;i++)
67 1 {
68 2 Ls138 = i;
69 2 SBUF = ~number;
70 2 while(!TI);
71 2 TI = 0;
72 2 }
73 1 }
74
75 void time0() interrupt 1 using 0
76 {
77 1 TR0 = 0;
78 1 TH0 = 0x3c;
79 1 TL0 = 0xb0;
80 1 time_flag = 1;
81 1 TR0 =1;
82 1 }
83
84 void keypress(void)
85 {
86 1 key = 0xff;
87 1 if(!(key&0x80))
88 1 {
89 2 delay(600);
90 2 }
91 1 else
92 1 {
93 2 fkeypress = 0;
94 2 firstin = 0;
95 2 return;
96 2 }
97 1 key = 0xff;
98 1 if(!(key&0x80))
99 1 fkeypress = 1;
100 1 }
101
102 void keyrelease(void)
103 {
104 1 key = 0xff;
105 1 if((key&0x80))
106 1 {
107 2 delay(600);
108 2 }
109 1 else
110 1 {
111 2 return;
112 2 }
113 1 key = 0xff;
114 1 if((key&0x80))
115 1 fkeypress = 0;
116 1 }
C51 COMPILER V7.07 MAIN 02/26/2008 17:15:23 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 170 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -