📄 18b20lcd.lst
字号:
C51 COMPILER V7.50 18B20LCD 09/22/2008 16:02:08 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 18B20LCD
OBJECT MODULE PLACED IN 18b20lcd.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 18b20lcd.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include <intrins.h>
3 #define uint unsigned int
4 #define uchar unsigned char
5 unsigned code zima1[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
6
7 unsigned int zima2[10]={0};
8
9 sbit DQ =P2^0;
10 sbit a=P2^7;
11 sbit b=P2^6;
12 sbit c=P2^5;
13 sbit dp=P0^7;
14
15 sbit E1=P2^1;
16 sbit E2=P2^2;
17 sbit RW=P2^3;
18 sbit A0=P2^4;
19
20 #define DATA P1
21
22 unsigned char code bmp001[]=
23 {
24 /*-- 文字: 祝 --*/
25 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
26 0x08,0x08,0x89,0xCE,0xA8,0x18,0x00,0xFE,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,
27 0x02,0x01,0x00,0xFF,0x00,0x83,0x40,0x30,0x0F,0x00,0x00,0x7F,0x80,0x80,0xF0,0x00,
28
29 /*-- 文字: 大 --*/
30 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
31 0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
32 0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08,0x30,0x60,0xC0,0x40,0x00,
33
34 /*-- 文字: 家 --*/
35 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
36 0x00,0x18,0x04,0x14,0x94,0x94,0xD5,0xB6,0x14,0x14,0x94,0x04,0x14,0x0C,0x04,0x00,
37 0x00,0x29,0x29,0x15,0x14,0x4A,0x89,0x44,0x3F,0x06,0x09,0x09,0x10,0x30,0x10,0x00,
38
39 /*-- 文字: 中 --*/
40 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
41 0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,0x00,
42 0x00,0x00,0x07,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00,
43
44 /*-- 文字: 秋 --*/
45 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
46 0x24,0x24,0xE4,0xFC,0xA2,0x22,0x22,0x80,0x70,0x00,0xFF,0x40,0x20,0x18,0x00,0x00,
47 0x02,0x01,0x00,0xFF,0x00,0x83,0x40,0x20,0x18,0x07,0x01,0x06,0x18,0xE0,0x40,0x00,
48
49 /*-- 文字: 快 --*/
50 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
51 0x70,0x00,0xFF,0x08,0xB0,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0xF8,0x80,0x80,0x00,
52 0x00,0x00,0xFF,0x00,0x80,0x40,0x30,0x0E,0x01,0x06,0x08,0x30,0x60,0xC0,0x40,0x00,
53
54 /*-- 文字: 乐 --*/
55 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
C51 COMPILER V7.50 18B20LCD 09/22/2008 16:02:08 PAGE 2
56 0x00,0x00,0x40,0xFC,0x44,0x44,0x44,0x46,0xFA,0x42,0x43,0x43,0x42,0x40,0x00,0x00,
57 0x00,0x20,0x18,0x0C,0x07,0x12,0x20,0x40,0x3F,0x00,0x00,0x02,0x0C,0x38,0x10,0x00,
58
59
60 /*-- 文字: 温 --*/
61 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
62 0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,
63 0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,
64
65 /*-- 文字: 度 --*/
66 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
67 0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,
68 0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,
69
70
71 /*-- 文字: : --*/
72 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
73 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,
74
75 /*-- 文字: 0 --*/
76 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
77 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
78
79 /*-- 文字: 1 --*/
80 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
81 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
82
83 /*-- 文字: 2 --*/
84 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
85 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
86
87 /*-- 文字: 3 --*/
88 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
89 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
90
91 /*-- 文字: 4 --*/
92 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
93 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
94
95 /*-- 文字: 5 --*/
96 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
97 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
98
99 /*-- 文字: 6 --*/
100 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
101 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
102
103 /*-- 文字: 7 --*/
104 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
105 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
106
107 /*-- 文字: 8 --*/
108 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
109 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
110
111 /*-- 文字: 9 --*/
112 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
113 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,
114
115 /*-- 文字: . --*/
116 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
117 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.50 18B20LCD 09/22/2008 16:02:08 PAGE 3
118 };
119
120 void delay1(char a)
121 {
122 1 while(a--);
123 1 }
124
125 void OUTMD(unsigned char i)
126 {
127 1
128 1 A0=1; //写数据
129 1 //delay(5);
130 1 E1=1;
131 1 //delay(10);
132 1 DATA=i;
133 1 //delay(5);
134 1 E1=0;
135 1
136 1 }
137 //左页
138 //发送命令
139 void OUTMI(unsigned char i)
140 {
141 1 A0=0; //写指令
142 1 //delay(5);
143 1 E1=1;
144 1 //delay(10);
145 1 DATA=i;
146 1 //delay(5);
147 1 E1=0;
148 1
149 1 }
150 //右页
151 //发送数据
152 void OUTSD(unsigned char i)
153 {
154 1 A0=1; //写数据
155 1 //delay(5);
156 1 E2=1;
157 1 //delay(10);
158 1 DATA=i;
159 1 //delay(5);
160 1 E2=0;
161 1
162 1 }
163 //右页
164 //发送命令
165 void OUTSI(unsigned char i)
166 {
167 1 A0=0; //写指令
168 1 //delay(5);
169 1 E2=1;
170 1 //delay(10);
171 1 DATA=i;
172 1 //delay(5);
173 1 E2=0;
174 1
175 1 }
176
177 //初始化
178 void lcdini(void)
179 {
C51 COMPILER V7.50 18B20LCD 09/22/2008 16:02:08 PAGE 4
180 1 RW=0;
181 1 OUTMI(0XE2);
182 1 OUTSI(0XE2);//复位
183 1 OUTMI(0XAE);
184 1 OUTSI(0XAE);//POWER SAVE
185 1 OUTMI(0XA4);
186 1 OUTSI(0XA4);//动态驱动
187 1 OUTMI(0XA9);
188 1 OUTSI(0XA9);//1/32占空比
189 1 OUTMI(0XA0);
190 1 OUTSI(0XA0);//时钟线输出
191 1 OUTMI(0XEE);
192 1 OUTSI(0XEE);//写模式
193 1
194 1 OUTMI(0X00);
195 1 OUTMI(0XC0);
196 1 OUTSI(0X00);
197 1 OUTSI(0XC0);
198 1
199 1 OUTMI(0XAF);
200 1 OUTSI(0XAF);
201 1
202 1 }
203 /*
204 函数说明:同时设置主从显示页为0-3页。(内函数,私有,用户不直接调用)
205 ------------------------------------------------------------------------
206 */
207 void SetPage(uchar page0,uchar page1)
208 {
209 1 OUTMI(0xB8|page1);OUTSI(0xB8|page0);
210 1 }
211
212 /*
213 --------------------------------------------------------------------------------
214 函数说明:同时设置主从列地址为0-121。(内函数,私有,用户不直接调用)
215 --------------------------------------------------------------------------------
216 */
217 void SetAddress(uchar address0,uchar address1)
218 {
219 1 OUTMI(address1);OUTSI(address0);
220 1 }
221
222 /*
223 --------------------------------------------------------------------------------
224
225 调用方式:void PutChar0(uchar ch)
226 函数说明:在右页当前地址画一个字节8个点。(内函数,私有,用户不直接调用)
227 --------------------------------------------------------------------------------
228 -*/
229 void PutCharR(uchar ch)
230 {
231 1 OUTSD(ch);
232 1 }
233
234 /*
235 --------------------------------------------------------------------------------
236
237 调用方式:void PutChar1(uchar ch)
238 函数说明:在左页当前地址画一个字节8个点。(内函数,私有,用户不直接调用)
239 --------------------------------------------------------------------------------
240 -*/
241 void PutCharL(uchar ch)
C51 COMPILER V7.50 18B20LCD 09/22/2008 16:02:08 PAGE 5
242 {
243 1 OUTMD(ch);
244 1 }
245
246
247
248 /*
249 --------------------------------------------------------------------------------
250
251 调用方式:void clrscr(void)
252 函数说明:清屏
253 --------------------------------------------------------------------------------
254 -*/
255 void clrscr(void)
256 {
257 1 uchar i;
258 1 uchar page;
259 1 for (page=0;page<4;page++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -