📄 lcd.lst
字号:
C51 COMPILER V7.20 LCD 04/01/2003 13:42:28 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD.C BROWSE INCDIR(D:\new pm1\program\) DEBUG OBJECTEXTEND
line level source
1 #include <comm.h>
2 #include <lcd.h>
3 extern uchar LCD_BUF[2][16];
4
5 void Send_LCD_Cmd(uchar dt)
6 {
7 1 READ_LCD_BF_FLAG();
8 1 EA= 0;
9 1 LCD_RS=0;
10 1 LCD__RW=0;
11 1 LCD_PORT_DRC=0xff;
12 1 SELECT_LCD_PORT;
13 1 LCD_PORT=dt;
14 1 DISABLE_138;
15 1 EA= 1;
16 1 }
17
18
19 void Ini_LCD(void){
20 1 Send_LCD_Cmd(0x30);
21 1 Send_LCD_Cmd(0x0c);
22 1 Send_LCD_Cmd(0x06);
23 1 }
24
25
26 void READ_LCD_BF_FLAG(void){
27 1 LCD_RS=0;
28 1 LCD__RW=1;
29 1 SELECT_LCD_PORT;
30 1 LCD_PORT_DRC=0xff;
31 1 while(LCD_PORT&0x80);
32 1 }
33 void Print_Row_Rom( uchar row_no , uchar *strptr) //字符串指针
34 { //把要显示的内容送进显示缓冲区
35 1 uchar i;
36 1 if((row_no>1)||(*strptr==0)) return;
37 1 for(i=0;i<16;i++)
38 1 {
39 2 LCD_BUF[row_no][i]=*strptr;
40 2 _nop_();_nop_();
41 2 if(*strptr==0) break;
42 2 strptr++;
43 2 }
44 1 for(;i<16;i++)
45 1 {
46 2 LCD_BUF[row_no][i]=0x20;
47 2 }
48 1 }
49 void Refresh_LCD_Screen(void){ //把显示缓冲区的内容通过显示数据线送到显示LCD
50 1 uchar i,j;
51 1 for(i=0;i<2;i++)
52 1 {
53 2 for(j=0;j<16;j++)
54 2 {
55 3 if(i==0) {
C51 COMPILER V7.20 LCD 04/01/2003 13:42:28 PAGE 2
56 4 Send_LCD_Cmd(0x80) ; //显示在LCD的第一行
57 4 Send_LCD_Cmd(LCD_BUF[i][j]);
58 4 }
59 3 if(i==1) {
60 4 Send_LCD_Cmd(0x90) ; //显示在LCD的第二行
61 4 Send_LCD_Cmd(LCD_BUF[i][j]);
62 4 }
63 3
64 3
65 3 }
66 2
67 2 }
68 1 }
69
70
71 void Print_underline(uchar x)
72 {
73 1
74 1 Send_LCD_Cmd(x);
75 1 Send_LCD_Cmd(0x2d);
76 1 }
77
78
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 203 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -