?? dmx-driver.lst
字號(hào):
C51 COMPILER V7.07 DMX_DRIVER 12/29/2007 21:54:07 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE DMX_DRIVER
OBJECT MODULE PLACED IN DMX-DRIVER.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DMX-DRIVER.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //============================================
2 // 廣州中大中鳴科技有限公司
3 // DMX驅(qū)動(dòng)器源程序
4 // 文件名:DMX-DRIVER-2.0.c
5 // 功能描述:1、模式可調(diào) 2、可以設(shè)地址 3、485總線 4、DMX512協(xié)議
6 // 建立時(shí)間:2007年12月15日
7 // 修改時(shí)間:2007年12月29日
8 // 修改完成時(shí)間:2007年12月29日
9 // 編寫(xiě):陳勇強(qiáng)
10 // 版本:V 2.0
11 //=============================================
12
13 #include<STC12C5410AD.H>
14 #include<intrins.h>
15
16 void redchangedark(unsigned char rgb,unsigned char rate,unsigned char LD);
17
18 sbit AB = P2^0; //AB兩編碼開(kāi)關(guān)的選通位
19 sbit CD = P2^2; //CD兩編碼開(kāi)關(guān)的選通位
20 sbit WDT = P2^7; //喂狗 在這次樣板中沒(méi)有用到
21
22 //標(biāo)志變量的定義
23 bit DataFlag; //接受數(shù)據(jù)標(biāo)志
24 bit StartFlag; //開(kāi)始傳輸標(biāo)志
25 bit SyncFlag; //接受下一通道數(shù)據(jù)標(biāo)志
26 bit OKFlag; //接受完成標(biāo)志
27 bit startDMX=0;
28
29 //全局變量的定義
30 unsigned char TempData; //數(shù)據(jù)緩存
31 unsigned char MS;
32 unsigned int BM1,BM3;
33 unsigned int ChannelVal; //通道位
34 unsigned int address; //設(shè)定的地址
35
36 //===========================================
37 //函數(shù)名:time_Init
38 //描述:定時(shí)器初始化子程序
39 //輸入:無(wú)
40 //返回:無(wú)
41 //===========================================
42 void time_Init(void)
43 {
44 1 TMOD = 0x10;
45 1 AUXR = 0x40;
46 1 TH1=0x10;
47 1 TL1=0x20;
48 1 EA=1;
49 1 ET1=1;
50 1 TR1=1;
51 1 }
52
53 //===========================================
54 //函數(shù)名: timer1
55 //描述:定時(shí)器處理子程序
C51 COMPILER V7.07 DMX_DRIVER 12/29/2007 21:54:07 PAGE 2
56 //輸入:無(wú)
57 //返回:無(wú)
58 //===========================================
59 void timer1(void) interrupt 3 using 1
60 {
61 1 WDT=~WDT; //喂狗
62 1 TH1=0x00;
63 1 TL1=0x20;
64 1 }
65 //===========================================
66 //函數(shù)名:MCU_Init
67 //描述:對(duì)STC12C5410AD進(jìn)行初始化
68 //輸入:無(wú)
69 //返回:無(wú)
70 //===========================================
71 void MCU_Init(void)
72 {
73 1 SCON = 0x90;
74 1 PCON = 0x00;
75 1 PS = 1;
76 1 ES = 1;
77 1 EA = 1;
78 1 }
79
80 //===========================================
81 //函數(shù)名:DMX_Init
82 //描述:DMX通信的初始化
83 //輸入:無(wú)
84 //返回:無(wú)
85 //===========================================
86 void DMX_Init(void)
87 {
88 1 unsigned int BM4,BM5; //編碼開(kāi)關(guān)讀數(shù)處理的中間變量
89 1 DataFlag = 0;
90 1 StartFlag = 0;
91 1 SyncFlag = 0;
92 1 OKFlag = 0;
93 1 //===========================================
94 1 // 讀取地址值
95 1 AB=0;
96 1 P1=0xFF;
97 1 BM1=P1;
98 1 BM1=0xFF-BM1;
99 1 BM1=BM1&0x00F0;
100 1 BM1=BM1<<4;
101 1 AB=1;
102 1 address=0;
103 1 CD=0;
104 1 P1=0xFF;
105 1 BM4=P1;
106 1 BM5=BM4;
107 1 BM4=0x00FF-BM4;
108 1 BM5=0x00FF-BM5;
109 1 BM4=BM4&0x000F;
110 1 BM5=BM5&0x00F0;
111 1 BM4=BM4<<4;
112 1 BM5=BM5>>4;
113 1 BM5=BM5+BM4;
114 1 address=BM5+BM1;
115 1 P1=0;
116 1 }
117
C51 COMPILER V7.07 DMX_DRIVER 12/29/2007 21:54:07 PAGE 3
118 //===========================================
119 //函數(shù)名:SetDMXChannel
120 //描述:DMX通道的計(jì)算
121 //輸入:最大的通道數(shù)
122 //返回:無(wú)
123 //===========================================
124 void SetDMXChannel(unsigned int n)
125 {
126 1 ChannelVal = n + 0x0101;
127 1 }
128
129 //===========================================
130 //函數(shù)名:main
131 //描述:主函數(shù)
132 //輸入:無(wú)
133 //返回:無(wú)
134 //===========================================
135 void main(void)
136 {
137 1 unsigned char rgbdata,delayrate;
138 1 rgbdata=1;
139 1 DMX_Init();
140 1 SetDMXChannel(address);
141 1 MCU_Init();
142 1 time_Init();
143 1 while(1)
144 1 {
145 2 if(startDMX==0)
146 2 {
147 3 if(startDMX==0)redchangedark(0,10,1);
148 3 if(startDMX==0)redchangedark(1,10,1);
149 3 if(startDMX==0)redchangedark(2,10,1);
150 3 if(startDMX==0)redchangedark(3,10,1);
151 3 if(startDMX==0)redchangedark(4,10,1);
152 3 if(startDMX==0)redchangedark(5,10,1);
153 3 if(startDMX==0)redchangedark(6,10,1);
154 3 if(startDMX==0)redchangedark(7,10,1);
155 3
156 3 if(startDMX==0)redchangedark(10,1,1);
157 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
158 3 if(startDMX==0)redchangedark(11,1,1);
159 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
160 3 if(startDMX==0)redchangedark(12,1,1);
161 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
162 3 if(startDMX==0)redchangedark(13,1,1);
163 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
164 3 if(startDMX==0)redchangedark(14,1,1);
165 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
166 3 if(startDMX==0)redchangedark(15,1,1);
167 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
168 3 if(startDMX==0)redchangedark(8,1,1);
169 3 if(startDMX==0)for(delayrate=0;delayrate<8;delayrate++);
170 3 if(startDMX==0)redchangedark(10,1,1);
171 3 if(startDMX==0)for(delayrate=0;delayrate<10;delayrate++);
172 3 if(startDMX==0)redchangedark(11,1,1);
173 3 if(startDMX==0)for(delayrate=0;delayrate<10;delayrate++);
174 3 if(startDMX==0)redchangedark(12,1,1);
175 3 if(startDMX==0)for(delayrate=0;delayrate<10;delayrate++);
176 3 if(startDMX==0)redchangedark(13,1,1);
177 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
178 3 if(startDMX==0)redchangedark(14,1,1);
179 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
C51 COMPILER V7.07 DMX_DRIVER 12/29/2007 21:54:07 PAGE 4
180 3 if(startDMX==0)redchangedark(15,1,1);
181 3 if(startDMX==0)for(delayrate=0;delayrate<20;delayrate++);
182 3 }
183 2
184 2 setmode();
*** WARNING C206 IN LINE 184 OF DMX-DRIVER.C: 'setmode': missing function-prototype
185 2 shiltin();
*** WARNING C206 IN LINE 185 OF DMX-DRIVER.C: 'shiltin': missing function-prototype
186 2 send_data(DmxData[22]);send_data(DmxData[23]);
*** ERROR C202 IN LINE 186 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 186 OF DMX-DRIVER.C: 'DmxData': undefined identifier
187 2 send_data(DmxData[21]);send_data(DmxData[19]);
*** ERROR C202 IN LINE 187 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 187 OF DMX-DRIVER.C: 'DmxData': undefined identifier
188 2 send_data(DmxData[20]);send_data(DmxData[18]);
*** ERROR C202 IN LINE 188 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 188 OF DMX-DRIVER.C: 'DmxData': undefined identifier
189 2 send_data(DmxData[16]);send_data(DmxData[17]);
*** ERROR C202 IN LINE 189 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 189 OF DMX-DRIVER.C: 'DmxData': undefined identifier
190 2 send_data(DmxData[15]);send_data(DmxData[13]);
*** ERROR C202 IN LINE 190 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 190 OF DMX-DRIVER.C: 'DmxData': undefined identifier
191 2 send_data(DmxData[14]);send_data(DmxData[12]);
*** ERROR C202 IN LINE 191 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 191 OF DMX-DRIVER.C: 'DmxData': undefined identifier
192 2 send_data(DmxData[10]);send_data(DmxData[11]);
*** ERROR C202 IN LINE 192 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 192 OF DMX-DRIVER.C: 'DmxData': undefined identifier
193 2 send_data(DmxData[9]);send_data(DmxData[7]);
*** ERROR C202 IN LINE 193 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 193 OF DMX-DRIVER.C: 'DmxData': undefined identifier
194 2 send_data(DmxData[8]);send_data(DmxData[6]);
*** ERROR C202 IN LINE 194 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 194 OF DMX-DRIVER.C: 'DmxData': undefined identifier
195 2 send_data(DmxData[4]);send_data(DmxData[5]);
*** ERROR C202 IN LINE 195 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 195 OF DMX-DRIVER.C: 'DmxData': undefined identifier
196 2 send_data(DmxData[3]);send_data(DmxData[1]);
*** ERROR C202 IN LINE 196 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 196 OF DMX-DRIVER.C: 'DmxData': undefined identifier
197 2 send_data(DmxData[2]);send_data(DmxData[0]);
*** ERROR C202 IN LINE 197 OF DMX-DRIVER.C: 'DmxData': undefined identifier
*** ERROR C202 IN LINE 197 OF DMX-DRIVER.C: 'DmxData': undefined identifier
198 2 latch();
199 2 stopemit();
200 2 emitting();
201 2 }
202 1 }
203
C51 COMPILATION COMPLETE. 2 WARNING(S), 24 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -