📄 xianshi.lst
字号:
C51 COMPILER V8.08 XIANSHI 06/23/2007 16:30:14 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE XIANSHI
OBJECT MODULE PLACED IN xianshi.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE xianshi.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <AT89x51.h>
2
3 #define uint unsigned int
4 #define uchar unsigned char
5 #define disp_off 0x3e
6 #define disp_on 0x3f
7 #define disp_x 0xb8
8 #define disp_z 0xc0
9 #define disp_y 0x40
10 #define comm 0
11 #define dat 1
12 #define data_ora P0 //MCU P1<------> LCM
13
14 sbit di = P2^2; //Data or Instrument Select,H:写数据,L:写指令
15 sbit rw = P2^1; //Write or Read,H:read,L:write
16 sbit e = P2^0; //读写使能
17 sbit cs1= P2^3; //cs1=H,选择左半屏
18 sbit cs2= P2^4; //cs2=H,选择右半屏
19 sbit rst= P2^5; //Lcm reset,低有效
20 sbit bf = P0^7;
21 sbit res= P0^4;
22
23 void chk_busy (void);
24 uchar code gongjiao[]={
25 /*-- 文字: 公 --*/
26 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
27 0x00,0x80,0x80,0xC0,0x40,0x60,0x20,0x80,0x00,0x20,0x60,0xC0,0xC0,0x80,0x80,0x80,
28 0x00,0x01,0x01,0x08,0x0C,0x1C,0x13,0x13,0x13,0x1E,0x0C,0x08,0x01,0x01,0x01,0x00,
29
30 /*-- 文字: 交 --*/
31 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
32 0x00,0x00,0x00,0x20,0xA0,0xE0,0x60,0x30,0x30,0x60,0xE0,0xA0,0x20,0x20,0x00,0x00,
33 0x00,0x10,0x10,0x11,0x10,0x19,0x0B,0x0E,0x06,0x07,0x0C,0x18,0x39,0x30,0x10,0x00,
34
35 /*-- 文字: 自 --*/
36 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
37 0x00,0x00,0x40,0xE0,0x40,0x40,0x70,0x50,0x40,0x40,0x40,0xC0,0xC0,0x00,0x00,0x00,
38 0x00,0x00,0x00,0x3F,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x3F,0x1F,0x00,0x00,0x00,
39
40 /*-- 文字: 动 --*/
41 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
42 0x00,0x80,0x80,0xA0,0xA0,0xA0,0xA0,0xA0,0xC0,0x40,0x40,0xC0,0xF0,0x70,0xC0,0x00,
43 0x00,0x01,0x04,0x06,0x09,0x0A,0x16,0x14,0x18,0x1C,0x26,0x33,0x18,0x0E,0x03,0x00,};
44 uchar code baozhan[]={
45
46 /*-- 文字: 报 --*/
47 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
48 0x00,0x40,0x40,0x40,0xF0,0x40,0x40,0xF0,0x10,0x10,0x90,0x70,0x30,0x00,0x00,0x00,
49 0x00,0x12,0x13,0x13,0x1F,0x01,0x01,0x3F,0x10,0x0B,0x0D,0x0F,0x0B,0x18,0x10,0x00,
50
51 /*-- 文字: 站 --*/
52 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
53 0x00,0xC0,0xC0,0x40,0x70,0xC0,0x40,0x00,0x00,0xE0,0xF0,0x40,0x40,0x40,0x40,0x00,
54 0x10,0x18,0x19,0x0F,0x08,0x0F,0x04,0x1E,0x1E,0x13,0x13,0x12,0x12,0x1E,0x00,0x00,
55
C51 COMPILER V8.08 XIANSHI 06/23/2007 16:30:14 PAGE 2
56 /*-- 文字: 系 --*/
57 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
58 0x00,0x00,0x20,0xA0,0xA0,0xE0,0xE0,0xA0,0xA0,0x50,0x50,0x10,0x10,0x00,0x00,0x00,
59 0x00,0x10,0x10,0x18,0x1A,0x2F,0x23,0x3E,0x3E,0x03,0x05,0x09,0x1A,0x18,0x10,0x00,
60
61 /*-- 文字: 统 --*/
62 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
63 0x00,0x80,0xC0,0xA0,0xB0,0xD0,0x40,0x40,0xA0,0x70,0x20,0xC0,0x40,0x00,0x00,0x00,
64 0x10,0x18,0x1A,0x0B,0x1E,0x15,0x10,0x19,0x0F,0x01,0x0F,0x18,0x31,0x30,0x10,0x00, };
65
66 uchar code sheji[]={
67 /*-- 文字: 设 --*/
68 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
69 0x00,0x80,0x80,0xB0,0xA0,0x00,0x80,0x80,0x60,0x20,0x20,0xE0,0x80,0x80,0x80,0x00,
70 0x01,0x01,0x00,0x1F,0x19,0x08,0x10,0x11,0x13,0x0D,0x0F,0x0B,0x18,0x30,0x30,0x00,
71
72 /*-- 文字: 计 --*/
73 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
74 0x00,0x80,0x00,0xB0,0xA0,0x00,0x80,0x80,0x80,0x90,0xF0,0x80,0x80,0x80,0x80,0x80,
75 0x01,0x01,0x01,0x1D,0x1F,0x18,0x09,0x00,0x00,0x00,0x3F,0x00,0x00,0x01,0x01,0x00,
76
77 /*-- 文字: : --*/
78 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
79 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
80 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
81
82 uchar code fwt[]={
83 /*-- 文字: 冯 --*/
84 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
85 0x00,0x40,0x40,0x40,0x40,0x40,0x20,0xF0,0x50,0x20,0x20,0xE0,0xE0,0x00,0x00,0x00,
86 0x00,0x06,0x06,0x02,0x02,0x0E,0x08,0x0B,0x0A,0x1A,0x2A,0x2B,0x2B,0x3E,0x0E,0x00,
87
88 /*-- 文字: 玩 --*/
89 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
90 0x00,0x00,0x20,0xE0,0xE0,0x20,0x80,0xA0,0xA0,0xA0,0xA0,0xA0,0x80,0x80,0x00,0x00,
91 0x00,0x0C,0x0D,0x17,0x17,0x15,0x1C,0x0C,0x07,0x04,0x0F,0x18,0x18,0x30,0x18,0x08,
92
93 /*-- 文字: 童 --*/
94 /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/
95 0x00,0x40,0x40,0x40,0x48,0xA8,0xB8,0xA5,0x56,0x5C,0xD4,0x10,0x10,0x10,0x00,0x00,
96 0x00,0x00,0x40,0x40,0x43,0x54,0x55,0x3F,0x2B,0x2A,0x21,0x20,0x20,0x00,0x00,0x00, };
97
98 /*-- 文字: --*/
99 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
100 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
101 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
102
103 uchar code hjl[]={
104 /*-- 文字: 胡 --*/
105 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
106 0x00,0x40,0x40,0x40,0xF0,0x70,0x40,0x40,0x80,0xF0,0x90,0x90,0xF0,0xF0,0x00,0x00,
107 0x00,0x00,0x0F,0x0B,0x09,0x09,0x2F,0x30,0x1C,0x0F,0x02,0x02,0x3F,0x3F,0x00,0x00,
108
109 /*-- 文字: 建 --*/
110 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
111 0x00,0x00,0x20,0xA0,0xE0,0x20,0xC0,0x40,0xA0,0xF0,0xA0,0xA0,0xE0,0x40,0x00,0x00,
112 0x00,0x10,0x12,0x0E,0x07,0x05,0x07,0x07,0x0B,0x0F,0x1B,0x1B,0x33,0x30,0x10,0x00,
113
114 /*-- 文字: 龙 --*/
115 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
116 0x00,0x00,0x40,0x40,0x40,0x40,0xF0,0x70,0xC0,0x60,0x60,0x40,0x40,0x40,0x00,0x00,
117 0x00,0x18,0x18,0x08,0x0C,0x02,0x05,0x04,0x0F,0x1A,0x19,0x19,0x38,0x38,0x18,0x08, };
C51 COMPILER V8.08 XIANSHI 06/23/2007 16:30:14 PAGE 3
118
119
120 uchar code lhb[]={
121 /*-- 文字: 罗 --*/
122 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
123 0x00,0x00,0x00,0xF0,0x90,0x90,0x70,0x90,0x90,0x70,0x70,0x90,0x90,0x70,0x00,0x00,
124 0x00,0x10,0x32,0x32,0x12,0x12,0x13,0x0F,0x0D,0x0D,0x05,0x05,0x03,0x03,0x00,0x00,
125
126 /*-- 文字: 红 --*/
127 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
128 0x00,0x80,0xC0,0x60,0xB0,0xD0,0x00,0x40,0x40,0xC0,0xC0,0x40,0x40,0x00,0x00,0x00,
129 0x10,0x1A,0x1E,0x0B,0x0A,0x1A,0x18,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10,0x10,0x00,
130
131 /*-- 文字: 波 --*/
132 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
133 0x00,0x80,0x20,0x20,0x40,0x40,0xE0,0x20,0x20,0xF0,0x30,0x20,0x20,0xC0,0x00,0x00,
134 0x00,0x19,0x09,0x0D,0x14,0x18,0x27,0x31,0x13,0x0D,0x0D,0x1B,0x18,0x30,0x30,0x10, };
135 uchar code zb[]={
136 /*-- 文字: 周 --*/
137 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
138 0x00,0x00,0x00,0xE0,0xE0,0x60,0x60,0xF0,0xF0,0x60,0x60,0x60,0xF0,0x20,0x00,0x00,
139 0x00,0x10,0x18,0x0F,0x01,0x05,0x1D,0x15,0x15,0x1D,0x1D,0x01,0x3F,0x38,0x00,0x00,
140
141 /*-- 文字: 波 --*/
142 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
143 0x00,0x80,0x20,0x20,0x40,0x40,0xE0,0x20,0x20,0xF0,0x30,0x20,0x20,0xC0,0x00,0x00,
144 0x00,0x19,0x09,0x0D,0x14,0x18,0x27,0x31,0x13,0x0D,0x0D,0x1B,0x18,0x30,0x30,0x10,
145
146 /*-- 文字: 指 --*/
147 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
148 0x00,0x00,0x40,0x40,0xF0,0x50,0x40,0x00,0xF0,0xA0,0xA0,0xA0,0xB0,0x80,0x80,0x00,
149 0x10,0x10,0x32,0x33,0x1F,0x09,0x01,0x00,0x3E,0x2A,0x2A,0x2A,0x3E,0x3F,0x00,0x00,
150
151 /*-- 文字: 导 --*/
152 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
153 0x00,0x00,0x00,0xF0,0x50,0x50,0x50,0x50,0x50,0x50,0x70,0x80,0x80,0x00,0x00,0x00,
154 0x00,0x06,0x02,0x02,0x13,0x27,0x2F,0x2B,0x33,0x3F,0x03,0x03,0x06,0x06,0x06,0x02,};
155
156
157
158 void delay (uint us)
159 {
160 1 while(us--);
161 1 }
162 void delay1 (uchar ms)
163 {
164 1 uchar i;
165 1 uint j;
166 1 for(i=ms;i>0;i--)
167 1 for(j=1000;j>0;j--)
168 1 ;
169 1 }
170 void wr_lcd (uchar dat_comm,uchar content)
171 {
172 1 chk_busy ();
173 1 di=dat_comm;
174 1 rw=0;
175 1 data_ora=content;
176 1 e=1;
177 1 ;
178 1 e=0;
179 1 }
C51 COMPILER V8.08 XIANSHI 06/23/2007 16:30:14 PAGE 4
180 void chk_busy (void)
181 {
182 1 data_ora=0xff;
183 1 di=0;
184 1 rw=1;
185 1 ;
186 1 e=1;
187 1 ;
188 1
189 1 e=0;
190 1
191 1
192 1 }
193 /*--------------写点阵------------------*/
194 void lat_disp (uchar data1,uchar data2)
195 {
196 1 uchar i,j;
197 1 cs1=1;cs2=1;
198 1 wr_lcd (comm,disp_on);
199 1 for(j=0;j<8;j++)
200 1 {
201 2 wr_lcd (comm,disp_x+j);
202 2 wr_lcd (comm,disp_z);
203 2 wr_lcd (comm,disp_y);
204 2 for(i=0;i<32;i++)
205 2 {
206 3 wr_lcd (dat,data1);
207 3 wr_lcd (dat,data2);
208 3 }
209 2 }
210 1 }
211 /*--------------显示图片----------------*/
212 void img_disp (uchar code *img,uchar l,uchar r)
213 {
214 1 uchar i,j;
215 1 for(j=0;j<8;j++)
216 1 {
217 2 cs1=l;cs2=r;
218 2 wr_lcd (comm,disp_on);
219 2 wr_lcd (comm,disp_x+j);
220 2 wr_lcd (comm,disp_z);
221 2 wr_lcd (comm,disp_y);
222 2 for(i=0;i<64;i++)
223 2 wr_lcd (dat,img[j*64+i]);
224 2
225 2
226 2 }
227 1 }
228 /*---指定位置(x,y)显示row_xl行(每行row_yl个)汉字(大小xl*yl)---*/
229
230 void chn_disp (uchar x,uchar y,uchar xl,uchar yl,uchar row_xl,uchar row_yl,uchar code *chn)
231 {
232 1 uchar i,j,k,l,a;
233 1 wr_lcd (comm,disp_on);
234 1 for(l=0;l<row_xl;l++)
235 1 {
236 2 for(k=0;k<row_yl;k++)
237 2 {
238 3 for(j=0;j<xl;j++)
239 3 {
240 4 wr_lcd (comm,disp_x+x+l*xl+j);
241 4 wr_lcd (comm,disp_z);
C51 COMPILER V8.08 XIANSHI 06/23/2007 16:30:14 PAGE 5
242 4 wr_lcd (comm,disp_y+y+k*yl);
243 4 a=l*xl*yl*row_yl+k*xl*yl+j*yl;
244 4 for(i=0;i<yl;i++)
245 4 wr_lcd (dat,chn[a+i]);
246 4 }
247 3 }
248 2 }
249 1 }
250 /*------------------初始化-----------------*/
251 void init_lcd (void)
252 {
253 1 rst=0;
254 1 delay(50);
255 1 rst=1;
256 1 cs1=1;cs2=1;
257 1 wr_lcd (comm,disp_off);
258 1 wr_lcd (comm,disp_on);
259 1 }
260 /*---------------显示1-----------------*/
261
262
263 void disp1()
264 { cs1=1;cs2=0;
265 1 chn_disp(0,0,2,16,1,4,gongjiao);
266 1 chn_disp(2,0,2,16,1,3,sheji);
267 1 chn_disp(6,0,2,16,1,4,zb);
268 1 cs1=0;cs2=1;
269 1 chn_disp(0,0,2,16,1,4,baozhan);
270 1 chn_disp(2,16,2,16,1,3,fwt);
271 1 chn_disp(4,16,2,16,1,3,hjl);
272 1 chn_disp(6,16,2,16,1,3,lhb);
273 1
274 1 }
275
276
277
278
279
280 /*------------------主程序--------------------*/
281 void main ()
282 {
283 1 init_lcd ();
284 1 lat_disp (0x00,0x00);
285 1 while (1)
286 1 {
287 2 disp1();
288 2
289 2 }
290 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 657 ----
CONSTANT SIZE = 768 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 25
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 + -