📄 text2.lst
字号:
C51 COMPILER V8.05a TEXT2 10/12/2007 22:10:38 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE TEXT2
OBJECT MODULE PLACED IN Text2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text2.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include<intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 sbit ACC0=ACC^0;
6 sbit ACC7=ACC^7;
7 /*-----------------------------1302:引角配置--------------------------
8
9 --*/
10 sbit Rst_1302=P2^4;
11 sbit Io_1302=P2^3;
12 sbit Clk_1302=P2^2;
13 sbit RemPin0=P3^2 ;
14 sbit RemPin =P3^3 ;
15 uchar receive[3];
16
17 unsigned char ci ;
18
19 unsigned char XPOS,YPOS;
20
21
22
23
24 /*---------------------------12864:引脚配置---------------------------
25
26 --*/
27 #define Lcd_Bus P0 //MCU P1<------> LCM
28 sbit Cs1_12864=P2^3; //Master chip enable
29 sbit Cs2_12864=P2^4; //Slave chip enable
30 sbit E_12864=P2^2; //6800 mode Enable single
31 sbit Rs_12864=P2^0; //Data or Instrument Select
32 sbit Rw_12864=P2^1; //Write or Read
33 /*--------------------------12864:控制寄存器--------------------------
34
35 -*/
36 #define Disp_On 0x3f
37 #define Disp_Off 0x3e
38 #define Col_Add 0x40
39 #define Page_Add 0xb8
40 #define Start_Line 0xc0
41
42 unsigned char code ok[12][32]={
43
44 0x10,0xF8,0xFF,0xB7,0xFE,0xBE,0xF6,0xF0,0x26,0xBE,0x1E,0xA6,0xA6,0x3E,0x1E,0x00,
45 0x60,0x3F,0x0F,0x04,0x1F,0x64,0x7F,0x3F,0x02,0x0D,0x0D,0x7F,0x7F,0x0D,0x0D,0x00,/*"解",0*/
46
47 0x86,0xC6,0xFE,0xFE,0xC6,0xC6,0x00,0x06,0xF6,0xF6,0x86,0x86,0xFE,0xFE,0x80,0x00,
48 0x01,0x1F,0x1F,0x0C,0x1F,0x1F,0x00,0x0C,0x0D,0x0D,0x0D,0x2D,0x61,0x7F,0x3F,0x00,/*"码",1*/
49
50 0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x0C,0xFF,0xFF,0x0C,0xCF,0xCF,0x0C,0x00,0x00,
51 0x20,0x78,0x1F,0x07,0x08,0x0F,0x6F,0x30,0x19,0x0F,0x1E,0x33,0x61,0x78,0x38,0x00,/*"成",2*/
52
53 0x0C,0x0C,0xFC,0xFC,0x0C,0x0C,0x30,0x30,0xFF,0xFF,0x30,0x30,0xF0,0xF0,0x00,0x00,
54 0x18,0x18,0x1F,0x0F,0x2C,0x6C,0x30,0x1C,0x0F,0x03,0x60,0x60,0x7F,0x3F,0x00,0x00,/*"功",3*/
55
C51 COMPILER V8.05a TEXT2 10/12/2007 22:10:38 PAGE 2
56 0x60,0x7C,0x60,0xFF,0xFF,0x6C,0x6C,0x00,0xF6,0x36,0xBE,0xBE,0x36,0xF6,0xF6,0x00,
57 0x24,0x67,0x60,0x3F,0x1F,0x0C,0x07,0x40,0x67,0x30,0x1F,0x0F,0x10,0x37,0x67,0x00,/*"频",2*/
58
59 0x06,0x06,0x9E,0x96,0x26,0xB6,0xFF,0x6F,0xB6,0x96,0x26,0xB6,0x96,0x06,0x00,0x00,
60 0x0C,0x0D,0x0D,0x0C,0x0D,0x0D,0x7F,0x7F,0x0D,0x0D,0x0D,0x0C,0x0D,0x0D,0x00,0x00,/*"率",3*/
61
62
63 0x30,0x30,0xFE,0xFE,0x30,0xC0,0xF8,0xF8,0x60,0xFE,0xFE,0x30,0xF0,0xF0,0x00,0x00,
64 0x18,0x18,0x1F,0x0F,0x0C,0x00,0x3F,0x7F,0x60,0x6F,0x6F,0x66,0x67,0x7B,0x38,0x00,/*"地",0*/
65
66 0x30,0x30,0xFF,0xFF,0x30,0x00,0x00,0xF0,0xF0,0x00,0xFF,0xFF,0x60,0x60,0x60,0x00,
67 0x18,0x18,0x0F,0x0F,0x0C,0x30,0x30,0x3F,0x3F,0x30,0x3F,0x3F,0x30,0x30,0x30,0x00,/*"址",1*/
68
69
70 0x18,0x5B,0x7E,0x98,0xFF,0x7F,0x3E,0x5B,0xE0,0xFF,0x1F,0x18,0xF8,0xF8,0x18,0x00,
71 0x43,0x43,0x6F,0x3F,0x1B,0x1B,0x1F,0x37,0x60,0x33,0x1F,0x1C,0x37,0x61,0x40,0x00,/*"数",0*/
72
73 0x18,0x18,0xFF,0xFF,0x98,0xFF,0xFF,0xDB,0xDB,0xDB,0xFB,0xFB,0xDF,0xDF,0xC0,0x00,
74 0x03,0x63,0x7F,0x3F,0x21,0x3F,0x1F,0x00,0x7E,0x3E,0x33,0x33,0x7E,0x7E,0x00,0x00,/*"据",1*/
75
76 0x00,0xB0,0xB8,0x9E,0x9E,0x98,0x98,0xFF,0xFF,0x98,0x98,0x98,0x98,0x80,0x00,0x00,
77 0x00,0x61,0x61,0x31,0x19,0x0D,0x07,0x03,0x07,0x0D,0x19,0x31,0x31,0x61,0x20,0x00,/*"失",0*/
78
79 0x00,0xFE,0xFE,0x06,0xF6,0x06,0xFE,0x80,0xE0,0xFE,0x1E,0x18,0xF8,0xF8,0x18,0x00,
80 0x20,0x33,0x1B,0x0C,0x07,0x18,0x53,0x41,0x61,0x37,0x1C,0x1E,0x37,0x61,0x60,0x00,/*"败",1*/
81 };
82
83 unsigned char code time_cha[2][32]={
84 /*-- 文字: 时 --*/
85 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=16x16 --*/
86 0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
87 0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
88 /*-- 文字: 间 --*/
89 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=16x16 --*/
90 0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x00,
91 0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00};
92
93 unsigned char code dian[]={
94 /*-- 文字: ":" --*/
95 /*-- 宋体12; 此字体下对应的点阵为:行x列=16x8 --*/
96 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,
97 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00
98 };
99
100 unsigned char code ok1[2][16]={
101
102 0xF8,0xE0,0x00,0x00,0x00,0xE0,0xF8,0x00,0x3F,0x00,0x0F,0x30,0x0F,0x00,0x3F,0x00,/*"M",0*/
103
104 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,/*".",1*/
105
106 };
107 unsigned char code time_let[11][16]={
108 /*-- 文字: 0 --*/
109 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
110 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
111
112 /*-- 文字: 1 --*/
113 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
114 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
115
116 /*-- 文字: 2 --*/
117 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
C51 COMPILER V8.05a TEXT2 10/12/2007 22:10:38 PAGE 3
118 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
119
120 /*-- 文字: 3 --*/
121 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
122 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
123
124 /*-- 文字: 4 --*/
125 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
126 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
127
128 /*-- 文字: 5 --*/
129 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
130 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
131
132 /*-- 文字: 6 --*/
133 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
134 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
135
136 /*-- 文字: 7 --*/
137 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
138 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
139
140 /*-- 文字: 8 --*/
141 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
142 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
143
144 /*-- 文字: 9 --*/
145 /*-- Times New Roman12; 此字体下对应的点阵为:宽x高=8x16 --*/
146 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,
147
148 0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x3F,0x01,0x01,0x01,0x01,0x01,0x00,0x00,/*"F",0*/
149
150 };
151
152
153 void Delay(uint t)
154 {uint i,j;
155 1 for (i=0;i<100;i++)
156 1 for (j=0;j<t;j++);
157 1 }
158
159
160 /*--------------------------------------------------------------------
161
162 */
163 /* DS1302
164
165 */
166 /*
167
168 */
169 /*--------------------------------------------------------------------
170
171 -*/
172 void write_dat_1302(unsigned char temp) //DS1302:写入操作
173 {
174 1 unsigned char i;
175 1 ACC=temp;
176 1 for(i=8;i>0;i--)
177 1 {
178 2 Io_1302=ACC0;
179 2 Clk_1302=0;
C51 COMPILER V8.05a TEXT2 10/12/2007 22:10:38 PAGE 4
180 2 Clk_1302=1;
181 2 ACC=ACC>>1;
182 2 }
183 1 }
184
185 unsigned char read_dat_1302(void) //DS1302:读取操作
186 {
187 1 unsigned char i;
188 1 for(i=0;i<8;i++)
189 1 {
190 2 ACC=ACC>>1;
191 2 Clk_1302 = 1;
192 2 Clk_1302 = 0;
193 2 ACC7 = Io_1302;
194 2 }
195 1 return(ACC);
196 1
197 1 }
198
199 void write_1302(unsigned char addr,unsigned char temp) //DS1302:写入数
200 {
201 1 Rst_1302=0; //停止工作
202 1 Clk_1302=0;
203 1 Rst_1302=1; //重新工作
204 1 write_dat_1302(addr); //写入地址
205 1
206 1 write_dat_1302(temp);
207 1 Rst_1302=0;
208 1 Clk_1302=1;
209 1 }
210
211 unsigned char read_1302(unsigned char addr) //DS1302:读取数据(先送地
212 {
213 1 unsigned char temp;
214 1 Rst_1302=0; //停止工作
215 1 Clk_1302=0;
216 1 Rst_1302=1; //重新工作
217 1 write_dat_1302(addr); //写入地址
218 1 temp=read_dat_1302();
219 1 Rst_1302=0;
220 1 Clk_1302=1; //停止工作
221 1 return(temp);
222 1 }
223
224
225
226 /*--------------------------------------------------------------------
227
228 */
229 /* 12864 */
230 /*
231
232 */
233 /*--------------------------------------------------------------------
234
235 -*/
236 /*------------------------------12864:写命令-------------------------*/
237 void write_cmd_12864(unsigned char temp)
238 {
239 1 Lcd_Bus=temp;
240 1 Rs_12864=0; // E状态 执行动作 结果
241 1 Rw_12864=0; // 低/低-->高 无动作
C51 COMPILER V8.05a TEXT2 10/12/2007 22:10:38 PAGE 5
242 1 E_12864=1; // 高 数据缓冲 配合R进
243 1 E_12864=0; // 高-->低 配合/W进
244 1 }
245
246
247 /*------------------------------12864:写资料--------------------------
248
249 --*/
250 void write_dat_12864(unsigned char temp)
251 {
252 1 Lcd_Bus=temp;
253 1 Rs_12864=1;
254 1 Rw_12864=0;
255 1 E_12864=0;
256 1 E_12864=1;
257 1 E_12864=0;
258 1 }
259
260 /*------------------------------12864:初使化-------------------------
261
262 */
263 void ini_12864(void)
264 {
265 1 Cs1_12864=1; Cs2_12864=1;
266 1 write_cmd_12864(Disp_Off);
267 1 write_cmd_12864(Page_Add);
268 1 write_cmd_12864(Col_Add);
269 1 write_cmd_12864(Start_Line);
270 1 write_cmd_12864(Disp_On);
271 1 }
272
273
274 /*------------------------------12864:清零---------------------------*/
275 void clr_12864(void)
276 {
277 1 unsigned char i=0,j=0;
278 1 Cs1_12864=1; Cs2_12864=1;
279 1 write_cmd_12864(Page_Add);
280 1 write_cmd_12864(Col_Add);
281 1
282 1 for(i=0;i<8;i++)
283 1 {
284 2 write_cmd_12864(Page_Add+i);
285 2 for(j=0;j<64;j++)
286 2 write_dat_12864(0x00);
287 2 }
288 1
289 1 }
290
291 /*--------------------------------12864:显示字符 行x列:16x16点 --
292
293 ------------------*/
294 void show_cha_12864(unsigned char page, unsigned char col,unsigned char
295
296 *poi)
297 {
298 1 unsigned char i=0,j=0;
299 1 for(i=0;i<2;i++)
300 1 {
301 2 write_cmd_12864(Page_Add+page+i);
302 2 write_cmd_12864(Col_Add+col);
303 2 for(j=0;j<16;j++)
C51 COMPILER V8.05a TEXT2 10/12/2007 22:10:38 PAGE 6
304 2 write_dat_12864( poi[16*i+j] );
305 2 }
306 1 }
307
308
309 /*--------------------------------12864:显示字符 8x16点 ----------
310
311 ----------*/
312 void show_let_12864(unsigned char page, unsigned char col,unsigned char
313
314 *poi)
315 {
316 1 unsigned char i=0,j=0;
317 1 for(i=0;i<2;i++)
318 1 {
319 2 write_cmd_12864(Page_Add+page+i); //2行 16个点
320 2 write_cmd_12864(Col_Add+col);
321 2 for(j=0;j<8;j++) // 1列 8个点
322 2 write_dat_12864( poi[8*i+j] );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -