您的位置 首页 基础

电子秤AD TM7710/TM7709测验程序

includereg52h>includeabsacch>ad控制线definead_244XBYTE[0xbfff];sbitad_stb=P3^3;sbitad_start=P1^1;

#include

#include
//ad 控制线
#define ad_244 XBYTE[0xbfff];
sbit ad_stb=P3^3;
sbit ad_start=P1^1;
//lcd 控制线
sbit lcd_di=P1^7;
sbit lcd_rw=P1^2;
sbit lcd_e=P1^0;
//7289 控制线
sbit cs7289=P1^3;
sbit clk7289=P1^4;
sbit dio7289=P1^5;
//sbit key7289=P1^6; //7289 查询方法
sbit key7289=P3^2; //7289 中止方法
sbit baoj=P3^5;
//7289 子程序
void ini_7289(void);
void send7289(short);
short receive(void);
void keyin(void);
//lcd 子程序
void ini_lcd(void);
void lcdd_send(short);
void lcdi_send(short);
void chk_busy(void);
//ad 子程序
void ad(void);
void baojing(void);
void d_change(long);
// 初始化,编号,日期
void ini();
void error1(void);
void nop1()
{}
void change(s)
int dealy; // 全局变量
short sh=0; // 产品号
short dot=0; // 小数点标志
bit list=0;
short qb=0;
char xdata shuju[7]=””;
short xdata bcd[5];
char xdata s1[16]=” 单价 : 元 “;
char xdata s2[16]=” 分量 : Kg”;
char xdata s3[16]=” 金额 : 元 “;
char xdata s4[16]=” 累计 : 元 “;
char code message0[]=” 大学 “;
char code message1[]=” 输入收银员代号 :”;
char code message2[]=” 输入日期 :”;
char code message3[16]=” — 大学 — “;
char code message5[16]=”闽潘实业有限公司欢迎您 !!”;
char xdata bianhao[16]=” 收银员: “;
char xdata riqi[16]=” – – “;
long int xdata zongjia=0,jine=0,jine1=0;
int xdata shizhong=0,pizhong=0,zhongliang=0;
long int xdata qingdan[20][4];
char code shangpin[11][4]={{” 单价 “},{” 苹果 “},{” 梨 “},{” 花生 “},{” 大米 “},
{” 桃子 “},{” 塑料 “},{” 瓜子 “},{” 桔子 “},{” 香蕉 “},{” 玉米 “}};
long int xdata danjia[11]=
{0,2000,3635,5502,6660,3320,5502,660,3210,6600,5600};
char xdata jiage[6]={0x0,0x0,0x0,0xfe,0x0,0x0}; // 0.00
short xdata xiuzheng[]={0,2,5,6,7,8,9,12,13};
char s[16];
{s[6]=shuju[0];
s[7]=shuju[1];
s[8]=shuju[2];
s[9]=shuju[3];
s[10]=shuju[4];
s[11]=shuju[5];
s[12]=shuju[6];
}
//****************************************************************
void main()
{short i,j;
long int x,z;
int y;
int xdata duilie[3]={0};
P1=0xff;
ini_lcd(); // 初始化 LCD
lcdi_send(0x8a);
while(message0[i]) lcdd_send(message0[i++]);
ini_7289(); // 初始化 7289
pizhong=ad1();
lcdi_send(0x1); // 总清 屏
ini(); // 初始页面 , 收银员编号,日期
lcdi_send(0x1); // 总清 屏
EA=1;EX0=1; // 中止
//EX1=1;
//ad_start=1;
while(1)
{if(list){lcdi_send(0x80); // 显现单位名称
for(i=0;i<16;i++) lcdd_send(message3[i]);
x=qingdan[0][0]; // 产品名 单价
for(i=0;i<4;i++) s1[i]=shangpin[x][i];
x=qingdan[0][1];
d_change(x); change(s1);
lcdi_send(0x90);
for(i=0;i<16;i++) lcdd_send(s1[i]);
x=qingdan[0][2]; // 显现分量
d_change(x); change(s2);
s2[10]=s2[9];s2[9]=.;
if(s2[8]==32) s2[8]=0x30;
lcdi_send(0x88);
for(i=0;i<16;i++) lcdd_send(s2[i]);
x=qingdan[0][3];
d_change(x); change(s3);
lcdi_send(0x98);
for(i=0;i<16;i++) lcdd_send(s3[i]); // 以上为第一页
EA=0;EX0=0; // 关键盘中止
for(j=1;j
{while(key7289);
x=qingdan[j][2];
d_change(x); change(s2); // 显现数据
s2[10]=s2[9];
s2[9]=.; if(s2[8]==32) s2[8]=0x30;
lcdi_send(0x90);
for(i=0;i<16;i++) lcdd_send(s2[i]);
x=qingdan[j][1];
d_change(x); change(s1);
x=qingdan[j][0];
for(i=0;i<4;i++) s1[i]=shangpin[x][i];
lcdi_send(0x80);
for(i=0;i<16;i++) lcdd_send(s1[i]);
x=qingdan[j][3];
d_change(x); change(s3);
lcdi_send(0x88);
for(i=0;i<16;i++) lcdd_send(s3[i]);
lcdi_send(0x98);
for(i=0;i<16;i++) lcdd_send(0x20);
lcdi_send(0x98);
while(key7289==0);
}
while(key7289);
d_change(zongjia); change(s4);
lcdi_send(0x80);
for(i=0;i<16;i++) lcdd_send(s4[i]);
lcdi_send(0x90);
for(i=0;i<16;i++) lcdd_send(bianhao[i]);
lcdi_send(0x88);
for(i=0;i<16;i++) lcdd_send(message5[i]);
lcdi_send(0x98);
for(i=0;i<16;i++) lcdd_send(riqi[i]);
list=0;
while(key7289==0);
while(key7289==1);
while(key7289==0);
EA=1;EX0=1;
}
else{ y=0;
/* duilie[2]=duilie[1]; // 数字滤波
duilie[1]=duilie[0];
y=ad1();
duilie[0]=y>>1;
x=duilie[0];
x=x<<1;
x=x+duilie[1]+duilie[2]; */
zhongliang=ad1();
shizhong=zhongliang-pizhong; // 数据转化
x=danjia[sh];
jine1=shizhong*x;
jine=jine1/1000;
d_change(shizhong); change(s2); // 显现数据
s2[10]=s2[9]; s2[9]=.;
if(s2[8]==32) s2[8]=0x30;
lcdi_send(0x90);
for(i=0;i<16;i++) lcdd_send(s2[i]);
d_change(danjia[sh]); change(s1);
for(i=0;i<4;i++) s1[i]=shangpin[sh][i];
lcdi_send(0x80);
for(i=0;i<16;i++) lcdd_send(s1[i]);
d_change(jine); change(s3);
lcdi_send(0x88);
for(i=0;i<16;i++) lcdd_send(s3[i]);
d_change(zongjia); change(s4);
lcdi_send(0x98);
for(i=0;i<16;i++) lcdd_send(s4[i]);
lcdi_send(0x98);
//while(1);
}
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/255598.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部