📄 yejing.lst
字号:
124 1 E = 1;
125 1 _nop_();
126 1 _nop_();
127 1 E = 0;
128 1 }
129
130 /**************************** 显示字符串函数 *****************************
131 * 功能:从坐标x,y处开始显示指针ptr指定的字符串
132 **************************************************************************/
133 void Disp_strings(uchar x,uchar y, uchar *ptr)
134 {
135 1 while (*ptr != '%')////数组元素最后有%作为数组结束标志的判断/////
136 1 {
137 2 LocateXY( x, y ); // 定位显示地址///
138 2 LcdWriteData(*ptr++ );////对于汉字一个地址要连续写两次,才能构成一个完整的汉字//////
139 2 LcdWriteData(*ptr++ );////对于字母、数字一个地址可写一次,显示时中间有一个空格//////
140 2 ///////////////////////////当然也可连续写两次,显示时中间没有空格///////
141 2 // LcdWriteCommand(0x18,1);//当主程序只有文字信息显示时,此处可用于滚屏显示/////,
142 2 // Delay400Ms(); //////滚屏显示要注意延时///////
143 2 x++;////连续写两次后,地址(横坐标)加1////////
144 2 }
145 1 }
146
147 /**************************** 显示数值函数 *****************************
148 * 功能:从指定的坐标位置x,y处开始显示"-999.999---+999.999"范围的一个数值.
149 **************************************************************************/
150 /*
151 void Disp_data(uchar x,uchar y, float ndata)
152 {
153 unsigned long z;
154 uchar tab1[10],tab2[10];
155 if(ndata<0) //////////////////第一个if-else结构开始///////////////////////////
156 { //
157 tab1[0]=array4[12]; //
158 ndata=fabs(ndata); //对正负数分别赋符号///////
159 } //
160 else{tab1[0]=array4[11];} ////第一个if-else结构结束///////////////////////////
161 ////////////////////////////////////////////////////////////////////////////////
162 //////////////////第二个if-else结构开始/////////////////////////////////////////
163 if((ndata<1000)&&(ndata>=0.001))////显示的数其绝对值必须在0.001-1000之间
164 {
165 z=(unsigned long)(ndata*1000);////强制类型转换//////
166 //tab1[0]是符号位////////////////下面是获取各位数值///////
167 tab1[1]=array4[z/100000]; ////获得千位信息'0-9'中的某一个/////
168 tab1[2]=array4[z%100000/10000];////获得百位信息'0-9'中的某一个/////
169 tab1[3]=array4[z%10000/1000]; ////获得十位信息'0-9'中的某一个/////
170 tab1[4]=array4[10];/////tab1[4]是小数点位////////
171 tab1[5]=array4[z%1000/100]; ////获得十分位信息'0-9'中的某一个/////
172 tab1[6]=array4[z%100/10]; ////获得百分位信息'0-9'中的某一个/////
173 tab1[7]=array4[z%10]; ////获得千分位信息'0-9'中的某一个/////
174 tab1[8]=array4[13]; ////tab1[9]表示的是空格字符/////
175 tab1[9]=array4[14]; ////tab1[8]表示的是'%'字符,数组结束必须有'%'/////
176 ////////////////////////////////////
177 if(tab1[1]=='0') ////考虑千位为'0'的情况////注意应该是tab1[1]=='0'////
178 { ////而不是tab1[1]==0/////////
C51 COMPILER V7.50 YEJING 04/10/2008 19:53:27 PAGE 4
179 if(tab1[2]=='0') ////考虑百位为'0'的情况////
180 { //
181 tab2[0]=tab1[0]; //符号位////
182 tab2[1]=tab1[3]; //个位////
183 tab2[2]=tab1[4]; //小数点////
184 tab2[3]=tab1[5]; //十分位///
185 tab2[4]=tab1[6]; //百分位///
186 tab2[5]=tab1[7]; //千分位///
187 tab2[6]=tab1[8]; ////数组结束必须有%/////
188 } //
189 else ////百位不为'0'的情况////
190 { //
191 tab2[0]=tab1[0]; ////符号位////
192 tab2[1]=tab1[2]; ////十位///
193 tab2[2]=tab1[3]; ////个位////
194 tab2[3]=tab1[4]; ////小数点////
195 tab2[4]=tab1[5]; ////十分位///
196 tab2[5]=tab1[6]; ////百分位///
197 tab2[6]=tab1[7]; ////千分位///
198 tab2[7]=tab1[8]; /////根据实际情况添加的空格//与Disp_strings()有关////
199 tab2[8]=tab1[9]; ////数组结束必须有%/////
200 } //
201 } //
202 else ////千位不为'0'的情况////
203 {
204 tab2[0]=tab1[0];//符号位////
205 tab2[1]=tab1[1];//千位///
206 tab2[2]=tab1[2];//百位///
207 tab2[3]=tab1[3];//个位////
208 tab2[4]=tab1[4];//小数点////
209 tab2[5]=tab1[5];//十分位///
210 tab2[6]=tab1[6];//百分位///
211 tab2[7]=tab1[7];//千分位///
212 tab2[8]=tab1[9]; ////数组结束必须有%/////
213 }
214 ////////////////////////////////////
215 Disp_strings(x,y,tab2);/////////////////显示数值////
216 }
217 else{ Disp_strings(x,y,array5);}//////数值超过显示范围,报错!
218 ////////////////////////////////////////////////////////////////////////////////
219 //////////////////第二个if-else结构结束/////////////////////////////////////////
220 }
221 */
222 /****************************** 初始化函数 ******************************
223 * 功能:向LCD模块写入不同命令,完成必要的初始化过程
224 *************************************************************************/
225 void Lcd_initilize( void )
226 {
227 1 LcdWriteCommand( 0x38, 0); /* 设置显示模式(不检测忙信号) */
228 1 Delay5Ms(); /* 短延时 */
229 1 LcdWriteCommand( 0x38, 0); /* 共进行三次 */
230 1 Delay5Ms();
231 1 LcdWriteCommand( 0x38, 0);
232 1 Delay5Ms();
233 1 LcdWriteCommand( 0x38, 1); /* 设置显示模式(以后均检测忙信号) */
234 1 LcdWriteCommand( 0x08, 1); /* 显示关闭 */
235 1 LcdWriteCommand( 0x01, 1); /* 显示清屏 */
236 1 LcdWriteCommand( 0x06, 1); /* 设置显示光标移动 */
237 1 LcdWriteCommand( 0x0c, 1); /* 设置显示开及光标位置 */
238 1 }
239
240
C51 COMPILER V7.50 YEJING 04/10/2008 19:53:27 PAGE 5
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 232 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -