📄 p456.lst
字号:
C51 COMPILER V7.09 P456 09/24/2005 14:39:31 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE P456
OBJECT MODULE PLACED IN P456.OBJ
COMPILER INVOKED BY: D:\Tools\Keil_C51\C51\BIN\C51.EXE P456.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <Winbond\REG54.H>
2 #include <INTRINS.H> // for _nop_()
3
4 sbit P14 = P1^4; //count Switch
5 sbit P13 = P1^3; //Tray-In/Out Switch
6 sbit P12 = P1^2;
7 sbit P11 = P1^1;
8 sbit P16 = P1^6;
9
10 void delay_1ms(unsigned short t);
11 void delay_10us(unsigned char t);
12 void delay_20us(unsigned char t);
13 void delay_50us(unsigned char t);
14 void delay_100us(unsigned char t);
15 void delay_500us(unsigned char t);
16 void DA_invert(unsigned int voltage,unsigned int time);
17 void systemini();
18
19 void systemini()
20 {
21 1 EA=0; //inetrrupt Disable
22 1 }
23
24 void delay_1ms(unsigned short t) //useful range t = 1(1ms) ~ 1000(1s)
25 {
26 1
27 1 int i;
28 1
29 1 while(t>0)
30 1 {
31 2 i=120;
32 2 while(i>0)
33 2 {
34 3 i--;
35 3 }
36 2 t--;
37 2 _nop_();
38 2 _nop_();
39 2 _nop_();
40 2 _nop_();
41 2 }
42 1 }
43 void delay_10us() //useful range (10us)
44 {
45 1 _nop_();
46 1 _nop_();
47 1 _nop_();
48 1 _nop_();
49 1 _nop_();
50 1 }
51
52 void delay_20us(unsigned char t) //useful range t = 1(20us)
53 {
54 1 while(t>0)
55 1 {
C51 COMPILER V7.09 P456 09/24/2005 14:39:31 PAGE 2
56 2 _nop_();
57 2 t--;
58 2 }
59 1 }
60
61 void delay_50us(unsigned char t) //useful range t = 1(100us)
62 {
63 1 int i;
64 1
65 1 while(t>0)
66 1 {
67 2 i=3;
68 2 while(i>0)
69 2 {
70 3 _nop_();
71 3 _nop_();
72 3 i--;
73 3 }
74 2 t--;
75 2 }
76 1 }
77
78 void delay_100us(unsigned char t) //useful range t = 1(100us)
79 {
80 1 int i;
81 1 while(t>0)
82 1 {
83 2 i=10;
84 2 while(i>0)
85 2 {
86 3 i--;
87 3 }
88 2 t--;
89 2 _nop_();
90 2 }
91 1 }
92
93 void delay_500us(unsigned char t) //useful range t = 1(500us)
94 {
95 1 int i;
96 1 while(t>0)
97 1 {
98 2 i=60;
99 2 while(i>0)
100 2 {
101 3 i--;
102 3 }
103 2 t--;
104 2 }
105 1 }
106
107 void DA_invert(unsigned int voltage,unsigned int time)
108 {
109 1 unsigned int j;
110 1 unsigned int T;
111 1 T=time*1000;
112 1
113 1 for(j=0;j<T;j++)
114 1 {
115 2 P16=0;
116 2 delay_100us(1);
117 2 delay_100us(1);
C51 COMPILER V7.09 P456 09/24/2005 14:39:31 PAGE 3
118 2 delay_100us(1);
119 2 delay_20us(1);
120 2 delay_20us(1);
121 2 P16=1;
122 2 delay_500us(1);
123 2 delay_100us(1);
124 2 delay_50us(1);
125 2 delay_10us();
126 2 }
127 1 }
*** WARNING C280 IN LINE 107 OF P456.C: 'voltage': unreferenced local variable
128
129 main()
130 {
131 1 char i=0;
132 1 P2=0x00;
133 1 P1=0X00;
134 1 P16=0;
135 1 delay_100us(1);
136 1 delay_100us(1);
137 1 delay_100us(1);
138 1 delay_20us(1);
139 1 delay_20us(1);
140 1 P16=1;
141 1 delay_500us(1);
142 1 delay_100us(1);
143 1 delay_50us(1);
144 1 delay_10us();
145 1
146 1 while(1)
147 1 {
148 2
149 2 do { //out turn
150 3
151 3 P13=0;
152 3 delay_1ms(200);
153 3 P14=0;
154 3 delay_1ms(200);
155 3 P13=1;
156 3 delay_1ms(200);
157 3 P14=1;
158 3 delay_1ms(200);
159 3 P2=0x00;
160 3
161 3 } while(P12==1 && P11==1);
162 2
163 2 do { //in turn
164 3 P14=1;
165 3 delay_1ms(200);
166 3 P13=1;
167 3 delay_1ms(200);
168 3 P14=0;
169 3 delay_1ms(200);
170 3 P13=0;
171 3 delay_1ms(200);
172 3 P2=0x01;
173 3 } while(P11==0 && P11==0);
174 2
175 2 }
176 1
177 1
178 1 while(1) //LED 0~1 Add Count Display
C51 COMPILER V7.09 P456 09/24/2005 14:39:31 PAGE 4
179 1 {
180 2
181 2 delay_1ms(1000);
182 2 P2++;
183 2 if (P2==0x0a) P2=0x00;
184 2 }
185 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 281 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -