📄 lcddriver.lst
字号:
C51 COMPILER V6.23a LCDDRIVER 04/13/2006 22:36:01 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE LCDDRIVER
OBJECT MODULE PLACED IN LCDDriver.OBJ
COMPILER INVOKED BY: D:\Programe File\Keil\C51\BIN\C51.EXE LCDDriver.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<AT89X52.h>
2
3 #define uchar unsigned char
4
5 #define DISP_ON 0x3f
6 #define DISP_OFF 0x3e
7 #define COL_ADD 0x40
8 #define PAGE_ADD 0xb8
9 #define START_LINE 0xc0
10 #define LCD_BUS P0
11
12 sbit MCS=P2^0;
13 sbit SCS=P2^1;
14 sbit DI=P2^2;
15 sbit RW=P2^3;
16 sbit ENABLE=P2^4;
17 sbit LCD_RST=P2^5;
18
19 void Delay(uchar t)
20 {
21 1 uchar i,j;
22 1 for(i=0;i<t;i++)
23 1 for(j=0;j<10;j++)
24 1 ;
25 1 }
26
27 void Write_Command(uchar cmd_code)
28 {
29 1 DI=0;
30 1 RW=0;
31 1 LCD_BUS=cmd_code;
32 1 Delay(0);
33 1 ENABLE=1;
34 1 Delay(0);
35 1 ENABLE=0;
36 1 }
37
38 void Write_Data(uchar Disp_Data)
39 {
40 1 DI=1;
41 1 RW=0;
42 1 LCD_BUS=Disp_Data;
43 1 Delay(0);
44 1 ENABLE=1;
45 1 Delay(0);
46 1 ENABLE=0;
47 1 }
48
49 void Clear_Scran()
50 {
51 1 uchar j,k;
52 1 MCS=1; SCS=1;
53 1 Write_Command(PAGE_ADD+0);
54 1 Write_Command(COL_ADD+0);
55 1 for(k=0;k<8;k++)
C51 COMPILER V6.23a LCDDRIVER 04/13/2006 22:36:01 PAGE 2
56 1 {
57 2 Write_Command(PAGE_ADD+k);
58 2 Write_Command(COL_ADD+0);
59 2 for(j=0;j<64;j++)
60 2 Write_Data(0x00);
61 2 }
62 1 }
63
64
65 void Initial_LCD(void)
66 {
67 1 LCD_RST=0;
68 1 Delay(100);
69 1 LCD_RST=1;
70 1 Delay(100);
71 1 MCS=1;
72 1 SCS=1;
73 1 Delay(100);
74 1 Write_Command(DISP_OFF);
75 1 Write_Command(PAGE_ADD+0);
76 1 Write_Command(START_LINE+0);
77 1 Write_Command(COL_ADD+0);
78 1 Write_Command(DISP_ON);
79 1 }
80
81 void Disp_Line(uchar page)
82 {
83 1 uchar i;
84 1 MCS=1;
85 1 SCS=1;
86 1 Write_Command(DISP_ON);
87 1 Write_Command(PAGE_ADD);
88 1 Write_Command(START_LINE);
89 1 Write_Command(COL_ADD);
90 1 // for(j=0;j<8;j++)
91 1 // {
92 1 Write_Command(PAGE_ADD+page);
93 1 Write_Command(COL_ADD+0);
94 1 for(i=0;i<64;i++)
95 1 Write_Data(0x80);
96 1 // }
97 1 }
98
99 void HZK_Disp8(uchar page,uchar col,uchar code *hzk)
100 {
101 1 uchar i;
102 1 Write_Command(PAGE_ADD+page);
103 1 Write_Command(COL_ADD+col);
104 1 for(i=0;i<8;i++)
105 1 {
106 2 Write_Data(hzk[i]);
107 2 }
108 1 }
109
110 void HZK_Disp16(uchar page,uchar col,uchar code *hzk)
111 {
112 1 uchar i,j;
113 1 for(j=0;j<2;j++)
114 1 {
115 2 Write_Command(PAGE_ADD+page+j);
116 2 Write_Command(COL_ADD+col);
117 2 for(i=0;i<16;i++)
C51 COMPILER V6.23a LCDDRIVER 04/13/2006 22:36:01 PAGE 3
118 2 {
119 3 Write_Data(hzk[16*j+i]);
120 3 }
121 2 }
122 1 }
123
124
125 void LCD_MCS()
126 {
127 1 MCS=1;
128 1 SCS=0;
129 1 }
130
131 void LCD_SCS()
132 {
133 1 MCS=0;
134 1 SCS=1;
135 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 275 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
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 + -