ex5-7.lst
来自「单片机实验代码包括A/D」· LST 代码 · 共 481 行 · 第 1/2 页
LST
481 行
C51 COMPILER V8.02 EX5_7 01/03/2008 21:05:34 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE EX5_7
OBJECT MODULE PLACED IN EX5-7.OBJ
COMPILER INVOKED BY: D:\keil c\files\C51\BIN\C51.EXE EX5-7.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 标题:范例 5-7
3 版本:1.0
4 Target:89S51
5 程序描述:这个程序利用89X51连接绘图型LCD,然后显示出:
6 现在时间是:
7 12:30:00
8 /05/09/01 */
9 /* ***************************************************** */
10 #include <REGX51.H>
11
12 /* 绘图型LCD 指令 */
13 #define GLCD_OFF 62 //关闭绘图型LCD
14 #define GLCD_ON 63 //打开绘图型LCD
15 #define GLCD_START_LINE_0 192 //设定绘图型LCD左半边的起始行
16 #define SET_PAGE 184 //设定绘图型LCD的页数
17 #define SET_Y_ADDRESS_0 64 //设定绘图型LCD的y轴位置
18 #define CLEAR 0 //清除绘图型LCD
19 /* 绘图型LCD 控制线 */
20 #define ENABLE 1
21 #define DISABLE 0
22 #define READ 1
23 #define WRITE 0
24 #define COMMAND 0
25 #define DATA 1
26 #define GLCD_RESET P2_2
27 #define GLCD_CS2 P2_3
28 #define GLCD_CS1 P2_4
29 #define GLCD_D_I P2_5
30 #define GLCD_R_W P2_6
31 #define GLCD_ENABLE P2_7
32 typedef struct {
33 char hour;
34 char minute;
35 char second;
36 } time;
37 typedef struct {
38 char year;
39 char month;
40 char day;
41 } date;
42 time now;
43 date today;
44 unsigned char gx,gy;
45 static unsigned timer0_tick;
46 char code int2char[]="0123456789";
47 char code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31};
48 char code weekday[7][4]={"MON","TUE","WED","THU","FRI","SAT",
49 "SUN"};
50 unsigned char code digit[10][4][8]=
51 //0
52 {{
53 {0X00,0X00,0X00,0XFC,0XFE,0X03,0X01,0X81},
54 {0XC1,0X61,0X31,0X1B,0XFE,0XFC,0X00,0X00},
55 {0X00,0X00,0X00,0X0F,0X1F,0X36,0X23,0X21},
C51 COMPILER V8.02 EX5_7 01/03/2008 21:05:34 PAGE 2
56 {0X20,0X20,0X20,0X30,0X1F,0X0F,0X00,0X00}},
57 //1
58 {
59 {0X00,0X00,0X00,0X00,0X00,0X04,0X06,0XFF},
60 {0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
61 {0X00,0X00,0X00,0X00,0X20,0X20,0X20,0X3F},
62 {0X3F,0X20,0X20,0X20,0X00,0X00,0X00,0X00}},
63 //2
64 {
65 {0X00,0X00,0X00,0X1C,0X1E,0X03,0X01,0X81},
66 {0XC1,0X41,0X61,0X33,0X3E,0X1C,0X00,0X00},
67 {0X00,0X00,0X00,0X3C,0X3E,0X33,0X31,0X31},
68 {0X30,0X30,0X30,0X30,0X30,0X3C,0X00,0X00}},
69 //3
70 {
71 {0X00,0X00,0X00,0X0C,0X0E,0X02,0X01,0X41},
72 {0X41,0XE1,0XE1,0XB2,0X1E,0X0C,0X00,0X00},
73 {0X00,0X00,0X00,0X0C,0X1C,0X10,0X20,0X20},
74 {0X20,0X20,0X20,0X11,0X1F,0X0E,0X00,0X00}},
75 //4
76 {
77 {0X00,0X00,0X80,0XC0,0X60,0X30,0X18,0X0C},
78 {0X06,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00},
79 {0X00,0X07,0X07,0X04,0X04,0X04,0X04,0X24},
80 {0X24,0X3F,0X3F,0X24,0X24,0X04,0X00,0X00}},
81 //5
82 {
83 {0X00,0X00,0X00,0XFF,0XFF,0X43,0X23,0X23},
84 {0X23,0X23,0X23,0X43,0XC3,0X80,0X00,0X00},
85 {0X00,0X00,0X00,0X0C,0X1C,0X10,0X20,0X20},
86 {0X20,0X20,0X20,0X10,0X1F,0X0F,0X00,0X00},},
87 //6
88 {
89 {0X00,0X00,0X00,0XFC,0XFE,0X82,0X41,0X41},
90 {0X41,0X41,0X41,0XC7,0X86,0X00,0X00,0X00},
91 {0X00,0X00,0X00,0X0F,0X1F,0X30,0X20,0X20},
92 {0X20,0X20,0X20,0X10,0X1F,0X0F,0X00,0X00}},
93 //7
94 {
95 {0X00,0X00,0X00,0X0F,0X03,0X03,0X03,0X03},
96 {0X83,0XC3,0X63,0X33,0X1F,0X0F,0X00,0X00},
97 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3F},
98 {0X3F,0X00,0X00,0X00,0X00,0X00,0X00,0X00}},
99 //8
100 {
101 {0X00,0X00,0X00,0X1C,0XBE,0XE2,0X41,0X41},
102 {0X41,0X41,0XE2,0XBE,0X1C,0X00,0X00,0X00},
103 {0X00,0X00,0X0E,0X1F,0X11,0X20,0X20,0X20},
104 {0X20,0X20,0X20,0X11,0X1F,0X0E,0X00,0X00}},
105 //9
106 {
107 {0X00,0X00,0X00,0X7C,0XFE,0X82,0X01,0X01},
108 {0X01,0X01,0X82,0XC6,0XFC,0XF8,0X00,0X00},
109 {0X00,0X00,0X00,0X0C,0X1C,0X18,0X21,0X21},
110 {0X21,0X21,0X10,0X1C,0X0F,0X03,0X00,0X00}}};
111 unsigned char code slash[4][8]=
112 ///
113 {
114 {0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0X60},
115 {0X30,0X18,0X0C,0X06,0X03,0X01,0X00,0X00},
116 {0X30,0X18,0X0C,0X06,0X03,0X01,0X00,0X00},
117 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00}};
C51 COMPILER V8.02 EX5_7 01/03/2008 21:05:34 PAGE 3
118 //:
119 unsigned char code comma[4][8]=
120 {
121 {0X00,0X00,0X00,0X00,0X00,0X00,0X10,0X38},
122 {0X38,0X10,0X00,0X00,0X00,0X00,0X00,0X00},
123 {0X00,0X00,0X00,0X00,0X00,0X00,0X02,0X07},
124 {0X07,0X02,0X00,0X00,0X00,0X00,0X00,0X00}};
125 unsigned char code space[4][8]=
126 {
127 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
128 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
129 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
130 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00}};
131 //年
132 unsigned char code yearp[4][8]=
133 {
134 {0X08,0X00,0X08,0X08,0X0F,0XFC,0X11,0X00},
135 {0X21,0X10,0X5F,0XF8,0X11,0X00,0X11,0X00},
136 {0X11,0X04,0XFF,0XFE,0X01,0X00,0X01,0X00},
137 {0X01,0X00,0X01,0X00,0X00,0X00,0X00,0X00}};
138 //星
139 unsigned char code weekp[2][4][8]=
140 {{
141 {0X3F,0XF8,0X20,0X08,0X3F,0XF8,0X20,0X08},
142 {0X3F,0XF8,0X01,0X00,0X21,0X08,0X3F,0XFC},
143 {0X21,0X00,0X41,0X10,0XBF,0XF8,0X01,0X00},
144 {0X01,0X04,0XFF,0XFE,0X00,0X00,0X00,0X00}},
145 //期
146 {
147 {0X22,0X04,0X22,0X7E,0X7F,0X44,0X22,0X44},
148 {0X3E,0X7C,0X22,0X44,0X3E,0X44,0X22,0X44},
149 {0X22,0X7C,0XFF,0XC4,0X24,0X44,0X22,0X84},
150 {0X41,0X14,0X82,0X08,0X00,0X00,0X00,0X00}}};
151 unsigned char code weekdayp[7][4][8]=
152 {{
153 //一
154 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
155 {0X00,0X00,0X00,0X00,0X00,0X04,0XFF,0XFE},
156 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
157 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00}},
158 //二
159 {
160 {0X00,0X00,0X00,0X00,0X00,0X10,0X3F,0XF8},
161 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
162 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X04},
163 {0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00}},
164 //三
165 {
166 {0X00,0X00,0X00,0X08,0X7F,0XFC,0X00,0X00},
167 {0X00,0X00,0X00,0X00,0X00,0X10,0X3F,0XF8},
168 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X04},
169 {0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00}},
170 //四
171 {
172 {0X00,0X00,0X00,0X04,0XFF,0XFE,0X44,0X44},
173 {0X44,0X44,0X44,0X44,0X44,0X44,0X44,0X44},
174 {0X48,0X3C,0X50,0X04,0X40,0X04,0X7F,0XFC},
175 {0X40,0X04,0X00,0X00,0X00,0X00,0X00,0X00}},
176 //五
177 {
178 {0X00,0X08,0X7F,0XFC,0X02,0X00,0X02,0X00},
179 {0X02,0X00,0X02,0X10,0X3F,0XF8,0X04,0X10},
C51 COMPILER V8.02 EX5_7 01/03/2008 21:05:34 PAGE 4
180 {0X04,0X10,0X04,0X10,0X08,0X10,0X08,0X10},
181 {0X08,0X10,0XFF,0XFE,0X00,0X00,0X00,0X00}},
182 //六
183 {
184 {0X04,0X00,0X02,0X00,0X03,0X00,0X01,0X04},
185 {0XFF,0XFE,0X00,0X00,0X00,0X00,0X04,0X40},
186 {0X0C,0X20,0X08,0X10,0X10,0X18,0X10,0X0C},
187 {0X20,0X0C,0X40,0X04,0X00,0X00,0X00,0X00}},
188 //日
189 {
190 {0X00,0X10,0X3F,0XF8,0X20,0X10,0X20,0X10},
191 {0X20,0X10,0X20,0X10,0X3F,0XF0,0X20,0X10},
192 {0X20,0X10,0X20,0X10,0X20,0X10,0X20,0X10},
193 {0X3F,0XF0,0X20,0X10,0X00,0X00,0X00,0X00}}};
194 //月
195 unsigned char code monthp[4][8]=
196 {
197 {0X00,0X10,0X1F,0XF8,0X10,0X10,0X10,0X10},
198 {0X1F,0XF0,0X10,0X10,0X10,0X10,0X1F,0XF0},
199 {0X10,0X10,0X10,0X10,0X10,0X10,0X10,0X10},
200 {0X20,0X50,0X40,0X20,0X00,0X00,0X00,0X00}};
201 unsigned char code token[7][4][8]=
202 {
203 {
204 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
205 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
206 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00},
207 {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00}},
208 //现
209 {
210 {0X42,0X42,0XFE,0X43,0X42,0X00,0X00,0XFE},
211 {0X49,0X49,0X49,0X49,0XFF,0X00,0X00,0X00},
212 {0X08,0X18,0X0F,0X04,0X22,0X20,0X20,0X13},
213 {0X0E,0X01,0X01,0X3E,0X23,0X20,0X30,0X00}},
214 //在
215 {
216 {0X02,0X02,0X02,0X84,0X64,0X1C,0X87,0X84},
217 {0X84,0XF4,0X84,0X84,0XC4,0X86,0x04,0X00},
218 {0X04,0X02,0X01,0X3F,0X00,0X10,0X10,0X10},
219 {0X10,0X1F,0X10,0X10,0X10,0X18,0X10,0X00}},
220 //时
221 {
222 {0XFC,0X44,0X44,0XFC,0X80,0X92,0X92,0X52},
223 {0X52,0X5F,0X52,0XF2,0X9A,0XD2,0X80,0X00},
224 {0X0F,0X04,0X04,0X0F,0X00,0X00,0X02,0X04},
225 {0X80,0X00,0X40,0X1F,0X00,0X00,0X00,0X00}},
226 //间
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?