📄 rs232.lst
字号:
C51 COMPILER V6.23a RS232 09/10/2004 16:09:06 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE RS232
OBJECT MODULE PLACED IN RS232.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE RS232.C OPTIMIZE(6,SIZE) ORDER DEFINE(DEBUGMSG=0,DEBUGTOOL=0) DEBUG OBJECTE
-XTEND CODE SYMBOLS
stmt level source
1
2 #include <reg51.h>
3 #include <intrins.h>
4 #include <stdio.h>
5 #include "mascot.h"
6 #include "osd.h"
7 #include "global.h"
8
9
10 bit uartFlag = 0;
11 unsigned char data uartCnt;
12 unsigned char data uartBuff[8];
13
14 #if WINBOND_ISP
15
16 sfr CHPCON = 0xBF; //programming control register
17 sfr CHPENR = 0xF6; //programming enable (#87,#59h)
18 sfr SFRCN = 0xC7; //programming mode
19
20 bit flag_LDROM = 0;
21
22 unsigned char code ID[] = {"MASCOT$"};
23 #endif
24
25 static void uart_isr(void) interrupt 4
26 {
27 1 uartCnt = 0;
28 1
29 1 #if WINBOND_ISP
30 1
31 1 if(ISPFlag)
32 1 {
33 2 while(RI)
34 2 {
35 3 uartBuff[0] = SBUF;
36 3 RI = 0;
37 3
38 3 if((uartBuff[0] == '$') && (uartCnt == 6))
39 3 {
40 4 flag_LDROM = 1;
41 4 return;
42 4 }
43 3 else if(uartBuff[0] != ID[uartCnt])
44 3 return;
45 3
46 3 while(!RI);
47 3 uartCnt++;
48 3 }
49 2 }
50 1 #endif // WINBOND_ISP
51 1 while(RI)
52 1 {
53 2 uartBuff[uartCnt] = SBUF;
54 2 RI = 0;
C51 COMPILER V6.23a RS232 09/10/2004 16:09:06 PAGE 2
55 2
56 2 if(uartCnt == 0)
57 2 {
58 3 if (SBUF != 'W')
59 3 return;
60 3 }
61 2 else if(uartCnt == 5)
62 2 {
63 3 if(SBUF != '0')
64 3 return;
65 3 }
66 2 else if (uartCnt == 7)
67 2 {
68 3 uartFlag = 1;
69 3 return;
70 3 }
71 2
72 2 while(!RI);
73 2 uartCnt++;
74 2 }
75 1 }
76
77
78
79 void uartCommand(void)
80 {
81 1
82 1 if (uartFlag)
83 1 {
84 2 uartFlag = 0;
85 2
86 2 if (uartBuff[1] == '9' && uartBuff[2] == '8')
87 2 {
88 3
89 3 // put data to uartBuff[0]
90 3 if(uartBuff[6] >= 0x30 && uartBuff[6] <= 0x39)
91 3 uartBuff[0] = uartBuff[6] - 0x30;
92 3 else if(uartBuff[6] >= 0x41 && uartBuff[6] <= 0x46)
93 3 uartBuff[0] = uartBuff[6] - 0x37;
94 3
95 3 uartBuff[0] = uartBuff[0] << 4;
96 3
97 3 if(uartBuff[7] >= 0x30 && uartBuff[7] <= 0x39)
98 3 uartBuff[0] += (uartBuff[7] - 0x30);
99 3 else if(uartBuff[7] >= 0x41 && uartBuff[7] <= 0x46)
100 3 uartBuff[0] += (uartBuff[7] - 0x37);
101 3
102 3 // RED
103 3 if (uartBuff[3] == '0' && uartBuff[4] == '1')
104 3 {
105 4 eepData.userR = uartBuff[0];
106 4 eepDataOut(EEPDATASTART+(&eepData.userR-&eepData),(unsigned char *)&eepData.userR, 1);
107 4 adjUser_R(0,HIDE);
108 4 return;
109 4 }
110 3 // GREEN
111 3 else if (uartBuff[3] == '0' && uartBuff[4] == '4')
112 3 {
113 4 eepData.userG = uartBuff[0];
114 4 eepDataOut(EEPDATASTART+(&eepData.userG-&eepData),(unsigned char *)&eepData.userG, 1);
115 4 adjUser_G(0,HIDE);
116 4 return;
C51 COMPILER V6.23a RS232 09/10/2004 16:09:06 PAGE 3
117 4 }
118 3 // BLUE
119 3 else if (uartBuff[3] == '0' && uartBuff[4] == '7')
120 3 {
121 4 eepData.userB = uartBuff[0];
122 4 eepDataOut(EEPDATASTART+(&eepData.userB-&eepData),(unsigned char *)&eepData.userB, 1);
123 4 adjUser_B(0,HIDE);
124 4 return;
125 4 }
126 3 // CONTRAST
127 3 else if (uartBuff[3] == '1' && uartBuff[4] == '4')
128 3 {
129 4 eepData.contrast = uartBuff[0];
130 4 eepDataOut(EEPDATASTART+(&eepData.contrast-&eepData),(unsigned char *)&eepData.contrast, 1);
131 4 adjContrast(0,HIDE);
132 4 return;
133 4 }
134 3 // BLACK LEVEL
135 3 else if (uartBuff[3] == '1' && uartBuff[4] == '5')
136 3 {
137 4 eepData.blacklevel = uartBuff[0];
138 4 eepDataOut(EEPDATASTART+(&eepData.blacklevel-&eepData),(unsigned char *)&eepData.blacklevel, 1);
139 4 setBlackLevel();
140 4 return;
141 4 }
142 3 // BRIGHTNESS
143 3 else if (uartBuff[3] == '1' && uartBuff[4] == '6')
144 3 {
145 4 eepData.brightness = uartBuff[0];
146 4 eepDataOut(EEPDATASTART+(&eepData.brightness-&eepData),(unsigned char *)&eepData.brightness, 1);
147 4 adjBrightness(0,HIDE);
148 4 return;
149 4 }
150 3 // BACK LIGHT
151 3 else if (uartBuff[3] == '1' && uartBuff[4] == '7')
152 3 {
153 4 eepData.brightness = uartBuff[0];
154 4 eepDataOut(EEPDATASTART+(&eepData.brightness-&eepData),(unsigned char *)&eepData.brightness, 1);
155 4 adjBrightness(0,HIDE);
156 4 return;
157 4 }
158 3 }
159 2 else if (uartBuff[1] == 'A' && uartBuff[2] == '0')
160 2 {
161 3 // SAVE 7800
162 3 if (uartBuff[3] == 'C' && uartBuff[4] == '1')
163 3 {
164 4 eepData.colorPos = COLOR_7500;
165 4 eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1);
-
166 4 eepData.color7500R = eepData.userR;
167 4 eepData.color7500G = eepData.userG;
168 4 eepData.color7500B = eepData.userB;
169 4 eepData.brightness75 = eepData.brightness;
170 4 eepData.contrast75 = eepData.contrast;
171 4 eepDataOut(EEPDATASTART+(&eepData.color7500R-&eepData),(unsigned char *)&eepData.color7500R, 5);
-
172 4 return;
173 4 }
174 3 // SAVE 6500
175 3 else if (uartBuff[3] == 'A' && uartBuff[4] == '5')
176 3 {
C51 COMPILER V6.23a RS232 09/10/2004 16:09:06 PAGE 4
177 4 eepData.colorPos = COLOR_6500;
178 4 eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1);
-
179 4 eepData.color6500R = eepData.userR;
180 4 eepData.color6500G = eepData.userG;
181 4 eepData.color6500B = eepData.userB;
182 4 eepData.brightness65 = eepData.brightness;
183 4 eepData.contrast65 = eepData.contrast;
184 4 eepDataOut(EEPDATASTART+(&eepData.color6500R-&eepData),(unsigned char *)&eepData.color6500R, 5);
-
185 4 return;
186 4 }
187 3 // RECALL 7800
188 3 else if (uartBuff[3] == 'B' && uartBuff[4] == '9')
189 3 {
190 4 eepData.colorPos = COLOR_7500;
191 4 eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1);
-
192 4 eepData.brightness = eepData.brightness75;
193 4 eepData.contrast = eepData.contrast75;
194 4 eepDataOut(EEPDATASTART+(&eepData.brightness-&eepData),(unsigned char *)&eepData.brightness, 2);
195 4 adjBrightness(0,HIDE);
196 4 adjContrast(0,HIDE);
197 4 setColorTemp();
198 4 return;
199 4 }
200 3 // RECALL 6500
201 3 else if (uartBuff[3] == 'B' && uartBuff[4] == '6')
202 3 {
203 4 eepData.colorPos = COLOR_6500;
204 4 eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1);
-
205 4 eepData.brightness = eepData.brightness65;
206 4 eepData.contrast = eepData.contrast65;
207 4 eepDataOut(EEPDATASTART+(&eepData.brightness-&eepData),(unsigned char *)&eepData.brightness, 2);
208 4 adjBrightness(0,HIDE);
209 4 adjContrast(0,HIDE);
210 4 setColorTemp();
211 4 return;
212 4 }
213 3 // RESET
214 3 else if (uartBuff[3] == 'B' && uartBuff[4] == '5')
215 3 {
216 4 if (FactoryFlag)
217 4 ResetEEPROM(RSTCOLOR+RSTEEP+RSTUSER);
218 4 else
219 4 ResetEEPROM(RSTEEP+RSTUSER);
220 4
221 4 getDefModeData(); //load from rom table
222 4 updateModeData(); //save to eeprom
223 4 recall_set_ModeData(); //load from auto/table and set mode data
224 4 setEepData(); //set common data
225 4 return;
226 4 }
227 3 }
228 2 }
229 1 }
230
231
232 #if WINBOND_ISP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -