📄 12232e.lst
字号:
C51 COMPILER V7.01 12232E 03/09/2006 10:49:31 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE 12232E
OBJECT MODULE PLACED IN E:\ZHAOM\程序\ST7920\12232E\12232E~1\12232E.OBJ
COMPILER INVOKED BY: d:\wave\keil\C51\BIN\C51.EXE E:\ZHAOM\程序\ST7920\12232E\12232E~1\12232E.C DB SB OE OT(2)
stmt level source
1 #include<reg51.h>
2 #include<stdio.h>
3 #define uchar unsigned char
4 uchar *p,*p1,*p2;/*建立数组指针*/
5 uchar q;/*判忙*/
6 uchar data i;
7 uchar data wbyte;
8 uchar data Column;/*定义列*/
9 uchar data Page;/*定义页*/
10 sbit E=P3^2;/*读写使能信号,1有效*/
11 sbit R_W=P3^1;/*读写选择信号;1为读选通,0为写选通*/
12 sbit RS=P3^0;
13 sbit D_I=P3^0;/*数据指令选择信号;1为数据操作,0为写指令或读状态*/
14 char code Hanzi[16]= /*汉字数组*/
15 {
16 0x02,0x03,
17 0xc4,0xcf,/*南*/
18 0xbe,0xa9,/*京*/
19 0xb9,0xfa,/*国*/
20 0xcf,0xd4,/*显*/
21 0xb5,0xe7,/*电*/
22 0xd7,0xd3, /*子*/
23 0x03,0x02
24 };
25 char code Hanzi1[12]= /*汉字数组*/
26 {
27 0x0e,0x02,
28 0xb1,0xb1,/*北*/
29 0xbe,0xa9,/*京*/
30 0xc4,0xfe,/*宁*/
31 0xba,0xcd,/*和*/
32 0x02,0x0e
33 };
34 char code Tu[16][21]= /*图形数组*/
35 {
36 0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,
37 0x00,0x70,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x08,0x00,0x00,0x5F,0x00,
38 0x00,0x70,0x00,0x03,0xC0,0x00,0x3F,0x00,0x00,0xEC,0x00,0x1C,0x00,0x00,0xFF,0x00,
39 0x00,0x7E,0x00,0x03,0xC0,0x00,0x7D,0x80,0x06,0xFE,0x00,0x1E,0x00,0x00,0xEE,0x00,
40 0x00,0xFC,0x00,0x07,0xF0,0x00,0x01,0xC0,0x07,0xFE,0x00,0x0E,0x00,0x01,0xFC,0x00,
41 0x03,0xF0,0x00,0x1F,0xF0,0x01,0xBC,0xC0,0x07,0xFC,0x00,0x0F,0xE0,0x01,0xF8,0x00,
42 0x01,0xFC,0x00,0x3F,0xE0,0x01,0xFC,0xC0,0x07,0xF8,0x00,0x3E,0x70,0x00,0x3C,0x00,
43 0x00,0xFF,0x80,0xFF,0xC0,0x01,0xFC,0xE0,0x03,0xF0,0x01,0xFE,0x70,0x00,0x3F,0x00,
44 0x01,0xFD,0xC0,0xF3,0xE0,0x03,0xDF,0xE0,0x03,0xF0,0x01,0xDF,0xF0,0x00,0x7F,0x80,
45 0x0F,0xFD,0xC0,0x67,0xE0,0x03,0xFF,0xE0,0x00,0xFC,0x01,0xFF,0xE0,0x01,0xEF,0x80,
46 0x0F,0xFD,0x80,0x0F,0xE0,0x03,0x7F,0xE0,0x01,0xFC,0x00,0xFF,0xC0,0x03,0xCE,0x00,
47 0x06,0xF9,0x80,0x1F,0x80,0x03,0x3E,0xE0,0x0F,0xBC,0x00,0xFF,0x80,0x03,0x8E,0x00,
48 0x06,0x7F,0x80,0x0B,0x80,0x03,0x7E,0xE0,0x0F,0xF0,0x00,0xFF,0x80,0x03,0x0E,0x00,
49 0x06,0xFB,0x80,0x01,0xF0,0x03,0xFC,0xE0,0x05,0xF0,0x00,0x7C,0x00,0x01,0x8E,0x00,
50 0x06,0x7F,0x80,0x3F,0x98,0x01,0xE1,0xE0,0x03,0xFF,0x00,0x0F,0xE0,0x00,0xCE,0x00,
51 0x00,0x3F,0x00,0x3D,0xBC,0x00,0xFF,0xC0,0x3F,0xFF,0x80,0x07,0xE0,0x00,0x7C,0x00,
52 0x00,0x37,0x00,0x37,0x98,0x00,0x0F,0x80,0x1C,0x01,0x00,0x00,0x00,0x00,0x3C,0x00,
53 0x00,0x00,0x00,0x31,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
54 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
55 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V7.01 12232E 03/09/2006 10:49:31 PAGE 2
56 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
57 };
58 uchar data j=16;/*所建立的第一个汉字数组中元素的个数*/
59 /*为在液晶中第一行得显示数据*/
60 uchar data j1=12;/*所建立的第二个汉字数组中元素的个数*/
61 /*为在液晶中第二行得显示数据*/
62 uchar data k=0x80;/*起始点:80h-8fh为在第一行显示*/
63 uchar data k1=0x91;/*起始点:90h-9fh为在第二行显示*/
64 /********************扩充指令集画图********************/
65 uchar data z=21;/*图形数组的页,为实际点阵行数*/
66 uchar data y=16;/*图形数组的列,为实际点阵列数除以8*/
67 uchar data Column=0;/*起始点设定:为在液晶中显示的实际起始列*/
68 uchar data Page=6;/*起始点设定:为在液晶中显示的实际起始行*/
69 /**************************************************/
70 void WCom(uchar);/*写指令*/
71 void Clearlcd();/*清屏*/
72 void Imim();/*初始化*/
73 void Dat(uchar);/*送数据*/
74 void Delay();/*延时*/
75 void Hanz();/*写汉字*/
76 void Hanz1();
77 void Tuxing();
78 void Clearlcd1();
79 /********************主程序********************/
80 void main()
81 {
82 1 Delay();
83 1 Delay();
84 1 Delay();/*延时*/
85 1 Imim();/*初始化*/
86 1 p=Hanzi;/*指针指向数组的首地址*/
87 1 p1=Hanzi1;
88 1 p2=Tu;
*** WARNING C182 IN LINE 88 OF E:\ZHAOM\程序\ST7920\12232E\12232E~1\12232E.C: pointer to different objects
89 1 Hanz();/*写汉字程序*/
90 1 Hanz1();
91 1 Delay();
92 1 Delay();
93 1 Delay();
94 1 Delay();
95 1 Clearlcd();
96 1 Tuxing();
97 1 loop:goto loop;
98 1 }
99
100 /********************写指令子程序********************/
101 void WCOM(uchar d) /*写指令程序*/
102 {
103 1 R_W=1;
104 1 D_I=0;/*设置状态*/
105 1 Loop:
106 1 P1=0xFF;
107 1 E=1;/*使能有效*/
108 1 q=P1;/*将p1口状态读入*/
109 1 E=0;/*关闭使能信号*/
110 1 if(q&0x80)/*判断屏幕是否忙*/
111 1 {
112 2 goto Loop;/*若忙,循环等待*/
113 2 }
114 1 R_W=0;
115 1 D_I=0;/*写数据指令*/
116 1 P1=d;/*将数据送入p1口*/
C51 COMPILER V7.01 12232E 03/09/2006 10:49:31 PAGE 3
117 1 E=1;/*使能信号开*/
118 1 E=0;/*使能信号关*/
119 1 }
120 /********************送数据子程序********************/
121 void Dat(uchar d)
122 {
123 1 R_W=1;
124 1 D_I=0;/*读状态指令*/
125 1 Loop:
126 1 P1=0xFF;
127 1 E=1;/*使能*/
128 1 q=P1;
129 1 E=0;
130 1 if(q&0x80)
131 1 {
132 2 goto Loop;
133 2 }/*判忙*/
134 1 D_I=1;/*送数据指令*/
135 1 R_W=0;
136 1 P1=d;
137 1 E=1;/*使能信号开*/
138 1 E=0;/*使能信号关*/
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 Delay();
149 1 WCOM(0x38);/*功能设定*/
150 1 WCOM(0x08);/*关显示指令*/
151 1 WCOM(0x06);/*游标右移*/
152 1 Clearlcd();/*清屏*/
153 1 WCOM(0x0d);/*开显示指令*/
154 1 }
155 /********************延时子程序********************/
156 void Delay()
157 {
158 1 uchar data i,j;
159 1 for(i=0;i<255;i++)
160 1 for(j=0;j<255;j++);
161 1 }
162 /********************基本指令集清屏子程序********************/
163 void Clearlcd()
164 {
165 1 D_I=0;
166 1 R_W=0;
167 1 P1=0x01;
168 1 WCOM(0x01);/*清除显示*/
169 1 }
170 /********************写第一行汉字主程序********************/
171 void Hanz()
172 {
173 1 WCOM(k); /*设置第一行起始点*/
174 1 for(i=0;i<j;i++,p++)
175 1 {
176 2 wbyte=*p;
177 2 Dat(wbyte);/*将汉字数组数据送入*/
178 2 }
C51 COMPILER V7.01 12232E 03/09/2006 10:49:31 PAGE 4
179 1 }
180 /********************写第二行汉字主程序********************/
181 void Hanz1()
182 {
183 1 WCOM(k1);/*设置第二行起始点*/
184 1 for(i=0;i<j1;i++,p1++)
185 1 {
186 2 wbyte=*p1;
187 2 Dat(wbyte);/*将汉字数组数据送入*/
188 2 }
189 1 }
190 /********************扩充指令集画图子程序********************/
191 void Tuxing()
192 {
193 1 uchar data v;
194 1 uchar data w;
195 1 uchar data x;
196 1 uchar data h;
197 1 WCOM(0x34);/*功能设定*/
198 1 WCOM(0x36);/*扩充功能设定*/
199 1 Clearlcd1();/*在扩充功能下清屏*/
200 1 for(h=0;h<z;h++) /*页循环*/
201 1 {
202 2 v=Column|0x80;
203 2 w=Page|0x80;
204 2 WCOM(w);/*送入起始页地址*/
205 2 WCOM(v);/*送入起始列地址*/
206 2 Page++; /*准备对下一页进行操作*/
207 2 for(x=0;x<y;x++) /*列循环*/
208 2 {
209 3 wbyte=*p2;
210 3 Dat(wbyte);/*循环送入图形数据*/
211 3 p2++;
212 3 }
213 2 }
214 1 }
215 /********************扩充指令集清屏子程序********************/
216 void Clearlcd1()
217 {
218 1 uchar data Disp_Page;
219 1 uchar data i;
220 1 uchar data j;
221 1 for(i=0;i<32;i++)/*共32页*/
222 1 {
223 2 Disp_Page=i|0x80;/*设置页地址*/
224 2 WCOM(Disp_Page);/*送入页地址*/
225 2 WCOM(0x80);/*送入起始列地址*/
226 2 for(j=0;j<16;j++)
227 2 {
228 3 Dat(0x00);/*清屏*/
229 3 }
230 2 }
231 1 }
C51 COMPILER V7.01 12232E 03/09/2006 10:49:31 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
Page . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
Tuxing . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
v. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
w. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
x. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
h. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
R_W. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
Imim . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
Hanz . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_WCOM. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
d. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Loop . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
j1 . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
k1 . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0002H 1
Clearlcd . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
p1 . . . . . . . . . . . . . . . . . . PUBLIC DATA PTR 0003H 3
p2 . . . . . . . . . . . . . . . . . . PUBLIC DATA PTR 0006H 3
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
loop . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
Hanzi1 . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0010H 12
wbyte. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0009H 1
Hanz1. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
E. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
Tu . . . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 001CH 336
Clearlcd1. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Disp_Page. . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
j. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
i. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000AH 1
j. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000BH 1
k. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000CH 1
D_I. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
p. . . . . . . . . . . . . . . . . . . PUBLIC DATA PTR 000DH 3
q. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0010H 1
Delay. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
j. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
Column . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0011H 1
y. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0012H 1
_Dat . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
d. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Loop . . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
z. . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0013H 1
Hanzi. . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 16
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 464 ----
CONSTANT SIZE = 364 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 11
IDATA SIZE = ---- ----
C51 COMPILER V7.01 12232E 03/09/2006 10:49:31 PAGE 6
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 + -