📄 ts12864a.lst
字号:
175 2 LCD_CSB=0;
176 2 delay_17us();
177 2 }
178 1 LCD_DATA=0xff; //IO口将电平拉高
C51 COMPILER V8.02 TS12864A 05/25/2008 15:06:02 PAGE 4
179 1 delay_17us();
180 1 }
181 /*****************************************************************/
182 /*函数名称: Dis_Play.c */
183 /*函数功能: 显示汉字,fb==1:反白显示 */
184 /*函数说明: 具体说明如下:
185 x---------------------------------------------横轴位置
186 y---------------------------------------------纵轴位置
187 n-------------------------------------数据在表中的位置
188 dis_value-----------------------------待显示汉字的代码
189 */
190 /*修改记录: 无修改记录 */
191 /*编写日期: 2007-3-17 */
192 /*****************************************************************/
193 void Dis_Play(unsigned char x,unsigned char y,unsigned char dis_value)
194 {
195 1 LCD_Set_xy(x,y);
196 1 LCD_Write_Data(dis_value);
197 1 }
198
199 void LCD_Init(void)
200 {
201 1
202 1 LCD_CSA = 1;
203 1 delay_17us();
204 1 LCD_CSB = 1; //控制器全开
205 1 delay_17us();
206 1 LCD_Write_Command(0x3f); //开显示
207 1 delay_17us();
208 1 LCD_Write_Command(0xc0); //设置起始地址
209 1 delay_17us();
210 1
211 1 }
212
213 /*****************************************************************/
214 /*函数名称: Display_Character.c */
215 /*函数功能: 显示汉字,fb==1:反白显示 */
216 /*函数说明: 具体说明如下:
217 x---------------------------------------------横轴位置
218 y---------------------------------------------纵轴位置
219 n-------------------------------------数据在表中的位置
220 dis_table-----------------------------待显示数据代码表
221 dis_value-----------------------------待显示汉字的代码
222 */
223 /*修改记录: 无修改记录 */
224 /*编写日期: 2007-3-17 */
225 /*****************************************************************/
226 void Display_Character(unsigned char x,unsigned char y,unsigned char n)
227 {
228 1 unsigned char i,dis_value;
229 1 for(i=0;i<16;i++)
230 1 {
231 2 switch(y)
232 2 {
233 3 case 1: dis_value=dis_table[i+n*32]; //确定显示的值,上半部分
234 3 Dis_Play(x*8+i,1,dis_value);
235 3 dis_value=dis_table[i+n*32+16]; //确定显示的值,上半部分
236 3 Dis_Play(x*8+i,2,dis_value);
237 3 break;
238 3 case 3: dis_value=dis_table[i+n*32]; //确定显示的值,上半部分
239 3 Dis_Play(x*8+i,3,dis_value);
240 3 dis_value=dis_table[i+n*32+16]; //确定显示的值,上半部分
C51 COMPILER V8.02 TS12864A 05/25/2008 15:06:02 PAGE 5
241 3 Dis_Play(x*8+i,4,dis_value);
242 3 break;
243 3 case 5: dis_value=dis_table[i+n*32]; //确定显示的值,上半部分
244 3 Dis_Play(x*8+i,5,dis_value);
245 3 dis_value=dis_table[i+n*32+16]; //确定显示的值,上半部分
246 3 Dis_Play(x*8+i,6,dis_value);
247 3 break;
248 3 default:break;
249 3 }
250 2 }
251 1 }
252
253 /*****************************************************************/
254 /*函数名称: Display_Char.c */
255 /*函数功能: 显示字符,fb==1:反白显示 */
256 /*函数说明: 具体说明如下:
257 x---------------------------------------------横轴位置
258 y---------------------------------------------纵轴位置
259 n-------------------------------------数据在表中的位置
260 dis_table-----------------------------待显示数据代码表
261 dis_value-----------------------------待显示汉字的代码
262 */
263 /*修改记录: 无修改记录 */
264 /*编写日期: 2007-3-17 */
265 /*****************************************************************/
266 void Display_Char(unsigned char x,unsigned char y,unsigned char n)
267 {
268 1 unsigned char i,dis_value;
269 1 for (i=0;i<8;i++)
270 1 {
271 2 dis_value=shuzi_table[i+n*16];
272 2 Dis_Play(x*8+i+1,y,dis_value);
273 2 dis_value=shuzi_table[i+n*16+8];
274 2 Dis_Play(x*8+i+1,y+1,dis_value);
275 2 }
276 1 }
277 void Display_Point(unsigned char px,unsigned char py,unsigned char pn)
278 {
279 1 unsigned char i,dis_value;
280 1 for (i=0;i<4;i++)
281 1 {
282 2 dis_value=Point_table[i+pn*8];
283 2 Dis_Play(px*8+i+1,py,dis_value);
284 2 }
285 1 }
286
287
288 /*****************************************************************/
289 /*函数名称: Display_Char.c */
290 /*函数功能: 清除字符 */
291 /*函数说明: 具体说明如下:
292 x---------------------------------------------横轴位置
293 y---------------------------------------------纵轴位置
294 n-------------------------------------清除字符的个数*/
295 /*修改记录: 无修改记录 */
296 /*编写日期: 2007-3-17 */
297 /*****************************************************************/
298
299 void Clear_Area(unsigned char x,unsigned char y,unsigned char n)
300 {
301 1 unsigned char ct=0;
302 1 for(ct=0;ct<n;ct++)
C51 COMPILER V8.02 TS12864A 05/25/2008 15:06:02 PAGE 6
303 1 Display_Char(x+ct,y,64);
304 1 delay_nms(10);
305 1 }
306
307
308 /*****************************************************************/
309 /*函数名称: ten_n.c */
310 /*函数功能: 保留的小数取整 */
311 /*修改记录: 无修改记录 */
312 /*编写日期: 2007-3-17 */
313 /*****************************************************************/
314
315 unsigned int ten_n(unsigned char n)
316 {
317 1 unsigned int k;
318 1 if(n==0) return 1;
319 1 k=ten_n(n-1)*10;
320 1 return( k);
321 1 }
322
323 /*****************************************************************/
324 /* : end : */
325 /*****************************************************************/
326
327 void delay_17us()
328 {
329 1
330 1 unsigned char t=17;
331 1 while(--t)
332 1 {
333 2
334 2 _nop_();
335 2
336 2 }
337 1
338 1 }
339
340
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1053 ----
CONSTANT SIZE = 2376 ----
XDATA SIZE = 1 27
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -