📄 ym12864r.lst
字号:
C51 COMPILER V7.20 YM12864R 03/31/2007 14:43:10 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE YM12864R
OBJECT MODULE PLACED IN YM12864R.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE YM12864R.C BROWSE INCDIR(E:\BOARD\LITTLESINAL\12864\LCD\) DEBUG OBJECTEXTEN
-D
line level source
1 //********************************************************//
2 #include"YM12864.H"
3 #define TD 5000
4 //*******************************************************//
5 void Delay(uint16 t)
6 {
7 1 while(t--);
8 1 }
9 //液晶写指令子程序
10 void Send_Com(uint8 com)
11 {
12 1 LCD_RS=0;
13 1 LCD_RW=0;
14 1 LCD_EA=1;
15 1 Delay(TD);
16 1 LCD_Port=com;
17 1 LCD_EA=0;
18 1 Delay(TD);
19 1 }
20
21 //液晶写数据子程序
22 void Send_Data(uint8 dat)
23 {
24 1 LCD_RS=1;
25 1 LCD_RW=0;
26 1 LCD_EA=1;
27 1 Delay(TD);
28 1 LCD_Port=dat;
29 1 LCD_EA=0;
30 1 Delay(TD);
31 1 }
32
33
34
35 //行line=[0..3],列row=[0..7]
36 void YM12864R_Dis_Str(uint8 line,uint8 row,uint8 *p)
37 {
38 1 switch (line)
39 1 {
40 2 case 0:Send_Com(0x80+row);break;
41 2 case 1:Send_Com(0x90+row);break;
42 2 case 2:Send_Com(0x88+row);break;
43 2 case 3:Send_Com(0x98+row);break;
44 2 default:break;
45 2 }
46 1 while(*p!='\0')
47 1 {
48 2 Send_Data(*p++);
49 2 }
50 1 }
51
52 //在第Line行的第Row位置开始显示P数组的前coun个字节的图形
53 void YM12864R_Dis_Array(uint8 Line,uint8 Row,uint8 Coun,uint8 *p)
54 {
C51 COMPILER V7.20 YM12864R 03/31/2007 14:43:10 PAGE 2
55 1 /*
56 1 uint8 temp;
57 1 Send_Com(0x36);//基本指令集,关闭绘图显示功能
58 1 Send_Com(Row+0x80);//发送水平地址
59 1 Send_Com(Line+0x80);//发送垂直地址
60 1 for(temp=0;temp<Coun;temp++)//发送数据
61 1 {
62 1 Send_Data(*(p+temp));
63 1 }
64 1 Send_Com(0x30);//打开绘图显示功能
65 1 */
66 1 uint8 i,j,xx,yy;
67 1 if(Row>2)
68 1 {
69 2 xx=Line+0x87;
70 2 yy=((Row-3)<<4)+0x80;
71 2 }
72 1 else
73 1 {
74 2 xx=Line+0x7f;
75 2 yy=((Row-1)<<4)+0x80;
76 2 }
77 1
78 1 Send_Com(0x36); //扩展指令模式,形图开关开
79 1 for (i=0;i<10;i++) //一行处理显示
80 1 {
81 2 Send_Com(yy++);
82 2 Send_Com(xx);
83 2 for (j=0;j<2;j++)
84 2 {
85 3 Send_Data(*p++);
86 3 }
87 2 }
88 1 Send_Com(0x30); //基本指令模式
89 1 }
*** WARNING C280 IN LINE 53 OF YM12864R.C: 'Coun': unreferenced local variable
90 //**********************************************************//
91 //清除第line行第StartAdd列到EndAdd列的内容
92 void YM12864R_Clr(uint8 line,uint8 StartAdd,uint8 EndAdd)
93 {
94 1 uint8 RowTemp;
95 1 for(RowTemp=StartAdd;RowTemp<=EndAdd;RowTemp++)
96 1 {
97 2 YM12864R_Dis_Str(line,RowTemp," ");
98 2 }
99 1 }
100 //*********************************************************//
101 //初始化YM12864R
102 void YM12864R_Init()
103 {
104 1 uint8 i,j;
105 1 uint8 dis0[32]={
106 1 0,0,0,0,0,0,0,0,
107 1 0,0,0,0,0,0,0,0,
108 1 0,0,0,0,0,0,0,0,
109 1 0,0,0,0,0,0,0,0
110 1 };
111 1 Send_Com(0x01);//清除显示屏,清除DRAM
112 1 Send_Com(0x30);//设置成基本指令集
113 1 Send_Com(0x02);//DRAM地址计数器复0
114 1 Send_Com(0x04);//启动地址字增
115 1 Send_Com(0x0c);//打开显示,紧张游标
C51 COMPILER V7.20 YM12864R 03/31/2007 14:43:10 PAGE 3
116 1 Send_Com(0x01);//清除显示
117 1 Send_Com(0x80);//DRAM地址复位
118 1 for(i=1;i<=4;i++)
119 1 for(j=1;j<=8;j++)
120 1 YM12864R_Dis_Array(j,i,2,dis0);
121 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 330 ----
CONSTANT SIZE = 35 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 48
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 + -