📄 demo.lst
字号:
145 /*********************/
146 /* 清屏函数 */
147 /*********************/
148 CLEAR()
149 {
150 1 unsigned int i,j;
151 1 wcadd1=0x4c; /* CSRDIR 代码 */
152 1 wcadd1=0x46; /* CSRW 代码 */
153 1 wdadd1=0x00; /* 设置参数光标指针低8位 */
154 1 wdadd1=0x00; /* 设置参数光标指针高8位 */
155 1 wcadd1=0x42; /* MWRITE 代码 */
156 1 for(j=0;j<2195;j++)
157 1 {
158 2 for(i=0;i<30;i++)
159 2 {
160 3 wdadd1=0x00; /* 写入数据 */
161 3 }
162 2 }
163 1 }
164 /********************/
165 /* CGRAM函数 */
166 /********************/
167 CGRAM()
168 {
169 1 unsigned char i,j;
170 1 wcadd1=0x5c; /* CGRAMADR 代码 */
171 1 wdadd1=0x00; /* 设置SAG=0x3000 */
172 1 wdadd1=0x30;
173 1 wcadd1=0x46; /* CSRW 代码 */
174 1 wdadd1=0x00; /* 设置CSR=0x3400(字符代码=80H) */
175 1 wdadd1=0x34;
C51 COMPILER V6.12 DEMO 09/22/2005 15:52:52 PAGE 4
176 1 wcadd1=0x4c; /* CSRDIR 代码 */
177 1 wcadd1=0x42; /* MWRITE 代码 */
178 1 for(j=0;j<4;j++)
179 1 {
180 2 for(i=0;i<32;i++)
181 2 {
182 3 wdadd1=CGTAB[j][i]; /* 写入字模数据 */
183 3 }
184 2 }
185 1 }
186 /*************************/
187 /* 写汉字函数(文本方式) */
188 /*************************/
189 CCW1_PR(char O_X,char O_Y,code_1)
190 {
*** WARNING C235 IN LINE 190 OF .\DEMO.C: parameter 3: different types
191 1 unsigned int i,j;
192 1 i=PARA;
193 1 j=i*O_Y+O_X;
194 1 wcadd1=0x4f; /* CSRDIR 代码(下移) */
195 1 wcadd1=0x46; /* CSRW 代码 */
196 1 wdadd1=j%256; /* 设置光标地址 */
197 1 wdadd1=j/256;
198 1 wcadd1=0x42; /* MWRITE 代码 */
199 1 wdadd1=code_1; /* 写入汉字代码 */
200 1 wdadd1=code_1+1; /* 写入汉字代码 */
201 1 j++;
202 1 wcadd1=0x46; /* CSRW 代码 */
203 1 wdadd1=j%256; /* 设置光标地址 */
204 1 wdadd1=j/256;
205 1 wcadd1=0x42; /* MWRITE 代码 */
206 1 wdadd1=code_1+2; /* 写入汉字代码 */
207 1 wdadd1=code_1+3; /* 写入汉字代码 */
208 1 }
209 /************************/
210 /* 写汉字函数(图形方式)*/
211 /************************/
212 CCW2_PR(char O_X,char O_Y,code_1)
213 {
*** WARNING C235 IN LINE 213 OF .\DEMO.C: parameter 3: different types
214 1 unsigned char count1;
215 1 unsigned int i,j,a;
216 1 i=PARA;
217 1 j=i*O_Y+O_X;
218 1 wcadd1=0x4f; /* CSRDIR 代码(下移) */
219 1 for(i=0;i<2;i++)
220 1 {
221 2 wcadd1=0x46; /* CSRW 代码 */
222 2 wdadd1=j%256; /* 设置光标地址CSR */
223 2 wdadd1=j/256;
224 2 wcadd1=0x42; /* MWRITE 代码 */
225 2 for(count1=i*16;count1<16*(i+1);count1++)
226 2 {
227 3 wdadd1=CGTAB[code_1][count1]; /* 写入数据 */
228 3 }
229 2 j=j+1;
230 2 }
231 1 }
*** WARNING C280 IN LINE 215 OF .\DEMO.C: 'a': unreferenced local variable
232 /************************/
233 /* 西文函数 */
234 /************************/
C51 COMPILER V6.12 DEMO 09/22/2005 15:52:52 PAGE 5
235 unsigned char i;
236 unsigned int j;
237 CW_PR(O_X,O_Y)
238 {
239 1 i=PARA;
240 1 j=i*O_Y+O_X;
241 1 wcadd1=0x46; /* CSRW 代码 */
242 1 wdadd1=j%256; /* 设置光标地址CSR */
243 1 wdadd1=j/256;
244 1 wcadd1=0x4c; /* CSRDIR 代码 */
245 1 wcadd1=0x42; /* MWRITE 代码 */
246 1 for(i=0;i<12;i++)
247 1 {
248 2 wdadd1=CTAB1[i]; /* 写入数据 */
249 2 }
250 1 }
251 /***********************/
252 /* 绘点函数 */
253 /***********************/
254 W_DOT(int O_X,int O_Y)
255 {
256 1 unsigned char i,j,dat;
257 1 unsigned int k;
258 1 j=PARA;
259 1 i=O_X%8;
260 1 O_X=O_X/8;
261 1 k=j*O_Y+O_X;
262 1 wcadd1=0x4f;
263 1 wcadd1=0x46; /* 设置光标地址 */
264 1 wdadd1=k%256; /* 计算光标地址 */
265 1 wdadd1=k/256;
266 1 if(O_Y==0)O_Y=0x80;
267 1 else
268 1 {
269 2 O_Y=1;
270 2 for(;i<7;i++) /* 计算显示位 */
271 2 {
272 3 O_Y=O_Y*2;
273 3 }
274 2 }
275 1 wcadd1=0x43; /* MREAD 代码 */
276 1 dat=rdadd1; /* 读取当前显示数据 */
277 1 wcadd1=0x46; /* 设置光标地址 */
278 1 wdadd1=k%256; /* 计算光标地址 */
279 1 wdadd1=k/256;
280 1 wcadd1=0x42; /* MWRITE 代码 */
281 1 wdadd1=dat|O_Y; /* 写入合成数据 */
282 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 974 ----
CONSTANT SIZE = 128 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 33 19
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 7 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -