📄 12864.lst
字号:
C51 COMPILER V7.50 12864 02/07/2007 19:42:39 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 12864
OBJECT MODULE PLACED IN 12864.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 12864.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "main.h"
2 #include <reg52.h>
3
4 #define LCD_Data P0
5 sbit LCD_RS =P1^2;
6 sbit LCD_E =P1^0;
7 sbit LCD_WR =P1^1;
8
9 void WriteLCD(unsigned char StartAddressY,unsigned char StartAddressX,unsigned char *tab,unsigned char bia
-ozhi);
10 unsigned char l=0;
11
12 unsigned char code picture[]={
13 0x02,0x08,0x00,0x08,0x00,0x00,0x04,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
14 0x00,0xD0,0x06,0x04,0x08,0x03,0x02,0x00,0x38,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
15 0x41,0x00,0x09,0x43,0x00,0x04,0xA1,0x80,0x41,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
16 0x42,0x00,0x29,0x00,0x00,0x14,0x80,0x00,0x8E,0x00,0xE7,0x00,0x00,0x00,0x00,0x00,
17 0x32,0x88,0x29,0x30,0x04,0x14,0x98,0x00,0x70,0x00,0x1C,0x80,0x00,0x00,0x00,0x00,
18 0x0C,0x00,0x16,0x48,0x00,0x0B,0x24,0x00,0x20,0x00,0x08,0x60,0x00,0x00,0x00,0x00,
19 0x00,0x20,0x4D,0x80,0x00,0x26,0xC0,0x00,0x40,0x00,0x08,0x10,0x00,0x00,0x00,0x00,
20 0x40,0x20,0x00,0x10,0x00,0x00,0x08,0x00,0x4C,0x00,0x08,0x10,0x00,0x00,0x00,0x00,
21 0x04,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x00,0x08,0x20,0x00,0x00,0x00,0x00,
22 0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x08,0x09,0xC0,0x00,0x00,0x00,0x00,
23 0x18,0x10,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x40,0x00,0x00,0x00,0x00,
24 0x25,0x3F,0xC3,0xFE,0x3F,0xE0,0x00,0x01,0x10,0x04,0x00,0x40,0x00,0x00,0x00,0x00,
25 0xA4,0x08,0x40,0x20,0x00,0x41,0x80,0x01,0x10,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
26 0xA4,0xC8,0x47,0xFF,0x00,0x83,0xC0,0x01,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,
27 0x59,0x28,0x40,0x20,0x03,0x03,0xC0,0x02,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,
28 0x36,0x08,0x81,0xFC,0x02,0x03,0xC0,0x02,0xF0,0x40,0x10,0x20,0x00,0x00,0x00,0x00,
29 0x00,0x44,0x81,0x24,0x02,0x01,0x80,0x05,0x0C,0x04,0x10,0x20,0x00,0x00,0x00,0x00,
30 0x00,0x05,0x01,0xFC,0x02,0x01,0x80,0x05,0x42,0x00,0x14,0x40,0x00,0x00,0x00,0x00,
31 0x00,0x02,0x01,0x24,0x02,0x00,0x00,0x05,0x51,0x00,0x1C,0x40,0x00,0x00,0x00,0x00,
32 0x00,0x05,0x03,0xFE,0x02,0x01,0x80,0x04,0x91,0x03,0xC0,0x40,0x00,0x00,0x00,0x00,
33 0x00,0x18,0xC0,0x20,0x02,0x01,0x80,0x04,0x61,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
34 0x02,0x60,0x37,0xFF,0x0E,0x00,0x00,0x04,0x1E,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
35 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
36 0x40,0x7F,0xF4,0x0A,0x3B,0xF3,0xFE,0x01,0x01,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,
37 0x38,0x05,0x02,0x0A,0x2A,0x90,0x04,0x00,0xC7,0xF8,0x02,0x00,0x00,0x00,0x00,0x00,
38 0x04,0x3F,0xE2,0xFF,0x2A,0x90,0x08,0x00,0x70,0xF8,0x04,0x00,0x00,0x00,0x00,0x00,
39 0x20,0x25,0x20,0x88,0x3A,0x90,0x30,0x00,0xC7,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
40 0x00,0x3F,0xE2,0xF9,0x2B,0xF0,0x20,0x01,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
41 0x00,0x04,0x02,0x89,0x2A,0x00,0x20,0x02,0x20,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
42 0x41,0x7F,0xF4,0xFA,0x3A,0x00,0x20,0x04,0x48,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
43 0x18,0x08,0x84,0xD4,0x2A,0x00,0x20,0x08,0x80,0x08,0x00,0x80,0x00,0x00,0x00,0x00,
44 0x20,0x1D,0x05,0x75,0x2A,0x10,0x20,0x09,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
45 0x40,0x03,0x85,0x4B,0x4A,0x10,0x20,0x12,0x30,0x00,0x80,0x40,0x00,0x00,0x00,0x00,
46 0x50,0x7C,0x62,0x11,0x5B,0xF0,0xE0,0x13,0x8F,0xC0,0x80,0x20,0x00,0x00,0x00,0x00,
47 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x78,0x3F,0x00,0x20,0x00,0x00,0x00,0x00,
48 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x03,0xC0,0x80,0x20,0x00,0x00,0x00,0x00,
49 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0x0F,0x80,0x20,0x00,0x00,0x00,0x00,
50 0x84,0x80,0x00,0x1C,0x08,0x0E,0x04,0x28,0x00,0x00,0x40,0x20,0x00,0x00,0x00,0x00,
51 0x04,0x1C,0x08,0x22,0x00,0x11,0x00,0x18,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x00,
52 0x02,0x22,0x00,0x21,0x00,0x10,0x80,0x08,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x00,
53 0xA1,0xA1,0x00,0x24,0xE0,0x12,0x70,0x10,0x00,0x00,0x30,0x20,0x00,0x00,0x00,0x00,
54 0x80,0x24,0xE0,0x18,0x10,0x0C,0x08,0x10,0x00,0x00,0x28,0x20,0x00,0x00,0x00,0x00,
C51 COMPILER V7.50 12864 02/07/2007 19:42:39 PAGE 2
55 0x98,0x18,0x10,0x00,0x80,0x00,0x40,0x10,0x08,0x00,0x25,0xE0,0x00,0x00,0x00,0x00,
56 0x24,0x00,0x81,0x00,0x00,0x80,0x00,0x1A,0x08,0x00,0x22,0x20,0x00,0x00,0x00,0x00,
57 0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x1D,0x46,0x00,0x22,0xA0,0x00,0x00,0x00,0x00,
58 0x08,0x00,0x00,0x01,0x04,0x00,0x82,0x0F,0x93,0x40,0x21,0x40,0x00,0x00,0x00,0x00,
59 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
60 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
61 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
62 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
63 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
64 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
65 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
66 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
67 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
68 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
69 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
70 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
71 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
72 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
73 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
74 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
75 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
76 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
77 };
78
79
80 unsigned char LCDBusyWait() //等待LCD就绪
81 {
82 1 unsigned char Status;
83 1 LCD_RS=0;
84 1 LCD_WR=1;
85 1 LCD_Data=0xFF;
86 1 LCD_E=1;
87 1 Status=LCD_Data;
88 1 LCD_E=0;
89 1 while(Status & 0x80)
90 1 {
91 2
92 2 LCD_E=1;
93 2 Status=LCD_Data;
94 2 LCD_E=0;
95 2 }
96 1 LCD_WR=0;
97 1 return Status;
98 1 }
99
100 void WriteLCD_Data(unsigned char Data) //向LCD写入一个字节的数据
101 {
102 1 LCDBusyWait();
103 1 LCD_RS=1;
104 1 LCD_Data=Data;
105 1 LCD_E=1;
106 1 LCD_E=0;
107 1 }
108
109 void WriteLCD_Command(unsigned char Command) //向LCD写入一个字节的命令
110 {
111 1 LCDBusyWait();
112 1 LCD_RS=0;
113 1 LCD_Data=Command;
114 1 LCD_E=1;
115 1 LCD_E=0;
116 1 }
C51 COMPILER V7.50 12864 02/07/2007 19:42:39 PAGE 3
117
118
119 void WriteLCD(unsigned char StartAddressY,unsigned char StartAddressX,unsigned char tab[],unsigned char bi
-aozhi)
120
121 {
122 1 unsigned char a;
123 1 unsigned char b;
124 1 for(a=0;a<32;a++)
125 1 { if ( biaozhi==0)
126 2 {
127 3 WriteLCD_Command(StartAddressY);
128 3 StartAddressY+=1;
129 3 WriteLCD_Command(StartAddressX);
130 3 for(b=0;b<16;b++)
131 3 {
132 4 WriteLCD_Data(tab[b+a*16]);
133 4 }
134 3 }
135 2 else
136 2 {
137 3
138 3 WriteLCD_Command(StartAddressY);
139 3 StartAddressY+=1;
140 3 WriteLCD_Command(StartAddressX);
141 3 for(b=0;b<16;b++)
142 3 {
143 4 WriteLCD_Data(tab[b+32*16+a*16]);
144 4 }
145 3
146 3
147 3 }
148 2 }
149 1 }
150
151 void DISPInitial()
152 {
153 1
154 1 // WriteLCD_Command(0x30); //功能设置---8BIT控制界面,基本指令集
155 1 //延时两秒
156 1 // WriteLCD_Command(0x0C); //显示打开,光标关,反白显示关
157 1 //延时两秒
158 1 WriteLCD_Command(0x01); //清除屏幕显示,将DDRAM的地址计数器归零
159 1 //延时两秒
160 1
161 1
162 1 WriteLCD_Command(0x32); //功能设置 绘图显示ON
163 1 //延时两秒
164 1 WriteLCD_Command(0x36); //功能设置 绘图显示ON
165 1 //延时两秒
166 1 }
167
168 void DisplayLCD()
169 {
170 1
171 1
172 1 // WriteLCD_Command(0x0C); //关闭游标的闪烁
173 1
174 1 WriteLCD(0x80,0x80,picture,0);
175 1
176 1 WriteLCD(0x80,0x88,picture,1);
177 1
C51 COMPILER V7.50 12864 02/07/2007 19:42:39 PAGE 4
178 1
179 1
180 1 }
181
182
183 void main(void)
184 {
185 1 unsigned char m;
186 1 unsigned char n;
187 1 DISPInitial();
188 1
189 1
190 1 while(1)
191 1 {
192 2
193 2 DisplayLCD();
194 2
195 2
196 2 for(m=0;m<10;m++)
197 2 for(n=0;n<200;n++); //延时两秒
198 2
199 2
200 2
201 2
202 2 }
203 1
204 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 229 ----
CONSTANT SIZE = 1024 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 6
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 + -