📄 qiangda.lst
字号:
C51 COMPILER V7.50 QIANGDA 10/30/2008 16:53:08 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE QIANGDA
OBJECT MODULE PLACED IN qiangda.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE qiangda.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 unsigned char DATA_7seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//两位时间段码
3 sbit start=P1^7; //抢答开始
4 sbit mode=P2^7; //模式选择——抢答-定
5 sbit add=P3^7; //调时
6 sbit beep=P0^7; //蜂鸣器
7 sbit k1=P0^0;
8 sbit k2=P0^1;
9 sbit k3=P0^2;
10 sbit k4=P0^3;
11 sbit k5=P0^4;
12 sbit k6=P0^5;
13 sbit k7=P0^6;
14 unsigned int time=10; //默认倒计时
15 unsigned int time_set=10;
16 void Timer();
17 /*******延时 n*1mS 程序********/
18 void Delay(unsigned int k)
19 {
20 1 unsigned int i,j;
21 1 for(i=0;i<k;i++)
22 1 {
23 2 for(j=0;j<0x60;j++)
24 2 {;}
25 2 }
26 1 }
27 /**************输入倒计时——时间**********************/
28 in_time()
29 {
30 1 while(1)
31 1 {
32 2 P3=0xbf;
33 2 P2=DATA_7seg[time/10];
34 2 P1=DATA_7seg[time%10];
35 2 if(add==0) //输入时间
36 2 { Delay(8);
37 3 if(add==0)
38 3 { time++;
39 4 time_set=time;
40 4 Delay(250); }
41 3 if(time==100)
42 3 { time=0; }
43 3 }
44 2 if(start==0) break;
45 2 }
46 1 }
47 /************抢答选择**********/
48 void question(void)
49 {
50 1 while(1)
51 1 {
52 2 if(k1==0) { P3=0xf9; break; } //1 号
53 2 if(k2==0) { P3=0xa4; break; } //2 号
54 2 if(k3==0) { P3=0xb0; break; } //3 号
55 2 if(k4==0) { P3=0x99; break; } //4 号
C51 COMPILER V7.50 QIANGDA 10/30/2008 16:53:08 PAGE 2
56 2 if(k5==0) { P3=0x92; break; } //5 号
57 2 if(k6==0) { P3=0x82; break; } //6 号
58 2 if(k7==0) { P3=0xf8; break; } //7 号
59 2 P3=0xbf; P2=time; P1=0xbf;
60 2 }
61 1 }
62 /*************************************************/
63 //倒计时
64 void Timer()
65 {
66 1 while(1)
67 1 { P2=DATA_7seg[time/10];
68 2 P1=DATA_7seg[time%10];
69 2 --time;
70 2 Delay(1200); //延时大约一秒
71 2 if(time==0) {time=time_set; break; }
72 2 }
73 1 }
74
75 /***************主程序**************/
76 main()
77 {
78 1 while(start)
79 1 {
80 2 P3=0xbf;
81 2 P2=0xc0;
82 2 P1=0xc0;
83 2 Delay(50);
84 2 P2=0xff; P1=0xff;
85 2 Delay(50);
86 2 if(mode==0)
87 2 {
88 3 Delay(8);
89 3 if(mode==0) { in_time();}
90 3 }
91 2 }
92 1 Delay(350);
93 1 while(1)
94 1 {
95 2 P3=0xc0;
96 2 P2=0xbf;
97 2 P1=0xbf;
98 2 P0=0xff; //抢答器初始化
99 2 Delay(50);
100 2 P2=0xff; P1=0xff;
101 2 Delay(50);
102 2 if(start==0)
103 2 {
104 3 Delay(8);
105 3 if(start==0)
106 3 {
107 4 question(); // 抢答选择
108 4
109 4 Timer(); //进入倒计时
110 4 }
111 3 }
112 2 }
113 1
114 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.50 QIANGDA 10/30/2008 16:53:08 PAGE 3
CODE SIZE = 327 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 14 ----
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 + -