📄 mcu_demo.lst
字号:
C51 COMPILER V6.12 MCU_DEMO 05/19/2005 19:10:56 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE MCU_DEMO
OBJECT MODULE PLACED IN .\mcu_demo.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\mcu_demo.c DEBUG OBJECTEXTEND
stmt level source
1 /************************************************************************************
2 * *
3 * MCU_DEMO.C *
4 * *
5 ************************************************************************************/
6
7 #include <reg51.h>
8 #include <stdio.h>
9
10 unsigned char code LED_Tab[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
11 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
12 unsigned char code LED_Tab1[16]={0x3f,0x06,0x9B,0x8F,0xA6,0xAD,0xBD,0x07,
13 0xBF,0xAF,0xB7,0xBC,0x39,0x9E,0xB9,0xB1};
14 sbit LED1_enable=P0^0;
15 sbit LED2_enable=P0^1;
16 sbit LED3_enable=P0^2;
17 sbit LED4_enable=P0^3;
18 sbit LED5_enable=P0^4;
19 sbit LED6_enable=P0^5;
20
21 #define LED_DATA P1
22
23 sbit BEEP=P3^2;
24
25 sbit KEY1=P0^6;
26 sbit KEY2=P0^7;
27 sbit KEY3=P1^6;
28 sbit KEY4=P1^7;
29
30 #define DELAY_CONST 3000
31 #define DELAY_CONST2 10
32
33 void delay_ms(unsigned int n)
34 {
35 1 unsigned int i,j;
36 1
37 1 for (i=0;i<n;i++)
38 1 for (j=0;j<10;j++)
39 1 {
40 2 j++;
41 2 j--;
42 2 }
43 1
44 1 }
45
46 void beep_on(void)
47 {
48 1 unsigned short i;
49 1
50 1 for (i=0;i<100;i++)
51 1 {
52 2 BEEP=0;
53 2 delay_ms(1);
54 2 BEEP=1;
55 2 delay_ms(1);
C51 COMPILER V6.12 MCU_DEMO 05/19/2005 19:10:56 PAGE 2
56 2 BEEP=0;
57 2 delay_ms(2);
58 2 BEEP=1;
59 2 delay_ms(2);
60 2 BEEP=0;
61 2 delay_ms(3);
62 2 BEEP=1;
63 2 delay_ms(3);
64 2 BEEP=0;
65 2 delay_ms(4);
66 2 BEEP=1;
67 2 delay_ms(4);
68 2 }
69 1 delay_ms(500);
70 1 }
71 void main(void)
72 {
73 1 unsigned char i,j;
74 1 unsigned char temp;
75 1
76 1 //disable all LEDs
77 1 LED1_enable=0;
78 1 LED2_enable=0;
79 1 LED3_enable=0;
80 1 LED4_enable=0;
81 1 LED5_enable=0;
82 1 LED6_enable=0;
83 1
84 1 BEEP=1;
85 1
86 1 for (i=0;i<9;i++)
87 1 for (j=0;j<6;j++)
88 1 {
89 2 switch (j)
90 2 {
91 3 case 0: //LED1
92 3 LED1_enable=1;
93 3 break;
94 3 case 1: //LED2
95 3 LED2_enable=1;
96 3 break;
97 3 case 2: //LED3
98 3 LED3_enable=1;
99 3 break;
100 3 case 3: //LED4
101 3 LED4_enable=1;
102 3 break;
103 3 case 4: //LED5
104 3 LED5_enable=1;
105 3 break;
106 3 case 5: //LED6
107 3 LED6_enable=1;
108 3 break;
109 3 }
110 2
111 2 if (j!=1)
112 2 LED_DATA=LED_Tab[i];
113 2 else
114 2 LED_DATA=LED_Tab1[i];
115 2
116 2 delay_ms(DELAY_CONST);
117 2 LED1_enable=0;
C51 COMPILER V6.12 MCU_DEMO 05/19/2005 19:10:56 PAGE 3
118 2 LED2_enable=0;
119 2 LED3_enable=0;
120 2 LED4_enable=0;
121 2 LED5_enable=0;
122 2 LED6_enable=0;
123 2 }
124 1
125 1 P1=0xff;
126 1 temp=P1;
127 1
128 1 LED1_enable=1;
129 1 while(1)
130 1 {
131 2 if (KEY4==0) //push key1
132 2 {
133 3 while(KEY4==0){};
134 3 LED_DATA=LED_Tab[1];
135 3 beep_on();
136 3 P1=0xff;
137 3 temp=P1;
138 3 }
139 2 if (KEY3==0) //push key2
140 2 {
141 3 while(KEY3==0){};
142 3 LED_DATA=LED_Tab[2];
143 3 beep_on();
144 3 P1=0xff;
145 3 temp=P1;
146 3 }
147 2 if (KEY2==0) //push key3
148 2 {
149 3 while(KEY2==0){};
150 3 LED_DATA=LED_Tab[3];
151 3 beep_on();
152 3 P1=0xff;
153 3 temp=P1;
154 3 }
155 2
156 2 if (KEY1==0) //push key4
157 2 {
158 3 while(KEY1==0){};
159 3 LED_DATA=LED_Tab[4];
160 3 beep_on();
161 3 P1=0xff;
162 3 temp=P1;
163 3 }
164 2 }
165 1
166 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 302 ----
CONSTANT SIZE = 32 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -