📄 show_floatdata1.lst
字号:
C51 COMPILER V8.02 SHOW_FLOATDATA1 03/28/2008 20:12:45 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE SHOW_FLOATDATA1
OBJECT MODULE PLACED IN Show_FloatData1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Show_FloatData1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*===============================================================*/
2 /* 函数名称: Show_FloatData.c */
-
3 /* 函数功能: 显示float数据 */
4 /* 参数描述:
5 Floatdata---------------------------要先显示的整型数据
6 m---------------------------------要保留的小数点位数*/
7 /*有无返回: 无 */
8 /*修改记录: 无修改记录 */
9 /*编写作者: t483-4-19chenyong */
10 /*编写日期: 2007-4-08 */
11 /*===============================================================*/
12 #include "common.h"
13 #include "TS12864A.h"
14 #include "show.h"
15 #include "ziku.h"
16 #include "delay.h"
17 void Show_FloatData1(float Floatdata,unsigned int m)
18 {
19 1 unsigned int decimal;
20 1 unsigned int intger_store[5],decimal_store[3];
21 1 unsigned int i=0,k=0,a,b;
22 1 unsigned int intger;
23 1 intger=(int)Floatdata;
24 1 for(a=0;a<5;a++)
25 1 {
26 2 intger_store[a]=0; //整形数据初始化
27 2 }
28 1 for(b=0;b<3;b++)
29 1 {
30 2 intger_store[b]=0; //小数,数据初始化
31 2 }
32 1 decimal=(Floatdata-intger)*ten_n(m);/*把小数整数化,为了实现精度*/
33 1 while(intger) //显示整形
34 1 {
35 2 intger_store[i]=intger%10; /*前面存的是低位,后面是高位*/
36 2 intger=intger/10; /* 显示整数*/
37 2 i++;
38 2 }
39 1 for(i=0;i<5;i++)
40 1 {
41 2 Display_Char(5+i,3,intger_store[4-i]); /* 从后面开始显示 */
42 2 }
43 1 Display_Char(10,3,18); //显示小数点
44 1 while(decimal) //显示小数
45 1 {
46 2 decimal_store[k]=decimal%10;
47 2 decimal=decimal/10;
48 2 k++;
49 2 }
50 1 for(k=0;k<3;k++)
51 1 {
52 2 Display_Char(11+k,3,decimal_store[2-k]);
53 2 }
54 1 }
C51 COMPILER V8.02 SHOW_FLOATDATA1 03/28/2008 20:12:45 PAGE 2
55 /*===============================================================*/
56 /* 函数名称: ten_n.c */
-
57 /* 函数功能: 把小数转换为整数 */
58 /* 参数描述:
59 return_value------------------------------------返回值
60 n-----------------------------------保留的小数点位数*/
61 /*===============================================================*/
62 ten_n(unsigned int n)
63 {
64 1 unsigned int t;
65 1 unsigned int return_value=1;
66 1 t=n;
67 1 while(t--)
68 1 {
69 2 return_value=return_value*10;
70 2 }
71 1 return(return_value);
72 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 365 ----
CONSTANT SIZE = 1472 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 30
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 + -