?? lcd.lst
字號:
C51 COMPILER V7.06 LCD 11/21/2006 12:57:18 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN Lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Lcd.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 #include <lcd.h>
3
4 char code FontSystem5x8[][6]= {
5
6 0x7e,0x11,0x11,0x11,0x7e,0x00, /* A */
7 0x7f,0x49,0x49,0x49,0x36, 0x00,/* B */
8 0x3e,0x41,0x41,0x41,0x22, 0x00,/* C */
9 0x7f,0x41,0x41,0x22,0x1c, 0x00,/* D */
10 0x7f,0x49,0x49,0x49,0x41, 0x00,/* E */
11 0x7f,0x09,0x09,0x09,0x01, 0x00,/* F */
12 0x3e,0x41,0x49,0x49,0x7a, 0x00,/* G */
13 0x7f,0x08,0x08,0x08,0x7f, 0x00,/* H */
14 0x00,0x41,0x7f,0x41,0x00, 0x00,/* I */
15 0x20,0x40,0x41,0x3f,0x01, 0x00,/* J */
16 0x7f,0x08,0x14,0x22,0x41, 0x00,/* K */
17 0x7f,0x40,0x40,0x40,0x40, 0x00,/* L */
18 0x7f,0x02,0x0c,0x02,0x7f, 0x00,/* M */
19 0x7f,0x04,0x08,0x10,0x7f, 0x00,/* N */
20 0x3e,0x41,0x41,0x41,0x3e, 0x00,/* O */
21 0x7f,0x09,0x09,0x09,0x06, 0x00,/* P 0x50 */
22 0x3e,0x41,0x51,0x21,0x5e, 0x00,/* Q */
23 0x7f,0x09,0x19,0x29,0x46,0x00, /* R */
24 0x26,0x49,0x49,0x49,0x32, 0x00,/* S */
25 0x01,0x01,0x7f,0x01,0x01, 0x00,/* T */
26 0x3f,0x40,0x40,0x40,0x3f, 0x00,/* U */
27 0x1f,0x20,0x40,0x20,0x1f, 0x00,/* V */
28 0x3f,0x40,0x38,0x40,0x3f, 0x00,/* W */
29 0x63,0x14,0x08,0x14,0x63, 0x00,/* X */
30 0x07,0x08,0x70,0x08,0x07, 0x00,/* Y */
31 0x61,0x51,0x49,0x45,0x43, 0x00,/* Z */
32 0x00,0x7f,0x41,0x41,0x00, 0x00,/* [ */
33 0x02,0x04,0x08,0x10,0x20, 0x00,/* \ */
34 0x00,0x41,0x41,0x7f,0x00, 0x00,/* ] */
35 0x04,0x02,0x01,0x02,0x04, 0x00,/* ^ */
36 0x40,0x40,0x40,0x40,0x40, 0x00,/* _ */
37 0x00,0x00,0x03,0x05,0x00, 0x00,/* ` 0x60 */
38 0x20,0x54,0x54,0x54,0x78, 0x00,/* a */
39 0x7F,0x44,0x44,0x44,0x38, 0x00,/* b */
40 0x38,0x44,0x44,0x44,0x44, 0x00,/* c */
41 0x38,0x44,0x44,0x44,0x7f, 0x00,/* d */
42 0x38,0x54,0x54,0x54,0x18, 0x00,/* e */
43 0x04,0x04,0x7e,0x05,0x05, 0x00,/* f */
44 0x08,0x54,0x54,0x54,0x3c, 0x00,/* g */
45 0x7f,0x08,0x04,0x04,0x78, 0x00,/* h */
46 0x00,0x44,0x7d,0x40,0x00, 0x00,/* i */
47 0x20,0x40,0x44,0x3d,0x00, 0x00,/* j */
48 0x7f,0x10,0x28,0x44,0x00, 0x00,/* k */
49 0x00,0x41,0x7f,0x40,0x00, 0x00,/* l */
50 0x7c,0x04,0x7c,0x04,0x78, 0x00,/* m */
51 0x7c,0x08,0x04,0x04,0x78, 0x00,/* n */
52 0x38,0x44,0x44,0x44,0x38, 0x00,/* o */
53 0x7c,0x14,0x14,0x14,0x08, 0x00,/* p 0x70 */
54 0x08,0x14,0x14,0x14,0x7c, 0x00,/* q */
55 0x7c,0x08,0x04,0x04,0x00, 0x00,/* r */
C51 COMPILER V7.06 LCD 11/21/2006 12:57:18 PAGE 2
56 0x48,0x54,0x54,0x54,0x24, 0x00,/* s */
57 0x04,0x04,0x3f,0x44,0x44, 0x00,/* t */
58 0x3c,0x40,0x40,0x20,0x7c, 0x00,/* u */
59 0x1c,0x20,0x40,0x20,0x1c, 0x00,/* v */
60 0x3c,0x40,0x30,0x40,0x3c, 0x00,/* w */
61 0x44,0x28,0x10,0x28,0x44, 0x00,/* x */
62 0x0c,0x50,0x50,0x50,0x3c, 0x00,/* y */
63 0x44,0x64,0x54,0x4c,0x44, 0x00,/* z */
64
65 };
66
67 char code Hanzi[][32]=
68 {
69 /*-- 文字: 阿 --*/
70 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
71 0x00,0xFE,0x12,0x2A,0xC6,0x00,0xE2,0x22,0x22,0x22,0xE2,0x02,0xFE,0x02,0x02,0x00,
72 0x00,0xFF,0x02,0x04,0x03,0x00,0x03,0x02,0x02,0x02,0x43,0x80,0x7F,0x00,0x00,0x00,
73
74 /*-- 文字: 啊 --*/
75 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
76 0xFE,0x02,0x02,0xFE,0x00,0xFE,0x32,0xCE,0x00,0xF2,0x12,0xF2,0x02,0xFE,0x02,0x00,
77 0x07,0x02,0x02,0x07,0x00,0xFF,0x04,0x07,0x00,0x07,0x04,0x47,0x80,0x7F,0x00,0x00,
78
79 /*-- 文字: 哎 --*/
80 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
81 0xFC,0x04,0x04,0x04,0xFC,0x08,0x08,0xDF,0x08,0x08,0x08,0xDF,0x08,0x08,0x08,0x00,
82 0x07,0x02,0x02,0x02,0x87,0x40,0x20,0x10,0x0B,0x04,0x0B,0x30,0x60,0xC0,0x40,0x00,
83
84 /*-- 文字: 哀 --*/
85 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
86 0x00,0x04,0x04,0xF4,0x94,0x94,0x94,0x95,0x96,0x94,0x94,0xF4,0x04,0x04,0x04,0x00,
87 0x00,0x10,0x10,0x09,0xFC,0x42,0x21,0x02,0x04,0x0C,0x16,0x33,0x62,0x20,0x20,0x00,
88
89 /*-- 文字: 唉 --*/
90 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
91 0xFC,0x04,0x04,0xFC,0x00,0x80,0x68,0x5C,0x4B,0xC8,0x48,0x48,0x4A,0x5C,0x08,0x00,
92 0x07,0x01,0x01,0x03,0x81,0x42,0x22,0x12,0x0A,0x07,0x0A,0x12,0x62,0xC2,0x42,0x00,
93
94 /*-- 文字: 埃 --*/
95 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
96 0x20,0x20,0x20,0xFF,0x20,0x20,0x80,0x68,0x5C,0x4B,0xCA,0x48,0x4A,0x5C,0x08,0x00,
97 0x10,0x30,0x10,0x0F,0x08,0x49,0x42,0x22,0x12,0x0A,0x07,0x0A,0x12,0x62,0x22,0x00,
98
99 /*-- 文字: 挨 --*/
100 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
101 0x10,0x10,0x10,0xFF,0x90,0x50,0x00,0x88,0x6C,0x4B,0xC8,0x48,0x4C,0x58,0x00,0x00,
102 0x02,0x42,0x81,0x7F,0x00,0x82,0x82,0x42,0x22,0x1A,0x0F,0x12,0x62,0xC2,0x42,0x00,
103
104 /*-- 文字: 皚 --*/
105 /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
106 0x00,0xF8,0x8C,0x8B,0xF8,0x00,0x5E,0x50,0x50,0x5F,0x50,0x50,0xD0,0x1E,0x00,0x00,
107 0x00,0x3F,0x08,0x08,0x1F,0x00,0x3E,0x42,0x42,0x42,0x42,0x42,0x47,0x40,0x70,0x00,
108
109 };
110
111
112 uchar Busy;/*判忙*/
113 //uchar data i,j,k,Disp_Page;
114
115 uchar data Column;/*定義列*/
116 uchar data Page;/*定義頁*/
117
C51 COMPILER V7.06 LCD 11/21/2006 12:57:18 PAGE 3
118
119 void GLCD_Locate (uchar u8Column, uchar u8Line)
120 {
121 1 Column = u8Column;
122 1 Page = u8Line;
123 1 }
124 void LcdSelectSide(uchar u8LcdSide)
125 {
126 1 LcdData=0xff;
127 1 if(u8LcdSide==Left)
128 1 {
129 2
130 2 E1=1;/*左半屏片選*/
131 2 Busy=LcdData;
132 2 E1=0;/*左半屏片選*/
133 2 }
134 1 else
135 1 {
136 2
137 2 E2=1;/*右半屏片選*/
138 2 Busy=LcdData;
139 2 E2=0;
140 2 }
141 1 }
142 void LcdWaitBusy (uchar u8LcdSide)
143 {
144 1 R_W=1;
145 1 A0=0;/*讀狀態指令*/
146 1 do
147 1 {
148 2 LcdSelectSide(u8LcdSide);
149 2 }while(Busy&0x80);
150 1 }
151
152 /********************寫屏指令子程序********************/
153 void LcdInstructionWrite (uchar u8Instruction,uchar u8LcdSide)
154 {
155 1 LcdWaitBusy (u8LcdSide);
156 1 R_W=0;/*寫數據*/
157 1 A0=0;
158 1 LcdData=u8Instruction;
159 1 if(u8LcdSide==Left)
160 1 {
161 2 E1=1;
162 2 LcdData=u8Instruction;
163 2 E1=0;/*屏處于未選狀態*/
164 2 }
165 1 else
166 1 {
167 2 E2=1;
168 2 LcdData=u8Instruction;
169 2 E2=0;/*屏處于未選狀態*/
170 2 }
171 1
172 1
173 1 }
174 /********************送屏顯示字符子程序********************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -