📄 datadeal.lst
字号:
C51 COMPILER V8.05a DATADEAL 05/26/2008 11:05:26 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE DATADEAL
OBJECT MODULE PLACED IN datadeal.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE datadeal.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<def.h>
2 ulong adcdata_int; //不放重物时的初值
3 ulong adcdata_mea; //放重物时的值
4 ulong weight; //重量
5 ulong price; //单价
6 ulong money; //金额
7 uchar num[6]={0};
8 void datamanage()
9 {
10 1 uint datal,weightl;
11 1 OFFSPEAK;
12 1 if(adcdata_mea<=adcdata_int)
13 1 {
14 2 weight=0;
15 2 }
16 1 else
17 1 {
18 2 weight=(adcdata_mea-adcdata_int)*200/weight_set; //单位为g
19 2 if(adcbit1==0)
20 2 {
21 3 weight/=5; //如果使用的是AD7715,7705将精度设置为5g
22 3 weight*=5;
23 3 }
24 2 }
25 1 if(weight>15000)
26 1 {
27 2 ONSPEAK; //超重
28 2 }
29 1
30 1 //消除显示的闪烁
31 1 if(weight>=weightl)
32 1 {
33 2 datal=weight-weightl;
34 2 }
35 1 else
36 1 {
37 2 datal=weightl-weight;
38 2 }
39 1 if(datal<=5) //控制闪烁
40 1 {
41 2 weight=weightl;
42 2 }
43 1
44 1 weightl=weight; //刷新上次称重
45 1
46 1 if(weight<10) //不检测10g以下的物体,同时放置在0点附件的波动
47 1 {
48 2 adcdata_int=adcdata_mea;
49 2 weight=0;
50 2 }
51 1 if(disbit==1)
52 1 {
53 2 //将重量转换为显示数字
54 2 datal=(uint)weight;
55 2 buf_ser[0]=buf_led[datal/10000];
C51 COMPILER V8.05a DATADEAL 05/26/2008 11:05:26 PAGE 2
56 2 datal%=10000;
57 2 buf_ser[1]=buf_ledp[datal/1000]; //固定小数点的位置
58 2 datal%=1000;
59 2 buf_ser[2]=buf_led[datal/100];
60 2 datal%=100;
61 2 buf_ser[3]=buf_led[datal/10];
62 2 datal%=10;
63 2 buf_ser[4]=buf_led[datal];
64 2 //单价
65 2 datal=(uint)price;
66 2 buf_ser[5]=buf_led[datal/10000];
67 2 datal%=10000;
68 2 buf_ser[6]=buf_led[datal/1000];
69 2 datal%=1000;
70 2 buf_ser[7]=buf_ledp[datal/100]; //固定小数点的位置
71 2 datal%=100;
72 2 buf_ser[8]=buf_led[datal/10];
73 2 datal%=10;
74 2 buf_ser[9]=buf_led[datal];
75 2 //金额
76 2 datal=(uint)money;
77 2 buf_ser[10]=buf_led[datal/100000];
78 2 datal%=100000;
79 2 buf_ser[11]=buf_led[datal/10000];
80 2 datal%=10000;
81 2 buf_ser[12]=buf_ledp[datal/1000]; //固定小数点的位置
82 2 datal%=1000;
83 2 buf_ser[13]=buf_led[datal/100];
84 2 datal%=100;
85 2 buf_ser[14]=buf_led[datal/10];
86 2 datal%=10;
87 2 buf_ser[15]=buf_led[datal];
88 2 }
89 1 else
90 1 {
91 2 //将重量转换为显示数字
92 2 datal=(uint)weight;
93 2 buf_ser[15]=buf_lcd[datal/10000];
94 2 datal%=10000;
95 2 buf_ser[14]=buf_lcd[datal/1000];
96 2 datal%=1000;
97 2 buf_ser[13]=buf_lcdp[datal/100]; //固定小数点的位置
98 2 datal%=100;
99 2 buf_ser[12]=buf_lcd[datal/10];
100 2 datal%=10;
101 2 buf_ser[11]=buf_lcd[datal];
102 2 //单价
103 2 datal=(uint)price;
104 2 buf_ser[10]=buf_lcd[datal/10000];
105 2 datal%=10000;
106 2 buf_ser[9]=buf_lcd[datal/1000];
107 2 datal%=1000;
108 2 buf_ser[8]=buf_lcd[datal/100];
109 2 datal%=100;
110 2 buf_ser[7]=buf_lcdp[datal/10]; //固定小数点的位置
111 2 datal%=10;
112 2 buf_ser[6]=buf_lcd[datal];
113 2 //金额
114 2 datal=(uint)money;
115 2 buf_ser[0]=buf_lcd[datal/100000];
116 2 datal%=100000;
117 2 buf_ser[1]=buf_lcd[datal/10000];
C51 COMPILER V8.05a DATADEAL 05/26/2008 11:05:26 PAGE 3
118 2 datal%=10000;
119 2 buf_ser[2]=buf_lcd[datal/1000];
120 2 datal%=1000;
121 2 buf_ser[3]=buf_lcd[datal/100];
122 2 datal%=100;
123 2 buf_ser[4]=buf_lcdp[datal/10]; //固定小数点的位置
124 2 datal%=10;
125 2 buf_ser[5]=buf_lcd[datal];
126 2 }
127 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1404 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 4
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 + -