📄 lcd.lst
字号:
C51 COMPILER V8.02 LCD 04/05/2009 22:51:12 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: E:\应用软件\Keil\C51\BIN\C51.EXE LCD.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"lcd.h"
2
3 unsigned char bdata CS = 0;
4 unsigned char LCDX=0;
5 unsigned char LCDY=0;
6
7 void BUSY_WAIT(void)
8 {
9 1 while(Read_Condition & 0x80 != 0);
10 1 }
11
12
13 void LCD_ON(void)
14 {
15 1 BUSY_WAIT();
16 1 Write_comond = ON;
17 1 }
18
19
20 void LCD_OFF(void)
21 {
22 1 BUSY_WAIT();
23 1 Write_comond = OFF;
24 1 }
25
26
27 void LCD_START_LINE(unsigned char line)
28 {
29 1 BUSY_WAIT();
30 1 Write_comond = line | START_LINE;
31 1 }
32
33
34 void LCD_PAGE(unsigned char page)
35 {
36 1 BUSY_WAIT();
37 1 Write_comond = (page & 0x07) | PAGE_ADD;
38 1 }
39
40
41 void LCD_X(unsigned char x) //设置列地址(0~63)
42 {
43 1 BUSY_WAIT();
44 1 Write_comond = (x & 0x3F) | COL_ADD;
45 1 }
46
47
48 void LCD_WRITE_DATA(unsigned char dat)
49 {
50 1 BUSY_WAIT();
51 1 Write_data = dat;
52 1 }
53
54
55 void CLEAR(void)
C51 COMPILER V8.02 LCD 04/05/2009 22:51:12 PAGE 2
56 {
57 1 unsigned char i,j;
58 1 for ( j=0; j<8; j++ )
59 1 {
60 2 LCD_PAGE(j);
61 2 LCD_X(0);
62 2 for ( i=0; i<64; i++ )
63 2 {
64 3 LCD_WRITE_DATA(0x00);
65 3 }
66 2 }
67 1 }
68
69
70 void LCD_CLEAR(void)
71 {
72 1 CSA_ON();
73 1 CLEAR();
74 1 CSA_OFF();
75 1 CSB_ON();
76 1 CLEAR();
77 1 CSB_OFF();
78 1 }
79
80
81 void LcdInit(void)
82 {
83 1 CSA_ON(); //设置左右半屏起始行
84 1 LCD_START_LINE(0);
85 1 CSA_OFF();
86 1 CSB_ON();
87 1 LCD_START_LINE(0);
88 1 CSB_OFF();
89 1
90 1 LCD_CLEAR();
91 1
92 1 CSA_ON();
93 1 LCD_ON();
94 1 CSA_OFF();
95 1 CSB_ON();
96 1 LCD_ON();
97 1 CSB_OFF();
98 1 }
99
100
101 void WRITE_HZ_16X16(unsigned char *hz,unsigned char x,unsigned char y)
102 {
103 1 unsigned char i,j;
104 1 if(x<64)
105 1 {
106 2 CSA_ON();
107 2 for(i=0;i<2;i++)
108 2 {
109 3 LCD_PAGE(y+i);
110 3 LCD_X(x);
111 3 for(j=0;j<16;j++)
112 3 {
113 4 LCD_WRITE_DATA(*hz++);
114 4 }
115 3 }
116 2 CSA_OFF();
117 2 }
C51 COMPILER V8.02 LCD 04/05/2009 22:51:12 PAGE 3
118 1 else
119 1 {
120 2 CSB_ON();
121 2 for(i=0;i<2;i++)
122 2 {
123 3 LCD_PAGE(y+i);
124 3 LCD_X(x-64);
125 3 for(j=0;j<16;j++)
126 3 {
127 4 LCD_WRITE_DATA(*hz++);
128 4 }
129 3 }
130 2 CSB_OFF();
131 2 }
132 1 }
133
134 void WRITE_ASCII(unsigned Page, unsigned char x, unsigned char *ASCII)
135 {
136 1 unsigned char i,j;
137 1
138 1
139 1 if(x<64)
140 1 {
141 2 CSA_ON();
142 2 for(i=0;i<2;i++)
143 2 {
144 3 LCD_PAGE(Page+i);
145 3 LCD_X(x);
146 3
147 3 for(j=0;j<8;j++)
148 3 {
149 4 LCD_WRITE_DATA(*ASCII++);
150 4 }
151 3 }
152 2 CSA_OFF();
153 2 }
154 1 else
155 1 {
156 2 CSB_ON();
157 2 for(i=0;i<2;i++)
158 2 {
159 3 LCD_PAGE(Page+i);
160 3 LCD_X(x-64);
161 3
162 3 for(j=0;j<8;j++)
163 3 {
164 4 LCD_WRITE_DATA(*ASCII++);
165 4 }
166 3
167 3 }
168 2 CSB_OFF();
169 2 }
170 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 490 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 11
IDATA SIZE = ---- ----
C51 COMPILER V8.02 LCD 04/05/2009 22:51:12 PAGE 4
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 + -