📄 jrmlcd.lst
字号:
177
178 {0x00,0x48,0x54,0x54,0x54,0x20},//s
C51 COMPILER V8.08 JRMLCD 08/19/2008 15:03:57 PAGE 4
179
180 {0x00,0x04,0x3f,0x44,0x44,0x24},//t
181
182 {0x00,0x3c,0x40,0x40,0x20,0x7e},//u
183
184 {0x00,0x1d,0x20,0x40,0x20,0x1c},//v
185
186 {0x00,0x3c,0x40,0x30,0x40,0x3c},//w
187
188 {0x00,0x44,0x28,0x10,0x28,0x44},//x
189
190 {0x00,0x06,0x48,0x48,0x48,0x3e},//y
191
192 {0x00,0x44,0x64,0x54,0x4c,0x44},//z
193
194 {0x00,0x00,0x08,0x36,0x41,0x00},//{
195
196 {0x00,0x00,0x00,0x7e,0x00,0x00},//|
197
198 {0x00,0x00,0x41,0x36,0x08,0x00},//}
199
200 {0x00,0x04,0x08,0x04,0x08,0x04} //~
201 };
202
203 /*----------------------------------
204 函数功能:初始化LCD
205 输入:无
206 输出:无
207 -----------------------------------*/
208 void InitLCD()
209 {
210 1 WriteCmdLCD(0,LCD_RESET); //初始化
211 1 WriteCmdLCD(0,LCD_DUTY32);
212 1 WriteCmdLCD(0,LCD_DRIVER_ON); //开驱动
213 1 WriteCmdLCD(0,LCD_DISPLAY_ON); //开显示
214 1 WriteCmdLCD(0,0xA1); //设置ADC
215 1
216 1 WriteCmdLCD(1,LCD_RESET); //初始化
217 1 WriteCmdLCD(1,LCD_DUTY32);
218 1 WriteCmdLCD(1,LCD_DRIVER_ON); //开驱动
219 1 WriteCmdLCD(1,LCD_DISPLAY_ON); //开显示
220 1 WriteCmdLCD(1,0xA1); //设置ADC
221 1 // SetLineLCD(0); //设置行
222 1 // SetColumnLCD(0); //设置显示列
223 1 // SetPageLCD(0); //设置页地址
224 1 }
225
226 /*----------------------------------
227 函数功能:读LCD的状态
228 输入:无
229 输出: 0:空闲
230 1:忙
231 -----------------------------------*/
232 bit ReadStateLCD()
233 {
234 1 E1 = 0;
235 1 CDout = 0xFF; //输出1,准备读数据
236 1 A0 = 0;
237 1 RW = 1;
238 1 nop6;
239 1 E1 = 1;
240 1 nop6;
C51 COMPILER V8.08 JRMLCD 08/19/2008 15:03:57 PAGE 5
241 1 return BF; //返回最高位
242 1 }
243
244 /*---------------------------------
245 函数功能:发送一条指令
246 输入: cmd:发送的指令
247 输出: 无
248 ----------------------------------*/
249 void WriteCmdLCD(bit selchip,uint8 cmd)
250 {
251 1 A0 = 0;
252 1 RW = 0;
253 1 if(!selchip)
254 1 {
255 2 E1 = 0;
256 2 nop6;
257 2 E1 = 1;
258 2 CDout = cmd;
259 2 nop6;
260 2 E1 = 0;
261 2 }
262 1 else
263 1 {
264 2 E2 = 0;
265 2 nop6;
266 2 E2 = 1;
267 2 CDout = cmd;
268 2 nop6;
269 2 E2 = 0;
270 2 }
271 1 }
272
273 /*-------------------------------------
274 函数功能:向其一发送一个字节
275 输入:selchip :选择芯片0:第一个,1:第二个
276 nadata :输入的数据
277 输出:无
278 --------------------------------------*/
279 void WriteRamLCD(bit selchip,uint8 ndata)
280 {
*** WARNING C235 IN LINE 280 OF JRMLCD.C: parameter 2: different types
281 1 A0=1;
282 1 RW=0;
283 1 if(!selchip)
284 1 {
285 2 E1=1;
286 2 CDout=ndata;
287 2 nop6;
288 2 E1=0;
289 2 nop6;
290 2 }
291 1 else
292 1 {
293 2 E2=1;
294 2 CDout=ndata;
295 2 nop3;
296 2 E2=0;
297 2 nop6;
298 2 }
299 1 }
300
301 /*----------------------------------------------------
C51 COMPILER V8.08 JRMLCD 08/19/2008 15:03:57 PAGE 6
302 函数功能:向其一RAM写一个字符,即6个字节
303 输入:selchip :选择芯片0:第一个,1:第二个
304 ndata :要发送的字符
305 输出:无
306 ----------------------------------------------------*/
307 void WriteCharLCD(bit selchip,uint8 ndata)
308 {
309 1 uint8 i;
310 1 for(i=0; i<6; i++)
311 1 WriteRamLCD(selchip,ASCII[ndata-32][i]);
312 1 }
313
314 /*-----------------------------------------------------
315 函数功能:向LCD写一串数据,数据以字符的形式存在数组中
316 输入: selchip:选择芯片,0:第一个,1:第二个
317 count :字符的个数,count要小于等于10
318 ndata:字符的首地址
319 输出:无
320 ------------------------------------------------------*/
321 void WriteStrLCD(bit selchip,uint8 count,uint8 *ndata)
322 {
323 1 uint8 i;
324 1
325 1 if(count>10)
326 1 return;
327 1 for(i=0; i<count; i++)
328 1 WriteCharLCD(selchip, ndata[i]);
329 1 }
330
331 /*----------------------------------------------------
332 函数功能:写其中一个RAM的一页
333 输入: npage: 页数
334 ndata: 61个字节的首地址
335 ----------------------------------------------------*/
336 /*void WritePageLCD(uint8 npage,uint8 *ndata)
337 {
338 uint8 i;
339 bit selchip = npage%3;
340 SetPageLCD(npage%4);
341 SetColumnLCD(0);
342 for(i=0;i<61;i++)
343 WriteRamLCD(selchip,ndata[i]);
344 } */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 282 ----
CONSTANT SIZE = 570 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 7
IDATA SIZE = ---- ----
BIT SIZE = ---- 4
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -