📄 tuxing.lst
字号:
C51 COMPILER V8.08 TUXING 04/04/2008 10:25:38 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TUXING
OBJECT MODULE PLACED IN Tuxing.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE Tuxing.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<stdio.h>
3
4 unsigned data i;
5 unsigned char q;
6 unsigned char *p2,*pp; //建立数组指针
7 unsigned char wbyte;
8 unsigned char Column; //定义列
9 unsigned char Page; //定义页
10
11 sbit E=P3^2; //读写使能信号,1有效
12 sbit R_W=P3^1; //读写选择信号;1为读选通,0为写选通
13 sbit RS=P3^0;
14 sbit D_I=P3^0; //数据指令选择信号;1为数据操作,0为写指令或读状态
15
16 unsigned char data j;
17 unsigned char data k;
18
19 /********************扩充指令集画图********************/
20 unsigned char data z;//图形数组的页,为实际点阵行数
21 unsigned char data y;//图形数组的列,为实际点阵列数除以8
22 unsigned char data Column;//起始点设定:为在液晶中显示的实际起始列
23 unsigned char data Page;//起始点设定:为在液晶中显示的实际起始行
24
25 char code Tu[64][16]= //图形数组,龙的标志
26 {
27 0xFF,0xFE,0xFE,0x80,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x01,0x7F,0x7F,0xFF,
28 0xE9,0x6E,0xEE,0x80,0x00,0x00,0x70,0x00,0x80,0x00,0x00,0x00,0x01,0x77,0x69,0x69,
29 0x96,0x96,0xEE,0x80,0x00,0x00,0x70,0x07,0x80,0x00,0x00,0x00,0x01,0x77,0x76,0x97,
30 0xE9,0x6E,0xE0,0x80,0x00,0x00,0xE6,0x1E,0x00,0x00,0x00,0x00,0x01,0x07,0x69,0x69,
31 0x96,0x96,0xFF,0x80,0x00,0x01,0xE8,0x78,0x00,0x00,0x00,0x00,0x01,0xFF,0x76,0x97,
32 0xE9,0x6E,0xFF,0x80,0x00,0x07,0xF7,0xFF,0xFF,0x80,0x00,0x00,0x01,0xFF,0x69,0x69,
33 0x96,0x96,0x00,0x80,0x00,0x0F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x01,0x00,0x76,0x97,
34 0xE9,0x6F,0xFE,0x80,0x00,0x1F,0xF7,0xFF,0xF0,0x00,0x00,0x00,0x01,0x7F,0xE9,0x69,
35 0x96,0x97,0xFE,0x80,0x00,0xFF,0xFF,0x0F,0xF8,0x00,0x00,0x00,0x01,0x7F,0xF6,0x97,
36 0xE9,0x6E,0x0E,0x80,0x01,0xFF,0xFE,0xF6,0xFF,0x80,0x00,0x00,0x01,0x70,0x69,0x69,
37 0x96,0x96,0xEE,0x80,0x07,0xFF,0xF7,0xFF,0x1F,0xF8,0x00,0x00,0x01,0x77,0x76,0x97,
38 0xE9,0x6E,0xEE,0x80,0xFF,0xFF,0xF0,0x1E,0xFF,0xFE,0x00,0x00,0x01,0x77,0x69,0x69,
39 0x96,0x96,0xFE,0x81,0xFF,0x1F,0xF8,0x01,0xF7,0xE1,0x00,0x00,0x01,0x7F,0x76,0x97,
40 0xE9,0x6E,0x00,0x81,0xFE,0x1F,0xFF,0x00,0x97,0xF0,0x78,0x00,0x01,0x00,0x69,0x69,
41 0x96,0x97,0xFF,0x80,0x00,0x78,0x00,0x00,0x79,0xF8,0x68,0x00,0x01,0xFF,0xF6,0x97,
42 0xE9,0x6F,0xFF,0x80,0x00,0x70,0x00,0x00,0x71,0xFE,0x7E,0x00,0x01,0xFF,0xE9,0x69,
43 0x96,0x96,0x00,0x80,0x00,0x70,0x00,0x00,0x1F,0xFE,0x7F,0x00,0x01,0x00,0x76,0x97,
44 0xE9,0x6E,0xFE,0x80,0x00,0x70,0x00,0x00,0x1E,0xFE,0x97,0x80,0x01,0x7F,0x69,0x69,
45 0x96,0x96,0xEE,0x80,0x01,0xF0,0x00,0x00,0x0E,0xF8,0xFF,0xE0,0x01,0x77,0x76,0x97,
46 0xE9,0x6E,0xEE,0x80,0x00,0xF0,0x00,0x00,0x1E,0xFF,0x9F,0xF0,0x01,0x77,0x69,0x69,
47 0x96,0x96,0xE0,0x80,0x00,0x60,0x00,0x00,0x1E,0xEF,0xF9,0xF0,0x01,0x07,0x76,0x97,
48 0xE9,0x6E,0xFF,0x80,0x00,0x00,0x00,0x00,0x16,0xFF,0x99,0xF8,0x01,0xFF,0x69,0x69,
49 0x96,0x96,0xFF,0x80,0x00,0x00,0x00,0x00,0x79,0xFF,0x79,0xFE,0x01,0xFF,0x76,0x97,
50 0xE9,0x6E,0x00,0x80,0x00,0x00,0x00,0x00,0x7F,0xF9,0xFF,0xFE,0x01,0x00,0x69,0x69,
51 0x96,0x97,0xFE,0x80,0x00,0x00,0x00,0x01,0xE7,0xF9,0x7F,0xEF,0x01,0x7F,0xF6,0x97,
52 0xE9,0x6F,0xFE,0x80,0x00,0x00,0x00,0x01,0xEF,0xF8,0x07,0x87,0x01,0x7F,0xE9,0x69,
53 0x96,0x96,0x0E,0x80,0x00,0x00,0x00,0x1F,0x7F,0x98,0x07,0x01,0x01,0x70,0x76,0x97,
54 0xE9,0x6E,0xEE,0x80,0x00,0x00,0x00,0xFE,0xFF,0x90,0x00,0x00,0x81,0x77,0x69,0x69,
55 0x96,0x96,0xEE,0x80,0x00,0x00,0x01,0xF7,0xFF,0x10,0x00,0x00,0x01,0x77,0x76,0x97,
C51 COMPILER V8.08 TUXING 04/04/2008 10:25:38 PAGE 2
56 0xE9,0x6E,0xFE,0x80,0x00,0x00,0x1E,0xFF,0xFE,0x00,0x80,0x00,0x01,0x7F,0x69,0x69,
57 0x96,0x96,0x00,0x80,0x00,0x00,0x7F,0x7F,0xEE,0x1F,0xFE,0x00,0x01,0x00,0x76,0x97,
58 0xE9,0x6F,0xFF,0x80,0x00,0x00,0x8E,0xFF,0xE8,0x1F,0xFF,0x00,0x01,0xFF,0xE9,0x69,
59 0x96,0x97,0xFF,0x80,0x00,0x01,0xF9,0xF9,0xE8,0xFF,0xEF,0x00,0x01,0xFF,0xF6,0x97,
60 0xE9,0x6E,0x00,0x80,0x00,0x06,0xF7,0xF9,0x87,0xF0,0x01,0xE0,0x01,0x00,0x69,0x69,
61 0x96,0x96,0xFE,0x80,0x00,0x0F,0x6F,0xF9,0x8F,0xE0,0x00,0xE0,0x01,0x7F,0x76,0x97,
62 0xE9,0x6E,0xEE,0x80,0x00,0x1F,0x9F,0x11,0x0F,0x80,0x00,0x70,0x01,0x77,0x69,0x69,
63 0x96,0x96,0xEE,0x80,0x00,0x7F,0xFF,0x71,0x0F,0x00,0x01,0x91,0x01,0x77,0x76,0x97,
64 0xE9,0x6E,0xE0,0x80,0x00,0x16,0x7F,0x10,0x1F,0x80,0x00,0xFE,0x01,0x07,0x69,0x69,
65 0x96,0x96,0xFF,0x80,0x00,0xFF,0xFF,0x60,0x1F,0xE0,0x00,0x7E,0x01,0xFF,0x76,0x97,
66 0xE9,0x6E,0xFF,0x80,0x00,0xFE,0xFF,0x00,0x1F,0xFF,0x80,0x1E,0x01,0xFF,0x69,0x69,
67 0x96,0x96,0x00,0x80,0x00,0xFF,0xEF,0x00,0x0F,0xFF,0xF8,0x18,0x01,0x00,0x76,0x97,
68 0xE9,0x6F,0xFE,0x80,0x00,0x96,0xE7,0x00,0x07,0xFF,0xFE,0x0E,0x01,0x7F,0xE9,0x69,
69 0x96,0x97,0xFE,0x80,0x01,0xF9,0xE1,0x00,0x00,0xFF,0xFF,0x08,0x01,0x7F,0xF6,0x97,
70 0xE9,0x6E,0x0E,0x80,0x01,0xF9,0xF1,0x00,0x00,0x1F,0xFF,0x00,0x01,0x70,0x69,0x69,
71 0x96,0x96,0xEE,0x80,0x01,0xF9,0xF8,0x00,0x00,0x09,0xFF,0x80,0x01,0x77,0x76,0x97,
72 0xE9,0x6E,0xEE,0x80,0x01,0xF9,0xF8,0x00,0x00,0x07,0xFF,0x80,0x01,0x77,0x69,0x69,
73 0x96,0x96,0xFE,0x80,0x01,0x01,0xF8,0x00,0x00,0x01,0xFF,0xE0,0x01,0x7F,0x76,0x97,
74 0xE9,0x6E,0x00,0x80,0x01,0xF9,0x8E,0x00,0x00,0x00,0xFF,0x80,0x01,0x00,0x69,0x69,
75 0x96,0x97,0xFF,0x80,0x01,0xF9,0xE6,0x00,0x00,0x00,0x7F,0xE0,0x01,0xFF,0xF6,0x97,
76 0xE9,0x6F,0xFF,0x80,0x00,0xFE,0xF0,0x00,0x00,0x06,0x1F,0xE0,0x01,0xFF,0xE9,0x69,
77 0x96,0x96,0x00,0x80,0x00,0xF8,0xF8,0x00,0x00,0x07,0xFF,0xE0,0x01,0x00,0x76,0x97,
78 0xE9,0x6E,0xFE,0x80,0x00,0x96,0xFF,0x80,0x00,0x01,0xFF,0x80,0x01,0x7F,0x69,0x69,
79 0x96,0x96,0xEE,0x80,0x00,0x7F,0xF9,0x60,0x00,0x01,0xFF,0x80,0x01,0x77,0x76,0x97,
80 0xE9,0x6E,0xEE,0x80,0x00,0x7F,0x78,0x00,0x00,0x18,0xFF,0x80,0x01,0x77,0x69,0x69,
81 0x96,0x96,0xE0,0x80,0x00,0x79,0x7E,0x7F,0x01,0x10,0xFF,0x00,0x01,0x07,0x76,0x97,
82 0xE9,0x6E,0xFF,0x80,0x00,0x1F,0x9F,0xFE,0x1E,0x70,0xFF,0x00,0x01,0xFF,0x69,0x69,
83 0x96,0x96,0xFF,0x80,0x00,0x0F,0xEF,0xE0,0x78,0x79,0xFF,0x00,0x01,0xFF,0x76,0x97,
84 0xE9,0x6E,0x00,0x80,0x00,0x07,0x87,0xE1,0xF8,0xFF,0xFE,0x00,0x01,0x00,0x69,0x69,
85 0x96,0x97,0xFE,0x80,0x00,0x01,0xF9,0xFF,0xF9,0xFF,0xF8,0x00,0x01,0x7F,0xF6,0x97,
86 0xE9,0x6F,0xFE,0x80,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xF0,0x00,0x01,0x7F,0xE9,0x69,
87 0x96,0x96,0x0E,0x80,0x00,0x00,0x6F,0x7F,0xFF,0xFF,0xE0,0x00,0x01,0x70,0x76,0x97,
88 0xE9,0x6E,0xEE,0x80,0x00,0x00,0x1F,0x87,0xFF,0xFF,0x00,0x00,0x01,0x77,0x69,0x69,
89 0x96,0x96,0xEE,0x80,0x00,0x00,0x0F,0xF8,0xFF,0xF8,0x00,0x00,0x01,0x77,0x76,0x97,
90 0xFF,0xFE,0xFE,0x80,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x01,0x7F,0x7F,0xFF,
91 };
92
93 void WCOM(unsigned char d) //写指令程序
94 {
95 1 R_W=1;
96 1 D_I=0; //设置状态
97 1 Loop:
98 1 P1=0xFF;
99 1 E=1; //使能有效
100 1 q=P1; //将p1口状态读入
101 1 E=0; //关闭使能信号
102 1 if(q&0x80) //判断屏幕是否忙
103 1 {
104 2 goto Loop; //若忙,循环等待
105 2 }
106 1 R_W=0;
107 1 D_I=0; //写数据指令
108 1 P1=d; //将数据送入p1口
109 1 E=1; //使能信号开
110 1 E=0; //使能信号关
111 1 }
112
113 void Dat(unsigned char d)
114 {
115 1 R_W=1;
116 1 D_I=0; //读状态指令
117 1 Loop:
C51 COMPILER V8.08 TUXING 04/04/2008 10:25:38 PAGE 3
118 1 P1=0xFF;
119 1 E=1; //使能
120 1 q=P1;
121 1 E=0;
122 1 if(q&0x80)
123 1 {
124 2 goto Loop;
125 2 } //判忙
126 1 D_I=1; //送数据指令
127 1 R_W=0;
128 1 P1=d;
129 1 E=1; //使能信号开
130 1 E=0; //使能信号关
131 1 }
132
133 void Clearlcd()
134 {
135 1 D_I=0;
136 1 R_W=0;
137 1 P1=0x01;
138 1 WCOM(0x01); //清除显示
139 1 }
140
141 void Imim()
142 {
143 1 P0=0xff;
144 1 P1=0xff;
145 1 P2=0xff;
146 1 P3=0xff;
147 1 E=0;
148 1 WCOM(0x38); //功能设定
149 1 WCOM(0x08); //关显示指令
150 1 WCOM(0x06); //游标右移
151 1 Clearlcd(); //清屏
152 1 WCOM(0x0c); //开显示指令
153 1 }
154
155
156
157 void Tuxing()
158 {
159 1 unsigned char data v;
160 1 unsigned char data w;
161 1 unsigned char data x;
162 1 unsigned char data h;
163 1 WCOM(0x34); //功能设定
164 1 WCOM(0x36); //扩充功能设定
165 1 pp=p2;
166 1 pp=pp+16*y*2;
167 1 for(h=0;h<z/2;h++) //页循环
168 1 {
169 2 v=Column|0x80;
170 2 w=Page|0x80;
171 2 WCOM(w); //送入起始页地址
172 2 WCOM(v); //送入起始列地址
173 2 Page++; //准备对下一页进行操作
174 2 for(x=0;x<2*y;x++) //列循环
175 2 {
176 3 if(x<y)
177 3 {
178 4 wbyte=*p2;
179 4 Dat(wbyte); //循环送入图形数据
C51 COMPILER V8.08 TUXING 04/04/2008 10:25:38 PAGE 4
180 4 p2=p2+1;
181 4 }
182 3 else
183 3 {
184 4 wbyte=*pp;
185 4 Dat(wbyte); //循环送入图形数据
186 4 pp=pp+1;
187 4 }
188 3 }
189 2 }
190 1 }
191
192 void Clearlcd1()
193 {
194 1 unsigned char data Disp_Page;
195 1 unsigned char data i;
196 1 unsigned char data j;
197 1 for(i=0;i<64;i++) //共32页
198 1 {
199 2 Disp_Page=i|0x80; //设置页地址
200 2 WCOM(Disp_Page); //送入页地址
201 2 WCOM(0x80); //送入起始列地址
202 2 for(j=0;j<32;j++)
203 2 {
204 3 Dat(0x00); //清屏
205 3 }
206 2 }
207 1 }
208
209
210 /********************主程序********************/
211 void main()
212 {
213 1 Imim(); //初始化
214 1 Clearlcd1(); //扩充指令集清屏
215 1
216 1 p2=Tu;
*** WARNING C182 IN LINE 216 OF TUXING.C: pointer to different objects
217 1 z=64; //图形数组的页,为实际点阵行数
218 1 y=16; //图形数组的列,为实际点阵列数除以8
219 1 Column=0; //起始点设定:为在液晶中显示的实际起始列
220 1 Page=0; //起始点设定:为在液晶中显示的实际起始行
221 1 Tuxing(); //龙的图形
222 1 while(1)
223 1 {
224 2 }
225 1 }
226
227
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 328 ----
CONSTANT SIZE = 1024 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 16 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -