📄 5lqdq.lst
字号:
C51 COMPILER V6.12 4LQDQ 01/31/2003 21:46:50 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE 4LQDQ
OBJECT MODULE PLACED IN .\4LQDQ.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE .\4LQDQ.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /***********************************************************
2 实验名称:4路抢答器示例程序
3 程序说明:按键S6,S3,S1,S4分别代表4路抢答器,抢答成功后,数码管显示相应的代号,并有声音提醒。
4 作者:RF-X1开发板团队
5 日期:2008-07-26
6 ***********************************************************/
7
8
9 #include <reg51.h>
10 #include <intrins.h>
11
12 #define uchar unsigned char
13 #define uint unsigned int
14
15 sbit K1 = P3^2; sbit K2 = P3^3; // K1对应S6 K2对应S3 K3对应S1 K4对应S4 K5对应S2
16 sbit K3 = P3^4; sbit K4 = P3^5;
17 sbit K5 = P3^6;
18 sbit BEEP = P3^7; //蜂鸣器控制端口P21
19 uchar temp;
20 void beep(); //蜂鸣器
21 void delay0(uchar x); //x*0.14MS
22
23 /******************************************/
24 /* 延时子程序 */
25 /******************************************/
26 void delay1(uchar x)
27 { uchar j;
28 1 while((x--)!=0)
29 1 { for(j=0;j<125;j++)
30 2 {;}
31 2 }
32 1 }
33
34 void delay(uint ms)
35 {
36 1 uchar t;
37 1 while(ms--)
38 1 {
39 2 for(t = 0; t < 120; t++);
40 2 }
41 1 }
42
43 void beep()
44 {
45 1 unsigned char i;
46 1 for (i=0;i<100;i++)
47 1 {
48 2 delay0(4);
49 2 BEEP=!BEEP; //BEEP取反
50 2 }
51 1 BEEP=1; //关闭蜂鸣器
52 1 delay1(250); //延时
53 1 }
54
55 void delay0(uchar x) //x*0.14MS
C51 COMPILER V6.12 4LQDQ 01/31/2003 21:46:50 PAGE 2
56 {
57 1 unsigned char i;
58 1 while(x--)
59 1 {
60 2 for (i = 0; i<13; i++) {}
61 2 }
62 1 }
63
64 /******************************************/
65 /* 主程序 */
66 /******************************************/
67 main()
68 {
69 1 P0 = 0xff;
70 1 P2 = 0xff;
71 1 while(1)
72 1 {
73 2 P0 = 0xc0; //显示“0”
74 2 P2 = 0xfe;
75 2 P3 = 0xff; //置P3.2-3.5为输入状态
76 2 _nop_();
77 2 temp = P3;
78 2
79 2 while(temp==0xff)
80 2 {
81 3 temp = P3;
82 3 temp=temp&0xff;
83 3 }
84 2
85 2 if(K1==0)
86 2 { beep();
87 3 P0 = 0xf9; //显示”1“
88 3 delay(2000);
89 3
90 3 }
91 2 else if(K2==0)
92 2 { beep();
93 3 P0 = 0xa4; //显示”2“
94 3 delay(2000);
95 3 }
96 2 else if(K3==0)
97 2 { beep();
98 3 P0 = 0xb0; //显示“3”
99 3 delay(2000);
100 3 }
101 2 else if(K4==0)
102 2 { beep();
103 3 P0 = 0x99; //显示“4”
104 3 delay(2000);
105 3 }
106 2 else if(K5==0)
107 2 { beep();
108 3 P0 = 0x92; //显示"5"
109 3 delay(2000);
110 3 }
111 2 }
112 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 187 ----
CONSTANT SIZE = ---- ----
C51 COMPILER V6.12 4LQDQ 01/31/2003 21:46:50 PAGE 3
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 1
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 + -