📄 90c58.lst
字号:
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE 90C58
OBJECT MODULE PLACED IN 90C58.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 90C58.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2 #include <absacc.h>
3 #include <stdio.h>
4 sfr P4 = 0xC0;
5 //#include <math.h>
6 unsigned char TLV=0x00;
7 unsigned char THV=0xf1;//0xe7;
8 unsigned short SECTICKS=240; //24; //65536/(65536-(THV*256+TLV))*18;
9 unsigned short HALFSECTICKS=120; //12;
10 unsigned short Q1SECTICKS=60; //12;
11 unsigned short Q3SECTICKS=180; //12;
12 unsigned short TICKS_U=6;
13 unsigned short TICKS_D=2;
14 unsigned char sbuff[16];
15 unsigned char count=0,triggle=0,chno=0,cycles=0;
16 static unsigned char ticks[8][4]; //oldP1Stat;
17 static unsigned char X0Buff[8];
18 static unsigned char X1Buff[8];
19 static unsigned char X2Buff[8];
20 static unsigned char XBuffP=0;
21
22 //sbit RLed = P1^3;
23 //sbit GLed = P1^2;
24
25 sbit Y00 = P2^3;
26 sbit Y01 = P2^4;
27 sbit Y02 = P2^5;
28 sbit Y03 = P2^6;
29 sbit Y04 = P2^7;
30 sbit Y05 = P4^4;//P0^7;
31 sbit Y06 = P4^1; //P0^6;
32 sbit Y07 = P0^7;
33 sbit Y10 = P0^6;
34 sbit Y11 = P0^4;
35
36 sbit X00 = P2^2;
37 sbit X01 = P2^1;
38 sbit X02 = P2^0;
39 sbit X03 = P4^0;//P3^6;//?
40 sbit X04 = P3^7;
41 sbit X05 = P3^6;
42 sbit X06 = P3^4;
43 sbit X07 = P3^5 ;
44
45 sbit X10 = P3^3;
46 sbit X11 = P4^3;//P3^0;//?
47 sbit X12 = P1^7;
48 sbit X13 = P1^6;
49 sbit X14 = P1^5;
50 sbit X15 = P1^4;
51 sbit X16 = P1^3;
52 sbit X17 = P1^2;
53
54 sbit X20 = P1^1;
55 sbit X21 = P1^0;
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 2
56 sbit X22 = P4^2;//P0^5;//?
57 sbit X23 = P0^0;
58 sbit X24 = P0^1;
59 sbit X25 = P0^2;
60 sbit X26 = P0^3;
61 sbit X27 = P0^5;
62
63 bit direction=0,direction1=0,direction2=0;
64 bit oldX20Stat;
65 bit oldX21Stat;
66 bit oldX22Stat;
67 bit oldX23Stat;
68 bit oldX24Stat;
69 bit oldX25Stat;
70 bit oldX26Stat;
71 bit oldX27Stat;
72
73 /*void delay()
74 {
75 unsigned short i,j;
76 for(i=0;i<30;i++) j=i;
77 }*/
78
79 void t0int() interrupt 1
80 {
81 1 unsigned char i;
82 1 TH0=THV; //Bcause TLV=0,no need to init TL0;
83 1 count++;
84 1 /* if ((oldP1Stat&0x10)==0x10 && (P1&0x10)==0x00) //UP triggle.
85 1 {
86 1 //if ((P1&0x20)==0x20) direction1=1;
87 1 //else direction1=0;
88 1 }
89 1 if ((oldP1Stat&0x20)==0x20 && (P1&0x20)==0x00) //UP triggle.
90 1 {
91 1 //if ((P1&0x10)==0x10) direction2=1;
92 1 //else direction2=0;
93 1 } */
94 1 if(oldX20Stat^X20) ticks[0][cycles]++;
95 1 if(oldX21Stat^X21) ticks[1][cycles]++;
96 1 if(oldX22Stat^X22) ticks[2][cycles]++;
97 1 if(oldX23Stat^X23) ticks[3][cycles]++;
98 1 if(oldX24Stat^X24) ticks[4][cycles]++;
99 1 if(oldX25Stat^X25) ticks[5][cycles]++;
100 1 if(oldX26Stat^X26) ticks[6][cycles]++;
101 1 if(oldX27Stat^X27) ticks[7][cycles]++;
102 1
103 1 //oldP1Stat=P1;
104 1 oldX20Stat=X20;
105 1 oldX21Stat=X21;
106 1 oldX22Stat=X22;
107 1 oldX23Stat=X23;
108 1 oldX24Stat=X24;
109 1 oldX25Stat=X25;
110 1 oldX26Stat=X26;
111 1 oldX27Stat=X27;
112 1
113 1
114 1 if(count == Q1SECTICKS)
115 1 {
116 2 cycles=1;
117 2 for(i=0;i<8;i++)
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 3
118 2 {
119 3 sbuff[4+i]=ticks[i][0]+ticks[i][1]+ticks[i][2]+ticks[i][3];
120 3 ticks[i][cycles]=0;
121 3 }
122 2 if(X00) X0Buff[0]|=(1<<XBuffP);
123 2 else X0Buff[0]&=~(1<<XBuffP);
124 2 if(X01) X0Buff[1]|=(1<<XBuffP);
125 2 else X0Buff[1]&=~(1<<XBuffP);
126 2 if(X02) X0Buff[2]|=(1<<XBuffP);
127 2 else X0Buff[2]&=~(1<<XBuffP);
128 2 if(X03) X0Buff[3]|=(1<<XBuffP);
129 2 else X0Buff[3]&=~(1<<XBuffP);
130 2 if(X04) X0Buff[4]|=(1<<XBuffP);
131 2 else X0Buff[4]&=~(1<<XBuffP);
132 2 if(X05) X0Buff[5]|=(1<<XBuffP);
133 2 else X0Buff[5]&=~(1<<XBuffP);
134 2 if(X06) X0Buff[6]|=(1<<XBuffP);
135 2 else X0Buff[6]&=~(1<<XBuffP);
136 2 if(X07) X0Buff[7]|=(1<<XBuffP);
137 2 else X0Buff[7]&=~(1<<XBuffP);
138 2
139 2 if(X10) X1Buff[0]|=(1<<XBuffP);
140 2 else X1Buff[0]&=~(1<<XBuffP);
141 2 if(X11) X1Buff[1]|=(1<<XBuffP);
142 2 else X1Buff[1]&=~(1<<XBuffP);
143 2 if(X12) X1Buff[2]|=(1<<XBuffP);
144 2 else X1Buff[2]&=~(1<<XBuffP);
145 2 if(X13) X1Buff[3]|=(1<<XBuffP);
146 2 else X1Buff[3]&=~(1<<XBuffP);
147 2 if(X14) X1Buff[4]|=(1<<XBuffP);
148 2 else X1Buff[4]&=~(1<<XBuffP);
149 2 if(X15) X1Buff[5]|=(1<<XBuffP);
150 2 else X1Buff[5]&=~(1<<XBuffP);
151 2 if(X16) X1Buff[6]|=(1<<XBuffP);
152 2 else X1Buff[6]&=~(1<<XBuffP);
153 2 if(X17) X1Buff[7]|=(1<<XBuffP);
154 2 else X1Buff[7]&=~(1<<XBuffP);
155 2
156 2 if(X20) X2Buff[0]|=(1<<XBuffP);
157 2 else X2Buff[0]&=~(1<<XBuffP);
158 2 if(X21) X2Buff[1]|=(1<<XBuffP);
159 2 else X2Buff[1]&=~(1<<XBuffP);
160 2 if(X22) X2Buff[2]|=(1<<XBuffP);
161 2 else X2Buff[2]&=~(1<<XBuffP);
162 2 if(X23) X2Buff[3]|=(1<<XBuffP);
163 2 else X2Buff[3]&=~(1<<XBuffP);
164 2 if(X24) X2Buff[4]|=(1<<XBuffP);
165 2 else X2Buff[4]&=~(1<<XBuffP);
166 2 if(X25) X2Buff[5]|=(1<<XBuffP);
167 2 else X2Buff[5]&=~(1<<XBuffP);
168 2 if(X26) X2Buff[6]|=(1<<XBuffP);
169 2 else X2Buff[6]&=~(1<<XBuffP);
170 2 if(X27) X2Buff[7]|=(1<<XBuffP);
171 2 else X2Buff[7]&=~(1<<XBuffP);
172 2
173 2 XBuffP++;
174 2 if(XBuffP==8) XBuffP=0;
175 2 triggle=1;
176 2 }
177 1
178 1 if(count == HALFSECTICKS)
179 1 {
C51 COMPILER V7.00 90C58 01/09/2011 14:26:43 PAGE 4
180 2 cycles=2;
181 2 for(i=0;i<8;i++)
182 2 {
183 3 sbuff[4+i]=ticks[i][0]+ticks[i][1]+ticks[i][2]+ticks[i][3];
184 3 ticks[i][cycles]=0;
185 3 }
186 2 if(X00) X0Buff[0]|=(1<<XBuffP);
187 2 else X0Buff[0]&=~(1<<XBuffP);
188 2 if(X01) X0Buff[1]|=(1<<XBuffP);
189 2 else X0Buff[1]&=~(1<<XBuffP);
190 2 if(X02) X0Buff[2]|=(1<<XBuffP);
191 2 else X0Buff[2]&=~(1<<XBuffP);
192 2 if(X03) X0Buff[3]|=(1<<XBuffP);
193 2 else X0Buff[3]&=~(1<<XBuffP);
194 2 if(X04) X0Buff[4]|=(1<<XBuffP);
195 2 else X0Buff[4]&=~(1<<XBuffP);
196 2 if(X05) X0Buff[5]|=(1<<XBuffP);
197 2 else X0Buff[5]&=~(1<<XBuffP);
198 2 if(X06) X0Buff[6]|=(1<<XBuffP);
199 2 else X0Buff[6]&=~(1<<XBuffP);
200 2 if(X07) X0Buff[7]|=(1<<XBuffP);
201 2 else X0Buff[7]&=~(1<<XBuffP);
202 2
203 2 if(X10) X1Buff[0]|=(1<<XBuffP);
204 2 else X1Buff[0]&=~(1<<XBuffP);
205 2 if(X11) X1Buff[1]|=(1<<XBuffP);
206 2 else X1Buff[1]&=~(1<<XBuffP);
207 2 if(X12) X1Buff[2]|=(1<<XBuffP);
208 2 else X1Buff[2]&=~(1<<XBuffP);
209 2 if(X13) X1Buff[3]|=(1<<XBuffP);
210 2 else X1Buff[3]&=~(1<<XBuffP);
211 2 if(X14) X1Buff[4]|=(1<<XBuffP);
212 2 else X1Buff[4]&=~(1<<XBuffP);
213 2 if(X15) X1Buff[5]|=(1<<XBuffP);
214 2 else X1Buff[5]&=~(1<<XBuffP);
215 2 if(X16) X1Buff[6]|=(1<<XBuffP);
216 2 else X1Buff[6]&=~(1<<XBuffP);
217 2 if(X17) X1Buff[7]|=(1<<XBuffP);
218 2 else X1Buff[7]&=~(1<<XBuffP);
219 2
220 2 if(X20) X2Buff[0]|=(1<<XBuffP);
221 2 else X2Buff[0]&=~(1<<XBuffP);
222 2 if(X21) X2Buff[1]|=(1<<XBuffP);
223 2 else X2Buff[1]&=~(1<<XBuffP);
224 2 if(X22) X2Buff[2]|=(1<<XBuffP);
225 2 else X2Buff[2]&=~(1<<XBuffP);
226 2 if(X23) X2Buff[3]|=(1<<XBuffP);
227 2 else X2Buff[3]&=~(1<<XBuffP);
228 2 if(X24) X2Buff[4]|=(1<<XBuffP);
229 2 else X2Buff[4]&=~(1<<XBuffP);
230 2 if(X25) X2Buff[5]|=(1<<XBuffP);
231 2 else X2Buff[5]&=~(1<<XBuffP);
232 2 if(X26) X2Buff[6]|=(1<<XBuffP);
233 2 else X2Buff[6]&=~(1<<XBuffP);
234 2 if(X27) X2Buff[7]|=(1<<XBuffP);
235 2 else X2Buff[7]&=~(1<<XBuffP);
236 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -