📄 dmx-driver.lst
字号:
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驱动器源程序
4 // 文件名:DMX-DRIVER-2.0.c
5 // 功能描述:1、模式可调 2、可以设地址 3、485总线 4、DMX512协议
6 // 建立时间:2007年12月15日
7 // 修改时间:2007年12月29日
8 // 修改完成时间:2007年12月29日
9 // 编写:陈勇强
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两编码开关的选通位
19 sbit CD = P2^2; //CD两编码开关的选通位
20 sbit WDT = P2^7; //喂狗 在这次样板中没有用到
21
22 //标志变量的定义
23 bit DataFlag; //接受数据标志
24 bit StartFlag; //开始传输标志
25 bit SyncFlag; //接受下一通道数据标志
26 bit OKFlag; //接受完成标志
27 bit startDMX=0;
28
29 //全局变量的定义
30 unsigned char TempData; //数据缓存
31 unsigned char MS;
32 unsigned int BM1,BM3;
33 unsigned int ChannelVal; //通道位
34 unsigned int address; //设定的地址
35
36 //===========================================
37 //函数名:time_Init
38 //描述:定时器初始化子程序
39 //输入:无
40 //返回:无
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 //函数名: timer1
55 //描述:定时器处理子程序
C51 COMPILER V7.07 DMX_DRIVER 12/29/2007 21:54:07 PAGE 2
56 //输入:无
57 //返回:无
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 //函数名:MCU_Init
67 //描述:对STC12C5410AD进行初始化
68 //输入:无
69 //返回:无
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 //函数名:DMX_Init
82 //描述:DMX通信的初始化
83 //输入:无
84 //返回:无
85 //===========================================
86 void DMX_Init(void)
87 {
88 1 unsigned int BM4,BM5; //编码开关读数处理的中间变量
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 //函数名:SetDMXChannel
120 //描述:DMX通道的计算
121 //输入:最大的通道数
122 //返回:无
123 //===========================================
124 void SetDMXChannel(unsigned int n)
125 {
126 1 ChannelVal = n + 0x0101;
127 1 }
128
129 //===========================================
130 //函数名:main
131 //描述:主函数
132 //输入:无
133 //返回:无
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)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -