📄 new_zong.lst
字号:
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE NEW_ZONG
OBJECT MODULE PLACED IN new_zong.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE new_zong.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <stdio.h>
3 #define uchar unsigned char
4 #include <math.h>
5
6 unsigned int tick,step;
7 uchar key_all=0;
8 uchar in_number=0;
9
10 uchar data12[9]={0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f};
11 int speed=4;int jieju;
12 int speed1;
13 const uchar data_void[9]={0x00,0x00,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f};
14
15 unsigned char anticlock[8]={0xf4,0xf6,0xf2,0xf3,0x01,0xf9,0xf8,0xfc};
16
17 unsigned char clock[8]={0xf8,0xf9,0x01,0xf3,0xf2,0xf6,0xf4,0xfc};
18
19
20 uchar in_status;
21 unsigned int pos;
22 unsigned int temp;
23 uchar m;
24
25 sbit DIN=P3^5;
26 sbit LOAD=P3^6;
27 sbit CLP=P3^7;
28
29 sbit P1_0=P1^0; //主线机的方向控制
30 sbit P1_1=P1^1; //主线机的脉冲
31
32 sbit P1_6=P1^6; //排线机方向控制
33 sbit P1_7=P1^7; //排线机脉冲输入
34 bit yes;
35 //sbit my=P1^7;
36
37
38 void delay(void);
39 void send(uchar add,uchar );
40 void s_seg(uchar *p);
41 void keyscan(void); //键盘扫描函数
42 void clear_all(void);
43 void my_delay(void);
44
45 void zhengzhuan(int);
46 void fanzhuan(int) ;
47 void key_process(void);
48 void initt1(void) ;
49 void es_isr0 (void) ;
50
51 void main()
52 {
53 1 //uchar key_get=15;
54 1
55 1 int i;
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 2
56 1 in_status=0;
57 1 initt1();
58 1 tick=0;
59 1 pos=0;
60 1
61 1 step=1;
62 1 while(1)
63 1 {
64 2 keyscan();
65 2 key_process();
66 2 // if(yes){ zhengzhuan(speed1); yes=0;}
67 2
68 2
69 2 /* for (i=0;i<8;i++)
70 2 {
71 2 P0=clock[i];
72 2 my_delay();
73 2 }
74 2
75 2 */
76 2 }
77 1 }
*** WARNING C280 IN LINE 55 OF NEW_ZONG.C: 'i': unreferenced local variable
78
79 void initt1(void)
80 {
81 1 P1_0 =1;
82 1 P1_1 =1;
83 1 TMOD=0X11;
84 1 TH0=0Xdd;
85 1 TL0=0X00;
86 1
87 1 TR0=1;
88 1 ET0=1;
89 1
90 1 EA=0;
91 1
92 1 }
93
94
95 void key_process(void)
96 {
97 1
98 1 // in_number=0;
99 1
100 1
101 1 if((key_all==13 )||( key_all==14))
102 1 {
103 2 if(key_all==13) in_status=1;
104 2 else in_status= 2;
105 2 clear_all();
106 2 }
107 1 if((in_status!=0)&&(key_all>=1)&&(key_all<=10))
108 1 {
109 2 for(m=8;m>1;m--)
110 2 {
111 3 data12[m]=data12[m-1];
112 3 }
113 2 data12[1]=key_all-1;
114 2
115 2 in_number++;
116 2
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 3
117 2 s_seg(data12);
118 2
119 2
120 2 if( in_number >7 ) in_number=0;
121 2
122 2 }
123 1 if(key_all==11)
124 1 {
125 2 // EA=1;
126 2
127 2 temp=0;
128 2
129 2 for(m=1;m<=in_number;m++)
130 2 {
131 3 temp+=data12[m]*pow(10,(m-1));
132 3 tick=temp;
133 3
134 3 // temp=data12[1];
135 3 }
136 2
137 2 switch(temp)
138 2 {
139 3 case 20: tick=0; if(0==(pos/2)) {P1_0=1;step=pos/2;EA=0;} if(0<(pos/2)) {P1_0=0;step=pos/2;EA=1;} brea
-k;
140 3 case 26: tick=0; if(14>(pos/2)) {P1_0=1;step=14-pos/2;EA=1;}if(14<(pos/2)) {P1_0=0;step=pos/2-14;EA=1;}
- break;
141 3 case 34: tick=0; if(28>(pos/2)) {P1_0=1;step=28-pos/2;EA=1;}if(28<(pos/2)) {P1_0=0;step=pos/2-28;EA=1;}
- break;
142 3 case 40: tick=0; if(42>(pos/2)) {P1_0=1;step=42-pos/2;EA=1;}if(42<(pos/2)) {P1_0=0;step=pos/2-42;EA=1;}
- break;
143 3 case 47: tick=0; if(56>(pos/2)) {P1_0=1;step=56-pos/2;EA=1;}if(56<(pos/2)) {P1_0=0;step=pos/2-56;EA=1;}
- break;
144 3 case 52: tick=0; if(70>(pos/2)) {P1_0=1;step=70-pos/2;EA=1;}if(70<(pos/2)) {P1_0=0;step=pos/2-70;EA=1;}
- break;
145 3 case 60: tick=0; if(84>(pos/2)) {P1_0=1;step=84-pos/2;EA=1;}if(84<(pos/2)) {P1_0=0;step=pos/2-84;EA=1;
-}break;
146 3 case 65: tick=0; if(98>(pos/2)) {P1_0=1;step=98-pos/2;EA=1;}if(98<(pos/2)) {P1_0=0;step=pos/2-98;EA=1;}
- break;
147 3 case 70: tick=0; if(112>(pos/2)) {P1_0=1;step=112-pos/2;EA=1;}if(112<(pos/2)) {P1_0=0;step=pos/2-112;EA
-=1;} break;
148 3 case 77: tick=0; if(126>(pos/2)) {P1_0=1;step=126-pos/2;EA=1;}if(126<(pos/2)) {P1_0=0;step=pos/2-126;EA
-=1;} break;
149 3 case 83: tick=0; if(140>(pos/2)) {P1_0=1;step=140-pos/2;EA=1;}if(140<(pos/2)) {P1_0=0;step=pos/2-140;EA
-=1;} break;
150 3 case 89: tick=0; if(154>(pos/2)) {P1_0=1;step=154-pos/2;EA=1;}if(154<(pos/2)) {P1_0=0;step=pos/2-154;EA
-=1;} break;
151 3 case 95: tick=0; if(168>(pos/2)) {P1_0=1;step=168-pos/2;EA=1;}if(168<(pos/2)){P1_0=0;step=pos/2-168;EA=
-1;} break;
152 3 case 100: tick=0; if(182>(pos/2)) {P1_0=1;step=182-pos/2;EA=1;}if(182<(pos/2)) {P1_0=0;step=pos/2-182;
-EA=1;} break;
153 3 case 105: tick=0; if(196>(pos/2)) {P1_0=1;step=196-pos/2;EA=1;}if(196<(pos/2)) {P1_0=0;step=pos/2-196;
-EA=1;} break;
154 3 case 112: tick=0; if(210>(pos/2)) {P1_0=1;step=210-pos/2;EA=1;}if(210<(pos/2)) {P1_0=0;step=pos/2-210;
-EA=1;} break;
155 3 case 118: tick=0; if(224>(pos/2)) {P1_0=1;step=224-pos/2;EA=1;}if(224<(pos/2)) {P1_0=0;step=pos/2-224;
-EA=1;} break;
156 3 case 120: tick=0; if(238>(pos/2)) {P1_0=1;step=238-pos/2;EA=1;}if(238<(pos/2)) {P1_0=0;step=pos/2-238;
-EA=1;} break;
157 3 case 127: tick=0; if(252>(pos/2)) {P1_0=1;step=252-pos/2;EA=1;}if(252<(pos/2)) {P1_0=0;step=pos/2-252;
-EA=1;} break;
158 3 case 133: tick=0; if(266>(pos/2)) {P1_0=1;step=266-pos/2;EA=1;}if(266<(pos/2)) {P1_0=0;step=pos/2-266;
-EA=1;} break;
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 4
159 3 case 138: tick=0; if(280>(pos/2)) {P1_0=1;step=280-pos/2;EA=1;}if(280<(pos/2)) {P1_0=0;step=pos/2-280;
-EA=1;} break;
160 3 case 143: tick=0; if(294>(pos/2)) {P1_0=1;step=294-pos/2;EA=1;}if(294<(pos/2)) {P1_0=0;step=pos/2-294;E
-A=1;} break;
161 3 case 148: tick=0; if(308>(pos/2)) {P1_0=1;step=308-pos/2;EA=1;}if(308<(pos/2)) {P1_0=0;step=pos/2-308;E
-A=1;} break;
162 3 case 155: tick=0; if(322>(pos/2)) {P1_0=1;step=322-pos/2;EA=1;}if(322<(pos/2)) {P1_0=0;step=pos/2-322;
-EA=1;} break;
163 3 default: break;
164 3
165 3 }
166 2
167 2 }
168 1 if(key_all==12)
169 1 {
170 2 clear_all();
171 2
172 2 }
173 1
174 1 }
175 void clear_all(void)
176 {
177 1 uchar j;
178 1
179 1 in_number=0;
180 1 for( j=1;j<9;j++)
181 1 {
182 2 data12[j]=0x0f;
183 2
184 2 }
185 1
186 1 s_seg(data_void);
187 1
188 1 }
189 void delay(void) //延时函数
190 {
191 1 int i;
192 1 for (i=4800;i>0;i--);
193 1 }
194
195 void keyscan(void) //键盘扫描函数
196 {
197 1 uchar scan,tep;
198 1
199 1 key_all=0;
200 1 // EA=0;
201 1
202 1 P2=0xf0;
203 1 if((P2&0xf0)!=0xf0) //若有键盘按下
204 1 {
205 2 delay();
206 2 if((P2&0xf0)!=0xf0) //若有键盘按下
207 2
208 2 {
209 3 P2=0xfe; // 发全0扫描码
210 3
211 3 if((P2&0xf0)!=0xf0) //若有键盘按下
212 3 {
213 4 delay();
214 4 if((P2&0xf0)!=0xf0) //若有键盘按下
215 4 {
216 5 scan=P2&0xf0;
C51 COMPILER V8.05a NEW_ZONG 05/19/2009 13:16:15 PAGE 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -