📄 dzkzqv12.lst
字号:
C51 COMPILER V7.50 DZKZQV12 12/04/2006 16:43:31 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DZKZQV12
OBJECT MODULE PLACED IN dzkzqv12.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE dzkzqv12.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //(***************************
2 // Version V1.0
3 // 地砖控制器 2004-10-18 带播放列表
4 // 2004-09-23 mcu:w77e58 ,172800bps at RS485 11.0592MHz
5 #include <reg52.h>
6 //#include <w77c32.h>
7 #include <intrins.h>
8 #define uchar unsigned char
9 #define uint unsigned int
10 #define byte unsigned char
11 #define word unsigned
12 #define bool bit
13 #define true 1
14 #define false 0
15 //#define SPEED 20
16
17 //#define SPEEDCOLS 500 //七彩停留时间
18 //#define SPEEDBY 40 //百叶速度
19 #define ADD 1 /* 定时器T0方式控制字 */
20 #define WriteDeviceAddress 0xa0
21 #define ReadDviceAddress 0xa1
22
23 //*************************************
24 sfr CHPCON= 0xbf;
25 sfr CHPENR=0xf6;
26 sfr PMR= 0xC4;
27 sfr SBUF1=0xc1;
28 sfr SCON1=0xc0;
29 sbit SM01 = SCON1^7; /* alternative SM0_FE_1 */
30 sbit SM11 = SCON1^6; /* alternative SM1_1 */
31 sbit SM21 = SCON1^5; /* alternative SM2_1 */
32 sbit REN1 = SCON1^4; /* alternative REN_1 */
33 sbit TB81 = SCON1^3; /* alternative TB8_1 */
34 sbit RB81 = SCON1^2; /* alternative RB8_1 */
35 sbit TI1 = SCON1^1; /* alternative TI_1 */
36 sbit RI1 = SCON1^0; /* alternative RI_1 */
37 sbit ES1 = IE^6;
38
39 sbit led=P3^5;
40 sbit senden=P3^2;
41 sbit senden1=P3^3; //to dz 485
42 sbit SDA=P1^1;
43 sbit SCL=P1^0;
44 //**********************
45 uchar xdata dis_red[40];
46 uchar xdata dis_grn[40];
47 uchar xdata dis_blu[40];
48 uchar xdata send_buf[128];
49 uchar idata iic_buf[128];
50 uchar XX,X1,ssp;
51 uchar pointer,subchk; //接收指针 和校验
52 uchar timer;
53 uchar bdata flag;
54 sbit frameok=flag^0; //rece ok
55
C51 COMPILER V7.50 DZKZQV12 12/04/2006 16:43:31 PAGE 2
56 uchar code r4d1cr[]=
57 {
58 0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,
59 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
60 0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,
61 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,
62 0x00,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,
63 0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,
64 0x3F,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
65 0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,
66 0x3F,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,
67 0x20,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,
68 0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,
69 0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
70 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,
71 0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
72 0x00,0x00,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x3F,
73 0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x3F,0x3F,
74 };
75 //================================
76 uchar code r4d1cg[]=
77 {
78 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,
79 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,
80 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,
81 0x3F,0x3F,0x3F,0x3F,0x10,0x10,0x10,0x10,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,
82 0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,
83 0x20,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,
84 0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,
85 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,
86 0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x10,0x10,0x10,0x10,0x3F,0x3F,0x3F,
87 0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
88 0x00,0x00,0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
89 0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
90 0x3F,0x3F,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
91 0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x10,0x10,
92 0x10,0x10,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
93 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x00,0x00,
94 };
95 //====================================
96 uchar code r4d1cb[]=
97 {
98 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
99 0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,
100 0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x10,
101 0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x10,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
102 0x3F,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x10,0x10,0x10,
103 0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
104 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,
105 0x20,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
106 0x20,0x10,0x10,0x10,0x10,0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x10,0x3F,0x3F,0x3F,
107 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,
108 0x3F,0x3F,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
109 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,
110 0x3F,0x3F,0x20,0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x20,0x20,
111 0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x10,0x20,0x20,0x20,0x20,0x10,0x10,
112 0x10,0x10,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x20,
113 0x20,0x20,0x20,0x3F,0x3F,0x3F,0x3F,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
114 };
115 //===========================
116 uchar code x64cr[]=
117 {
C51 COMPILER V7.50 DZKZQV12 12/04/2006 16:43:31 PAGE 3
118 //红色数据:
119 /*
120 0x3F,0x3F,0x3F,0x3C,0x27,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x2A,0x3E,
121 0x3F,0x3F,0x3F,0x3F,0x3F,0x3C,0x27,0x0F,
122 */
123 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0x1A,
124 0x27,0x32,0x3C,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
125 0x3F,0x3D,0x35,0x29,0x1D,0x11,0x07,0x00,
126 };
127 //------------------------------------------------
128 uchar code x64cg[]=
129 {
130 //绿色数据:
131 /*
132 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x30,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
133 0x2F,0x14,0x00,0x00,0x00,0x00,0x00,0x00,
134 */
135 0x07,0x13,0x20,0x2C,0x38,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
136 0x3F,0x3F,0x3F,0x3D,0x36,0x2C,0x22,0x17,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
137 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
138 };
139 //---------------------------
140 uchar code x64cb[]=
141 {
142 /*
143 0x00,0x15,0x32,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3D,0x2A,0x12,0x00,0x00,0x00,0x00,
144 0x00,0x00,0x00,0x15,0x32,0x3F,0x3F,0x3F,
145 */
146 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x39,0x30,0x26,0x1B,0x11,0x7,0x01,0x00,0x00,
147 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x8,0x12,0x1D,0x29,
148 0x33,0x3C,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
149 };
150 //**************************
151 //七彩无过渡色
152 uchar code col7cr[]=
153 {
154 0x3F,0x3F,0x3F,0x3C,0x27,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x2A,0x3E,
155 0x3F,0x3F,0x3F,0x3F,0x3F,0x3C,0x27,0x0F,
156 0x3F,0x3F,0x3F,0x3C,0x27,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x2A,0x3E,
157 0x3F,0x3F,0x3F,0x3F,0x3F,0x3C,0x27,0x0F,
158
159 };
160
161 uchar code col7cg[]=
162 {
163 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x30,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
164 0x2F,0x14,0x00,0x00,0x00,0x00,0x00,0x00,
165 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x30,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
166 0x2F,0x14,0x00,0x00,0x00,0x00,0x00,0x00,
167
168 };
169
170 uchar code col7cb[]=
171 {
172 0x00,0x15,0x32,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3D,0x2A,0x12,0x00,0x00,0x00,0x00,
173 0x00,0x00,0x00,0x15,0x32,0x3F,0x3F,0x3F,
174 0x00,0x15,0x32,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3D,0x2A,0x12,0x00,0x00,0x00,0x00,
175 0x00,0x00,0x00,0x15,0x32,0x3F,0x3F,0x3F,
176 };
177 void clear(void);
178 void sendall(void);//发送全部
179 void televise(uchar add);//广播发送
C51 COMPILER V7.50 DZKZQV12 12/04/2006 16:43:31 PAGE 4
180
181 void delay(uint j);
182 void delay1s(uint j);
183
184 void qczk(uchar speed);
185 void qcld(uchar speed);
186 void duun(uchar speed);
187 void lrmun(uchar speed);
188 void mlrun(uchar speed);
189 void mlrco(uchar speed);
190 void lrmco(uchar speed);
191 void colld(uchar speed);
192 void col7(uchar SPEEDCOL);
193 void mlrmov(uchar speed);
194 void lmovo(uchar speed);
195 void send_delay(void);
196 void ybyzk(uchar speed);
197 void send_del(uchar j);
198 void ybybm(uchar speed);
199 void zbyzk(uchar speed);
200 void zbybm(uchar speed);
201 //*******************************
202 void SomeNOP(void)
203 {
204 1 uchar i;
205 1 i=20;
206 1 while(i--);
207 1 }
208
209 /***************************************************************************/
210 void I2cDelay(unsigned int number) {
211 1 unsigned char temp;
212 1 for(;number!=0;number--) {
213 2 for(temp=112;temp!=0;temp--) {
214 3 }
215 2 }
216 1 }
217
218 /***************************************************************************/
219 void Start() {
220 1 SDA=1;
221 1 SCL=1;SomeNOP();
222 1 SDA=0;SomeNOP();
223 1 SCL=0;
224 1 }
225
226 /***************************************************************************/
227 void Stop() {
228 1 SCL=0;
229 1 SDA=0;SomeNOP();
230 1 SCL=1;SomeNOP();
231 1 SDA=1;
232 1 }
233
234 /***************************************************************************/
235 void Ack() {
236 1 SDA=0;
237 1 SCL=1;SomeNOP();
238 1 SCL=0;SomeNOP();
239 1 SDA=1;
240 1 }
241
C51 COMPILER V7.50 DZKZQV12 12/04/2006 16:43:31 PAGE 5
242 /***************************************************************************/
243 void NoAck() {
244 1 SDA=1;
245 1 SCL=1;SomeNOP();
246 1 SCL=0;
247 1 }
248
249 /***************************************************************************/
250 bit TestAck() {
251 1 bit ErrorBit;
252 1 SDA=1;
253 1 SCL=1;
254 1 ErrorBit=SDA;SomeNOP();
255 1 SCL=0;
256 1 return(ErrorBit);
257 1 }
258
259 /***************************************************************************/
260 Write8Bit(unsigned char input)
261 {
262 1 unsigned char temp;
263 1 for(temp=8;temp!=0;temp--) {
264 2 SDA=(bit)(input&0x80);
265 2 SCL=1;SomeNOP();
266 2 SCL=0;
267 2 input=input<<1;
268 2 }
269 1 }
270 /***************************************************************************/
271 void Write24c02(unsigned char xdata *Wdata,unsigned char RomAddress,unsigned char number) {
272 1 Start();
273 1 Write8Bit(WriteDeviceAddress);
274 1 TestAck();
275 1 Write8Bit(RomAddress);
276 1 TestAck();
277 1 for(;number!=0;number--) {
278 2 Write8Bit(*Wdata);
279 2 TestAck();
280 2 Wdata++;
281 2 }
282 1 Stop();
283 1 I2cDelay(10);
284 1 }
285 /***************************************************************************/
286 unsigned char Read8Bit() {
287 1 unsigned char temp,rbyte=0;
288 1 for(temp=8;temp!=0;temp--) {
289 2 SCL=1;
290 2 rbyte=rbyte<<1;
291 2 rbyte=rbyte|((unsigned char)(SDA));
292 2 SomeNOP();
293 2 SCL=0;
294 2 }
295 1 return(rbyte);
296 1 }
297 /***************************************************************************/
298 void Read24c02(unsigned char idata *RamAddress,unsigned char RomAddress,unsigned char bytes) {
299 1 // unsigned char temp,rbyte;
300 1 Start();
301 1 Write8Bit(WriteDeviceAddress);
302 1 TestAck();
303 1 Write8Bit(RomAddress);
C51 COMPILER V7.50 DZKZQV12 12/04/2006 16:43:31 PAGE 6
304 1 TestAck();
305 1 Start();
306 1 Write8Bit(ReadDviceAddress);
307 1 TestAck();
308 1 while(bytes!=1) {
309 2 *RamAddress=Read8Bit();
310 2 Ack();
311 2 RamAddress++;
312 2 bytes--;
313 2 }
314 1 *RamAddress=Read8Bit();
315 1 NoAck();
316 1 Stop();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -