📄 实用电子秤.htm
字号:
<P align=center>443 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>444 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>500 </P></TD>
<TD class=style27 width=119>
<P align=center>493 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>494 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>495 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>550 </P></TD>
<TD class=style27 width=119>
<P align=center>552 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>551 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>553 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>600 </P></TD>
<TD class=style27 width=119>
<P align=center>590 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>593 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>594 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>650 </P></TD>
<TD class=style27 width=119>
<P align=center>641 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>641 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>642 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>700 </P></TD>
<TD class=style27 width=119>
<P align=center>689 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>692 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>693 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>750 </P></TD>
<TD class=style27 width=119>
<P align=center>740 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>740 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>741 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>800 </P></TD>
<TD class=style27 width=119>
<P align=center>790 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>791 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>790 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>850 </P></TD>
<TD class=style27 width=119>
<P align=center>839 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>840 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>842 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>900 </P></TD>
<TD class=style27 width=119>
<P align=center>887 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>888 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>888 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>950 </P></TD>
<TD class=style27 width=119>
<P align=center>938 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>938 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>938 </P></TD></TR>
<TR>
<TD class=style27 width=119>
<P align=center>1000 </P></TD>
<TD class=style27 width=119>
<P align=center>986 </P></TD>
<TD class=style27 vAlign=top width=118>
<P align=center>987 </P></TD>
<TD class=style27 vAlign=top width=108>
<P align=center>987 </P></TD></TR></TBODY></TABLE>
<P class=style27>注:由于传感器和其他器件本身并非理想线性,程序中对实测数据进行了线性补偿。 </P>
<P class=style27>误差分析:经校准,非线性补偿后,误差已基本达到要求。 </P>
<P class=style27>所用测量仪器:总重 1Kg的砝码,万用表,示波器 </P>
<P class=style27 align=center><STRONG>第四部分:使用操作说明 </STRONG></P>
<P class=style27>本系统采用 32键键盘来实现,分为数字键:0-9,商品1-商品10,6个控制键。 </P>
<P class=style27>本系统开机显示公司名称,后提示输入收银员编号和当前日期。正确输入后,进入称重显示。 </P>
<P class=style27>数字键和小数点键:用于输入单价; </P>
<P class=style27>累加键:相当于确认,可以将当然信息保存至购物清单;并且将金额累加,得到所购买商品的总金额。 </P>
<P class=style27>去皮键:用于去除皮重; </P>
<P class=style27>清单价:用于输入的单价错误的时候,重新输入; </P>
<P
class=style27>购物清单键:当需要显示当前顾客的总的购物清单时,可以连续按下购物清单键,分页显示所购买的商品信息,并且若以达到最后一页,则显示总计金额,收银员编号,和公司名称,当然日期。
</P>
<P class=style27>运行中如果顾客购买已存入的
10种商品,只需按下相应的商品键,既可以将商品的名称和单价以中文的形式显示,同样累加键保存此商品的信息,包括其重量,金额和当前累计金额。 </P>
<P class=style27>另外,已存入的
10种商品的单价均可重新设置,直接输入其单价即可,方便实用。如果所称重物超过了系统最大量程10Kg,则蜂明器发出报警声音。 </P>
<P class=style27 align=center> </P>
<P class=style27 align=center> </P>
<P class=style27 align=center><STRONG>第五部分:附录 </STRONG></P>
<P class=style27>电子秤的信号采集、处理、显示的程序 . </P>
<P class=style27>#include <reg52.h> </P>
<P class=style27>#include<absacc.h> </P>
<P class=style27>//ad 控制线 </P>
<P class=style27>#define ad_244 XBYTE[0xbfff]; </P>
<P class=style27>sbit ad_stb=P3^3; </P>
<P class=style27>sbit ad_start=P1^1; </P>
<P class=style27>//lcd 控制线 </P>
<P class=style27>sbit lcd_di=P1^7; </P>
<P class=style27>sbit lcd_rw=P1^2; </P>
<P class=style27>sbit lcd_e=P1^0; </P>
<P class=style27>//7289 控制线 </P>
<P class=style27>sbit cs7289=P1^3; </P>
<P class=style27>sbit clk7289=P1^4; </P>
<P class=style27>sbit dio7289=P1^5; </P>
<P class=style27>//sbit key7289=P1^6; //7289 查询方式 </P>
<P class=style27>sbit key7289=P3^2; //7289 中断方式 </P>
<P class=style27>sbit baoj=P3^5; </P>
<P class=style27>//7289 子程序 </P>
<P class=style27>void ini_7289(void); </P>
<P class=style27>void send7289(short); </P>
<P class=style27>short receive(void); </P>
<P class=style27>void keyin(void); </P>
<P class=style27>//lcd 子程序 </P>
<P class=style27>void ini_lcd(void); </P>
<P class=style27>void lcdd_send(short); </P>
<P class=style27>void lcdi_send(short); </P>
<P class=style27>void chk_busy(void); </P>
<P class=style27>//ad 子程序 </P>
<P class=style27>void ad(void); </P>
<P class=style27>void baojing(void); </P>
<P class=style27>void d_change(long); </P>
<P class=style27>// 初始化,编号,日期 </P>
<P class=style27>void ini(); </P>
<P class=style27>void error1(void); </P>
<P class=style27>void nop1() </P>
<P class=style27>{} </P>
<P class=style27>void change(s) </P>
<P class=style27>int dealy; // 全局变量 </P>
<P class=style27>short sh=0; // 商品号 </P>
<P class=style27>short dot=0; // 小数点标志 </P>
<P class=style27>bit list=0; </P>
<P class=style27>short qb=0; </P>
<P class=style27>char xdata shuju[7]=""; </P>
<P class=style27>short xdata bcd[5]; </P>
<P class=style27>char xdata s1[16]=" 单价 : 元 "; </P>
<P class=style27>char xdata s2[16]=" 重量 : Kg"; </P>
<P class=style27>char xdata s3[16]=" 金额 : 元 "; </P>
<P class=style27>char xdata s4[16]=" 累计 : 元 "; </P>
<P class=style27>char code message0[]=" 信息学院 山东大学 "; </P>
<P class=style27>char code message1[]=" 输入收银员代号 :"; </P>
<P class=style27>char code message2[]=" 输入日期 :"; </P>
<P class=style27>char code message3[16]=" -- 山东大学 -- "; </P>
<P class=style27>char code message5[16]=" 垃圾公司欢迎您 !!"; </P>
<P class=style27>char xdata bianhao[16]=" 收银员: "; </P>
<P class=style27>char xdata riqi[16]=" - - "; </P>
<P class=style27>long int xdata zongjia=0,jine=0,jine1=0; </P>
<P class=style27>int xdata shizhong=0,pizhong=0,zhongliang=0; </P>
<P class=style27>long int xdata qingdan[20][4]; </P>
<P class=style27>char code shangpin[11][4]={{" 单价 "},{" 苹果 "},{" 梨 "},{" 花生
"},{" 大米 "}, </P>
<P class=style27>{" 桃子 "},{" 塑料 "},{" 瓜子 "},{" 桔子 "},{" 香蕉 "},{" 玉米 "}}; </P>
<P class=style27>long int xdata danjia[11]= </P>
<P class=style27>{0,2000,3635,5502,6660,3320,5502,660,3210,6600,5600}; </P>
<P class=style27>char xdata jiage[6]={0x0,0x0,0x0,0xfe,0x0,0x0}; // 0.00 </P>
<P class=style27>short xdata xiuzheng[]={0,2,5,6,7,8,9,12,13}; </P>
<P class=style27>char s[16]; </P>
<P class=style27>{s[6]=shuju[0]; </P>
<P class=style27>s[7]=shuju[1]; </P>
<P class=style27>s[8]=shuju[2]; </P>
<P class=style27>s[9]=shuju[3]; </P>
<P class=style27>s[10]=shuju[4]; </P>
<P class=style27>s[11]=shuju[5]; </P>
<P class=style27>s[12]=shuju[6]; </P>
<P class=style27>} </P>
<P
class=style27>//****************************************************************
</P>
<P class=style27>void main() </P>
<P class=style27>{short i,j; </P>
<P class=style27>long int x,z; </P>
<P class=style27>int y; </P>
<P class=style27>int xdata duilie[3]={0}; </P>
<P class=style27>P1=0xff; </P>
<P class=style27>ini_lcd(); // 初始化 LCD </P>
<P class=style27>lcdi_send(0x8a); </P>
<P class=style27>while(message0[i]) lcdd_send(message0[i++]); </P>
<P class=style27>ini_7289(); // 初始化 7289 </P>
<P class=style27>pizhong=ad1(); </P>
<P class=style27>lcdi_send(0x1); // 总清 屏 </P>
<P class=style27>ini(); // 初始页面 , 收银员编号,日期 </P>
<P class=style27>lcdi_send(0x1); // 总清 屏 </P>
<P class=style27>EA=1;EX0=1; // 中断 </P>
<P class=style27>//EX1=1; </P>
<P class=style27>//ad_start=1; </P>
<P class=style27>while(1) </P>
<P class=style27>{if(list){lcdi_send(0x80); // 显示单位名称 </P>
<P class=style27>for(i=0;i<16;i++) lcdd_send(message3[i]); </P>
<P class=style27>x=qingdan[0][0]; // 商品名 单价 </P>
<P class=style27>for(i=0;i<4;i++) s1[i]=shangpin[x][i]; </P>
<P class=style27>x=qingdan[0][1]; </P>
<P class=style27>d_change(x); change(s1); </P>
<P class=style27>lcdi_send(0x90); </P>
<P class=style27>for(i=0;i<16;i++) lcdd_send(s1[i]); </P>
<P class=style27>x=qingdan[0][2]; // 显示重量 </P>
<P class=style27>d_change(x); change(s2); </P>
<P class=style27>s2[10]=s2[9];s2[9]='.'; </P>
<P class=style27>if(s2[8]==32) s2[8]=0x30; </P>
<P class=style27>lcdi_send(0x88); </P>
<P class=style27>for(i=0;i<16;i++) lcdd_send(s2[i]); </P>
<P class=style27>x=qingdan[0][3]; </P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -