📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 07/25/2008 12:17:39 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"include.h"
2 /*************************************************
3 Function: delay
4 Description: 延时一段时间
5 Calls: 无
6 Input: 无
7 Output: 无
8 Return: 无
9 Others:
10 *************************************************/
11 void delay(void)
12 {
13 1 uchar i;
14 1 for(i=0;i<10;i++);
15 1 }
16 /*************************************************
17 Function: LCDRESET
18 Description: LCD复位
19 Calls: 无
20 Input: 无
21 Output: 无
22 Return: 无
23 Others:
24 *************************************************/
25 void LCDRESET()
26 {
27 1 LCD_Rest=0;
28 1 delay();
29 1 LCD_Rest=1;
30 1 }
31
32 void Set_Init_L(uchar Control)
33 {
34 1 delay();
35 1 Left_Instruction = Control;
36 1 delay();
37 1 }
38
39 void Set_Init_R(uchar Control)
40 {
41 1 delay();
42 1 Right_Instruction = Control;
43 1 delay();
44 1 }
45
46 /*************************************************
47 Function: WR_Data_L
48 Description: 向液晶屏的写地址写入要显示的内容
49 Calls: 无
50 Input: L_R:左右屏的选择,data:要写入的内容
51 Output: 无
52 Return: 无
53 Others:
54 *************************************************/
55 void WR_Data_L(uchar d)
C51 COMPILER V8.02 MAIN 07/25/2008 12:17:39 PAGE 2
56 {
57 1 delay();
58 1 Left_Data =d;
59 1 delay();
60 1 }
61
62 void WR_Data_R(uchar d)
63 {
64 1 delay();
65 1 Right_Data = d;
66 1 delay();
67 1 }
68
69 /*************************************************
70 Function: ShowHanzi_L
71 Description: 在左屏输出一个汉字
72 Calls: 无
73 Input: x,y在屏上输出的坐标,p输出内容的地址指针
74 Output: 无
75 Return: 无
76 Others:
77 *************************************************/
78 void Show_C_L(uchar x,uchar y,uchar *p)
79 {
80 1 uchar i;
81 1 Set_Init_L(SetXadress(x));
82 1 Set_Init_L(SetYadress(y));
83 1 for(i=0;i<16;i++)
84 1 {
85 2 WR_Data_L(p[i]);
86 2 }
87 1
88 1 Set_Init_L(SetXadress(x+1));
89 1 Set_Init_L(SetYadress(y));
90 1 for(i=0;i<16;i++)
91 1 {
92 2 WR_Data_L(p[i+16]);
93 2 }
94 1 }
95
96 void Show_C_R(uchar x,uchar y,uchar *p)
97 {
98 1 uchar i;
99 1 Set_Init_R(SetXadress(x));
100 1 Set_Init_R(SetYadress(y));
101 1 for(i=0;i<16;i++)
102 1 {
103 2 WR_Data_R(p[i]);
104 2 }
105 1
106 1 Set_Init_R(SetXadress(x+1));
107 1 Set_Init_R(SetYadress(y));
108 1 for(i=0;i<16;i++)
109 1 {
110 2 WR_Data_R(p[i+16]);
111 2 }
112 1 }
113
114 /*************************************************
115 Function: PrintHanzi
116 Description: 输出N个汉字
117 Calls: 无
C51 COMPILER V8.02 MAIN 07/25/2008 12:17:39 PAGE 3
118 Input: x,y在屏上输出的坐标,p输出内容的地址指针
119 Output: 无
120 Return: 无
121 Others:
122 *************************************************/
123 void PrintHanzi(uchar x,uchar y,uchar *p)
124 {
125 1 uchar i,j;
126 1 uchar num= 0;
127 1 num = (uchar)strlen(p);
128 1 for(j=0;j<num;j+=2)
129 1 {
130 2 if(y>63)
131 2 {
132 3 if(y>127)break;
133 3
134 3 for(i = 0;i<22;i++)
135 3 {
136 4 if((hanz[i].id[0]==p[j])&&(hanz[i].id[1]==p[j+1]))
137 4 {
138 5 Show_C_R(x,(y-64),hanz[i].font);
139 5 y+=16;
140 5 }
141 4 }
142 3 }
143 2 else
144 2 {
145 3 for(i = 0;i<22;i++)
146 3 {
147 4 if((hanz[i].id[0]==p[j])&&(hanz[i].id[1]==p[j+1]))
148 4 {
149 5 Show_C_L(x,y,hanz[i].font);
150 5 y+=16;
151 5 }
152 4 }
153 3 }
154 2
155 2 }
156 1 }
157 /*************************************************
158 Function: ShowA_L
159 Description: 在屏上输出任意字符
160 Calls: 无
161 Input: x,y在屏上输出的坐标,p输出内容的地址指针
162 Output: 无
163 Return: 无
164 Others:
165 *************************************************/
166 void Lcd_Print(uchar x,uchar y,char *Str)
167 {
168 1 unsigned int Num = 0;//输入字符串的字节数
169 1 uchar i;
170 1 Num = (uchar)strlen(Str);
171 1 for(i = 0;i<Num;)
172 1 {
173 2 if(y>63)//右半屏显示
174 2 {
175 3 if(y>127)break;
176 3
177 3
178 3 if((Str[i]>=0x21)&&(Str[i]<=0x7f))//要显示的是英文字母或者是特殊符号
179 3 {
C51 COMPILER V8.02 MAIN 07/25/2008 12:17:39 PAGE 4
180 4 Show_E_R(x,(y-64),(Str[i] - 0x21)*16+ASCIICD);
181 4 y+=8;
182 4 i++;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -