📄 lcm12864driver.lst
字号:
C51 COMPILER V8.08 LCM12864DRIVER 06/28/2008 15:24:33 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE LCM12864DRIVER
OBJECT MODULE PLACED IN LCM12864driver.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE LCM12864driver.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include <Reg52.h>
3 #include <intrins.h>
4 #include <LCM12864driver.H>
5
6 sbit LCM_RST= P1^4;
7
8 void Delay(int num)
9 {
10 1 while(num--) ;
11 1 }
12
13 void Delay12864(unsigned int t)//
14 {
15 1 unsigned int i,j;
16 1 for(i=0;i<t;i++)
17 1 {
18 2 for(j=0;j<10;j++);
19 2 }
20 1 }
21
22 /******************************************************************************/
23 void write_com(unsigned char cmdcode)//左屏写命令到LCD
24 {
25 1 LCMCS1W_COM = cmdcode;
26 1
27 1 }
28 void write1_com(unsigned char cmdcode)//右屏写命令到LCD
29 {
30 1 LCMCS2W_COM = cmdcode;
31 1
32 1 }
33 /******************************************************************************/
34 void write_data(unsigned char Dispdata)//左屏写数据到LCD
35 {
36 1 LCMCS1W_DAT = Dispdata;
37 1 }
38
39 void write1_data(unsigned char Dispdata)//右屏写数据到LCD
40 {
41 1 LCMCS2W_DAT = Dispdata;
42 1 }
43 /******************************************************************************/
44 /*******************************************************************************
45 void frame(void)//显示边框
46 {
47 unsigned char i;
48 Mcs = 1;
49 Scs = 1;
50 write_com(Page_Add+0);
51 write_com(Col_Add+0);
52 for(i=0;i<64;i++)
53 {
54 write_data(0x01);
55 }
C51 COMPILER V8.08 LCM12864DRIVER 06/28/2008 15:24:33 PAGE 2
56 write_com(Page_Add+7);
57 write_com(Col_Add+0);
58 for(i=0;i<64;i++)
59 {
60 write_data(0x80);
61 }
62 for(i=0;i<8;i++)
63 {
64 Mcs=0;
65 Scs=1;
66 write_com(Page_Add+i);
67 write_com(Col_Add+63);
68 write_data(0xff);
69 Mcs=1;
70 Scs=0;
71 write_com(Page_Add+i);
72 write_com(Col_Add+0);
73 write_data(0xff);
74 }
75 }
76
77 /***************************清除内存***************************************************/
78 void Clr_Scr(void)//
79 {
80 1 unsigned char j,k;
81 1 for(k=0;k<8;k++)
82 1 {
83 2
84 2 Delay(10);
85 2 write_com(Page_Add+k);
86 2 write_com(Col_Add+0);
87 2 for(j=0;j<64;j++)
88 2 {
89 3 write_data(0x00);
90 3 }
91 2
92 2 Delay(10);
93 2 write1_com(Page_Add+k);
94 2 write1_com(Col_Add+0);
95 2 for(j=64;j<128;j++)
96 2 {
97 3 write1_data(0x00);
98 3 }
99 2 }
100 1 }
101
102 /**********************************显示12864图片*********************************************/
103 void Disp_Img(unsigned char code *img)//
104 {
105 1 unsigned char j,k;
106 1 for(k=0;k<8;k++)
107 1 {
108 2
109 2 Delay(10);
110 2 write_com(Page_Add+k);
111 2 write_com(Col_Add+0);
112 2 for(j=0;j<64;j++)
113 2 {
114 3 write_data(img[k*128+j]);
115 3 }
116 2
117 2 Delay(10);
C51 COMPILER V8.08 LCM12864DRIVER 06/28/2008 15:24:33 PAGE 3
118 2 write1_com(Page_Add+k);
119 2 write1_com(Col_Add+0);
120 2 for(j=64;j<128;j++)
121 2 {
122 3 write1_data(img[k*128+j]);
123 3 }
124 2 }
125 1 }
126
127 /***************************指定位置显示汉字16*16****************************************************/
128 void Disp_Chinese(unsigned char pag,unsigned char col, char code *hzk)
129 {
130 1 unsigned char j=0,i=0;
131 1 for(j=0;j<2;j++)
132 1 {
133 2 write_com(Page_Add+pag+j);
134 2 write_com(Col_Add+col);
135 2 for(i=0;i<16;i++)
136 2 {
137 3 write_data(hzk[16*j+i]);
138 3 }
139 2 }
140 1 }
141
142 void Disp1_Chinese(unsigned char pag,unsigned char col, char code *hzk)
143 {
144 1 unsigned char j=0,i=0;
145 1 for(j=0;j<2;j++)
146 1 {
147 2 write1_com(Page_Add+pag+j);
148 2 write1_com(Col_Add+col);
149 2 for(i=0;i<16;i++)
150 2 {
151 3 write1_data(hzk[16*j+i]);
152 3 }
153 2 }
154 1 }
155
156 /**************************指定位置显示字母或数字8*16*****************************************************
-/
157 void Disp_Digit(unsigned char pag,unsigned char col, unsigned char code *hzk)
158 {
159 1 unsigned char j=0, i=0;
160 1
161 1 for(j=0;j<2;j++)
162 1 {
163 2 write_com(Page_Add+pag+j);
164 2 write_com(Col_Add+col);
165 2 for(i=0;i<8;i++)
166 2 {
167 3 write_data(hzk[8*j+i]);
168 3 }
169 2 }
170 1 }
171 void Disp1_Digit(unsigned char pag,unsigned char col, unsigned char code *hzk)
172 {
173 1 unsigned char j=0, i=0;
174 1
175 1 for(j=0;j<2;j++)
176 1 {
177 2 write1_com(Page_Add+pag+j);
178 2 write1_com(Col_Add+col);
C51 COMPILER V8.08 LCM12864DRIVER 06/28/2008 15:24:33 PAGE 4
179 2 for(i=0;i<8;i++)
180 2 {
181 3 write1_data(hzk[8*j+i]);
182 3 }
183 2 }
184 1 }
185
186 /**************************初始化LCD屏******************************************************/
187 void Init_lcd(void)
188 {
189 1 LCM_RST=0;
190 1 Delay12864(100);
191 1 LCM_RST=1;
192 1 Delay12864(100);
193 1 write_com(Disp_Off);
194 1 write_com(Page_Add+0);
195 1 write_com(Start_Line+0);
196 1 write_com(Col_Add+0);
197 1 write_com(Disp_On);
198 1
199 1 write1_com(Disp_Off);
200 1 write1_com(Page_Add+0);
201 1 write1_com(Start_Line+0);
202 1 write1_com(Col_Add+0);
203 1 write1_com(Disp_On);
204 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 530 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 14
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -