📄 240160.lst
字号:
C51 COMPILER V7.06 240160 12/20/2008 12:57:17 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 240160
OBJECT MODULE PLACED IN 240160.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE 240160.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <hnk51.h>
2 //#include <lcd_command.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 sbit lcd_CS =P2^2;
7 sbit lcd_RD =P2^1;
8 sbit lcd_WR =P2^0;
9 sbit lcd_A0 =P2^3;
10 sbit lcd_RES =P2^4;
11
12 #define lcd_CMD P1
13 #define lcd_DATA P1
14
15 uchar code ZKWU[]=
16 {0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0x00,0x10,0x3F,
17 0xF8,0x01,0x00,0x01,0x04,0xFF,0xFE,0x02,0x80,0x02,0x40,0x04,0x20,0x18,0x1C,0x60,0x08};
18 uchar code ZKLIN[]=
19 {0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x10,0x60,0x38,0x70,
20 0x34,0xB0,0x54,0xA8,0x51,0x28,0x92,0x26,0x14,0x24,0x10,0x20,0x10,0x20,0x10,0x20};
21
22
23
24 void delay1ms(unsigned int count)
25 {
26 1 int i,j;
27 1 for(i=0;i<=count;i++)
28 1 for(j=0;j<=583;j++);
29 1 }
30
31 void lcd_reset(void)
32 {
33 1
34 1 lcd_RES = 1;
35 1 delay1ms(2);
36 1 // lcd_SEL1 = 0;
37 1 lcd_A0 = 0;
38 1 lcd_WR = 1;
39 1 lcd_RD = 1;
40 1 lcd_CS = 1;
41 1 lcd_RES = 0;
42 1 delay1ms(100);
43 1 lcd_RES = 1;
44 1 delay1ms(500);
45 1
46 1 }
47
48 void lcd_cmdwrite(unsigned char cmdx)
49 {
50 1 // lcd_SEL1 = 0;
51 1 lcd_CMD = cmdx;
52 1 lcd_A0 = 1;
53 1 lcd_CS = 0;
54 1 lcd_WR = 0;
55 1 lcd_WR = 1;
C51 COMPILER V7.06 240160 12/20/2008 12:57:17 PAGE 2
56 1 lcd_CS = 1;
57 1 // lcd_A0 = 0;
58 1 }
59
60 void lcd_datawrite(unsigned char datax)
61 {
62 1 lcd_A0 = 0;
63 1 lcd_DATA = datax;
64 1 lcd_CS = 0;
65 1 lcd_WR = 0;
66 1 lcd_WR = 1;
67 1 lcd_CS = 1;
68 1 lcd_A0 = 1;
69 1 }
70
71
72
73
74 void lcd_initial(void)
75 {
76 1 uint i;
77 1 lcd_cmdwrite(0x40); /* ---------LCD SYSTEM SET?????,8???--------
78 1 */
79 1 lcd_datawrite(0x30);
80 1 lcd_datawrite(0x87);
81 1 lcd_datawrite(0x07);
82 1 lcd_datawrite(39); /* ??????320dot */
83 1 lcd_datawrite(0x36); /* ???????? */
84 1 lcd_datawrite(239); /* ??????240dot */
85 1 lcd_datawrite(40); /* ???????????????(L) */
86 1 lcd_datawrite(0); /* ???????????????(H) */
87 1 delay1ms(0x9);
88 1 lcd_cmdwrite(0x44); /* ---------LCD SCROLL???????,??10???---
89 1 ------ */
90 1 lcd_datawrite(0x00); /* ??1??????RAM???8??? */
91 1 lcd_datawrite(0x00); /* ??1??????RAM???8??? */
92 1 lcd_datawrite(240); /* ??1???240?dot? */
93 1 lcd_datawrite(0x80); /* ??2??????RAM???8??? */
94 1 lcd_datawrite(0x25); /* ??2??????RAM???8??? */
95 1 lcd_datawrite(240); /* ??3???240?dot? */
96 1 lcd_datawrite(0x00); /* ??3??????RAM???8??? */
97 1 lcd_datawrite(0x4b); /* ??3??????RAM???8??? */
98 1 delay1ms(0x9);
99 1 lcd_cmdwrite(0x5a); /* ????,???????? */
100 1 lcd_datawrite(0x00);
101 1 delay1ms(0x9);
102 1 lcd_cmdwrite(0x5b); /* ??????????,1??? */
103 1 lcd_datawrite(0x1c); /* ??:???????????,??? */
104 1 delay1ms(0x9);
105 1 lcd_cmdwrite(0x59); /* ????,1??? */
106 1 lcd_datawrite(0x04); /* ??????????? */
107 1 delay1ms(0x9);
108 1 lcd_cmdwrite(0x4c); /* ?????????*/
109 1 delay1ms(0x9);
110 1 lcd_cmdwrite(0x46); /* ???????? */
111 1 lcd_datawrite(0); /* ?0000???? */
112 1 lcd_datawrite(0);
113 1 delay1ms(0x9);
114 1 lcd_cmdwrite(0x42); /* ??MPU???????????????? */
115 1 for(i=0;i<32760;i++)
116 1 {
117 2
C51 COMPILER V7.06 240160 12/20/2008 12:57:17 PAGE 3
118 2 lcd_datawrite(0); /* ?32K??????,?LCD??????? */
119 2 }
120 1 }
121
122
123 /* -------------------------设定光标,允许显示------------------------- */
124 void SetCursor(uchar CursorHIGH,uchar CursorLOW)
125 {
126 1 delay1ms(0x9);
127 1 lcd_cmdwrite(0x46);
128 1 lcd_datawrite(CursorLOW);
129 1 lcd_datawrite(CursorHIGH);
130 1 delay1ms(0x9);
131 1 lcd_cmdwrite(0x42);
132 1 }
133
134 //==============在指定位置显示一个汉字=========
135 void WriteOneWork(uchar CurHIGH,uchar CurLOW,uchar * ZiKu)
136 {
137 1 uchar i;
138 1 SetCursor(CurHIGH,CurLOW);
139 1 i=0;
140 1 do
141 1 {
142 2 lcd_datawrite(ZiKu[i]);
143 2 i=i+2;
144 2 }
145 1 while(i<0x1e);
146 1 SetCursor(CurHIGH,CurLOW+1);
147 1 i=1;
148 1 while(i<0x1f)
149 1 {
150 2 lcd_datawrite(ZiKu[i]);
151 2 i=i+2;
152 2 }
153 1 }
154
155
156
157
158
159 void lcd_cursorxy(unsigned char x,unsigned char y)
160 {
161 1 lcd_cmdwrite(0x46);
162 1 lcd_datawrite(x);
163 1 lcd_datawrite(y);
164 1 }
165 /*
166 void lcd_showbig(unsigned char *text,unsigned int x)
167 {
168 while(*text != '\0')
169 {
170 lcd_datawrite(*text);
171 ++text;
172
173 delay1ms(x);
174 }
175 }*/
176
177 void lcd_clear(void)
178 {
179 1 unsigned int i;
C51 COMPILER V7.06 240160 12/20/2008 12:57:17 PAGE 4
180 1 lcd_cursorxy(0x00,0x00);
181 1 lcd_cmdwrite(0x42);
182 1 for(i=0;i<0x7fff;i++)
183 1 lcd_datawrite(0x00);
184 1 }
185
186 void main(void)
187 {
188 1 //uchar i;
189 1 lcd_reset();
190 1 lcd_initial();
191 1
192 1 while(1)
193 1 {
194 2 lcd_clear();
195 2 delay1ms(0x30);
196 2 delay1ms(0x9);
197 2 lcd_cmdwrite(0x4f);
198 2 WriteOneWork(0,0,ZKWU);
199 2 WriteOneWork(0x2,0x80,ZKLIN);
200 2
201 2 }
202 1 }
203
204
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 467 ----
CONSTANT SIZE = 64 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 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 + -