📄 抢答器.lst
字号:
C51 COMPILER V7.50 抢答芲 06/29/2006 15:01:43 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 抢答芲
OBJECT MODULE PLACED IN 抢答器.OBJ
COMPILER INVOKED BY: D:\Program Files\C51\BIN\C51.EXE 抢答器.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #define uchar unsigned char
3 uchar k,i;
4 sbit P3_2=P3^2;
5 bit flag,flag_1=1;
6 uchar duanma[10] =
7 {
8 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90
9 };
10 uchar weima[4] =
11 {
12 0xfe, 0xfd, 0xfb, 0xf7
13 };
14 uchar huanchun[4];
15 uchar room[6]={ 100,100,100,100,100,100};
16 void Delay(uchar i)
17 {
18 1 do{
19 2 huanchun[0] = room[huanchun[3]]%10;
20 2 huanchun[1] = (room[huanchun[3]]/10)%10;
21 2 huanchun[2] = room[huanchun[3]]/100;
22 2
23 2 }while(i--);
24 1 }
25 void xianshi()interrupt 3 //中断显示
26 {
27 1 TH1=0Xf8; //显示定时两毫秒。
28 1 TL1=0Xcc;
29 1 P1 = weima[i];
30 1 P2 = duanma[huanchun[i]];
31 1 i++;
32 1 if(i==4)i=0;
33 1 }
34 unsigned char scankey()
35 {
36 1 unsigned char k,down,up;
37 1 P0=0x00;
38 1 P0=0xF0;
39 1 k=P0;
40 1 if(k==0xF0)return 0xFF;
41 1 Delay(50); ////////////
42 1 down=3;
43 1 while(k&0x80)down--,k<<=1;
44 1 P0=0x00;
45 1 P0=0x0F;
46 1 k=P0;
47 1 if(k==0x0F)return 0xFF;
48 1 up=0;
49 1 while(k&0x01)up+=4,k>>=1;
50 1 return up+down;
51 1 }//scankey
52 songjian() //松键操作
53 { uchar k;
54 1 while(1)
55 1 { k=scankey();
C51 COMPILER V7.50 抢答芲 06/29/2006 15:01:43 PAGE 2
56 2 if(k==scankey()&&k==0xff)break;
57 2 }
58 1 }
59 main()
60 {
61 1 TMOD = 0X01;
62 1 TH1=0Xf8;
63 1 TL1=0Xcc;
64 1 EA = 1;
65 1 ET1 = 1;
66 1 TR1 = 1;
67 1 while(1)
68 1 { flag=0;
69 2 flag_1=1;
70 2 k=scankey();
71 2 Delay(100);
72 2 if(k==scankey()&&k!=0xff)
73 2 {
74 3 songjian();
75 3 if(k==15)
76 3 {
77 4 huanchun[3]=0;
78 4 flag=1;
79 4 }
80 3 if(k==15&&flag==1)////
81 3 { flag=0;
82 4 while(flag_1)
83 4 { k=scankey();
84 5 Delay(100);
85 5 if(k==scankey()&&k!=0xff)
86 5 {
87 6 songjian();
88 6 switch(k)
89 6 {
90 7
91 7 case 4: huanchun[3]=1;
92 7 flag_1=0;
93 7 break;
94 7 case 5: huanchun[3]=2;
95 7 flag_1=0;
96 7 break;
97 7 case 6: huanchun[3]=3;
98 7 flag_1=0;
99 7 break;
100 7 case 7: huanchun[3]=4;
101 7 flag_1=0;
102 7 break;
103 7 case 8: huanchun[3]=5;
104 7 flag_1=0;
105 7 break;
106 7 }
107 6 }
108 5 }
109 4
110 4 }///////////
111 3 if(k==14)room[huanchun[3]]+=10;
112 3 if(k==13)room[huanchun[3]]-=10;
113 3
114 3 }
115 2 }
116 1 }
C51 COMPILER V7.50 抢答芲 06/29/2006 15:01:43 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 354 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -