出租车计价器程序.docx
- 文档编号:3328224
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:38
- 大小:17.59KB
出租车计价器程序.docx
《出租车计价器程序.docx》由会员分享,可在线阅读,更多相关《出租车计价器程序.docx(38页珍藏版)》请在冰豆网上搜索。
出租车计价器程序
初步程序:
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x86,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[4];
intqw,bw,sw,gw,a,b,c;
voiddisp(void)
{
for(c=3;c>=0;c--)
{
SBUF=tab[sz[c]];
while(!
TI);
TI=0;
}
}
voidscjs(void)interrupt3
{
TH1=0X3C;
TL1=0xB0;
a=a+1;
if(a==2)
{
a=0;
P3_4=!
P3_4;
if(P3_4==0)
{
b=TH0*256+TL0;
///yw=sz[0]=b/100000;
//ww=sz[0]=b/10000%10;
qw=sz[0]=b/1000%10;
bw=sz[1]=b/100%10;
sw=sz[2]=b/10%10;
gw=sz[3]=b%10;
disp();
}
}
}
main()
{
TMOD=0x15;
IE=0X88;
TH1=0X3C;
TL1=0XB0;
TR0=1;
TR1=1;
a=0;
while
(1);
}
2
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[6];
intyw,ww,qw,bw,sw,gw,a,b,c,d,e,f;
voiddisp(void)
{
for(c=5;c>=0;c--)
{
SBUF=tab[sz[c]];
while(!
TI);
TI=0;
}
}
voidscjs(void)interrupt3
{
TH1=0X3C;
TL1=0xB0;
a=a+1;
if(a==2)
{
a=0;
P3_4=!
P3_4;
if(P3_4==0)
{
b=TH0*256+TL0;
d=34;
e=6;
f=7;
qw=sz[0]=b/100000;
bw=sz[1]=b/10000%10;
sw=sz[2]=b/1000%10;
gw=sz[3]=b/100%10;
yw=sz[4]=b/10%10;
ww=sz[5]=b%10;
disp();
}
}
}
main()
{
TMOD=0x15;
IE=0X88;
TH1=0X3C;
TL1=0XB0;
TR0=1;
TR1=1;
a=0;
while
(1);
}
3
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
sbitjia=P2^0;
sbitjian=P2^1;
sbitgl=P2^2;
sbithp=P2^3;
unsignedcharkeycnt=0;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[6];
intyw,ww,qw,bw,sw,gw,a,b,c,d,e,f;
d=46;//单价
e=00;//公里数
f=00;
//jiage=d*e;//金额
voiddisp(void)
{
for(c=5;c>=0;c--)
{
SBUF=tab[sz[c]];
while(!
TI);
TI=0;
}
}
voidKEY()//按键扫描程序
{
unsignedchari,j;
if(hp==0)
{
for(i=20;i>0;i--)//延时去干扰
for(j=248;j>0;j--);
if(hp==0)
{
keycnt++;
switch(keycnt)//按下次数判断
{
case1:
//第一次按下
d=40;
break;
case2:
//第二次按下
d=50;
break;
case3:
//第三次按下
d=60;
keycnt=0;//重新开始判断键值
break;
}
while(hp==0);
}
}
}
voidscjs(void)interrupt3
{
TH1=0X3C;
TL1=0xB0;
a=a+1;
if(a==2)
{
a=0;
P3_4=!
P3_4;
if(P3_4==0)
{
//b=TH0*256+TL0;
f=e*d/10;
qw=sz[0]=d/10%10;
bw=sz[1]=d%10;
sw=sz[2]=e/10%10;
gw=sz[3]=e%10;
yw=sz[4]=f/10%10;
ww=sz[5]=f%10;
if(jia==0)
{d++;}
if(jian==0)
{d--;}
if(gl==0)
{e=5;}
disp();
KEY();
}
}
}
main()
{
voidKEY();
TMOD=0x15;
IE=0X88;
TH1=0X3C;
TL1=0XB0;
TR0=1;
TR1=1;
a=0;
while
(1);
}
4
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
sbitjia=P2^0;
sbitjian=P2^1;
sbitgl=P2^2;
sbithp=P2^3;
sbitj=P2^4;
unsignedcharkeycnt=0;
unsignedcharcnt=0;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[6];
intyw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g;
d=46;//单价
e=00;//公里数
f=00;
//jiage=d*e;//金额
voidjishuqi()
{
if(j==0)
cnt++;
if(cnt=100)
e++;
cnt=0;
}
voiddisp(void)
{
for(c=5;c>=0;c--)
{
SBUF=tab[sz[c]];
while(!
TI);
TI=0;
}
}
voidKEY()//按键扫描程序
{
unsignedchari,j;
if(hp==0)
{
for(i=20;i>0;i--)//延时去干扰
for(j=248;j>0;j--);
if(hp==0)
{
keycnt++;
switch(keycnt)//按下次数判断
{
case1:
//第一次按下
d=46;
break;
case2:
//第二次按下
d=12;
break;
case3:
//第三次按下
d=78;
keycnt=0;//重新开始判断键值
break;
}
while(hp==0);
}
}
}
voidscjs(void)interrupt3
{
TH1=0X3C;
TL1=0xB0;
a=a+1;
if(a==2)
{
a=0;
P3_4=!
P3_4;
if(P3_4==0)
{
//b=TH0*256+TL0;
if(e>3)
f=g;
elsef=5;
//g=e*d/10;
//f=e*d/10+5;
qw=sz[0]=d/10%10;
bw=sz[1]=d%10;
sw=sz[2]=e/10%10;
gw=sz[3]=e%10;
yw=sz[4]=f/10%10;
ww=sz[5]=f%10;
if(jia==0)
{d++;}
if(jian==0)
{d--;}
if(gl==0)
{e=5;}
disp();
KEY();
jishuqi();
}
}
}
main()
{
voidKEY();
TMOD=0x15;
IE=0X88;
TH1=0X3C;
TL1=0XB0;
TR0=1;
TR1=1;
a=0;
while
(1);
}
5
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
sbitjia=P2^0;//价格加
sbitjian=P2^1;//价格减
sbitgl=P2^2;//公里
sbithp=P2^3;//换屏
sbitj=P2^4;//记数
unsignedcharkeycnt=0;
unsignedcharcnt=0;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[6];
intyw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g;
d=46;//单价
e=03;//公里数
f=05;
//jiage=d*e;//金额
/*voidjishuqi()
{
if(j==0)
cnt++;
if(cnt=100)
e++;
cnt=0;
}*//*
voiddisp(void)
{
for(c=5;c>=0;c--)
{
SBUF=tab[sz[c]];
while(!
TI);
TI=0;
}
}
voidKEY()//按键扫描程序
{
unsignedchari,j;
if(hp==0)
{
for(i=20;i>0;i--)//延时去干扰
for(j=248;j>0;j--);
if(hp==0)
{
keycnt++;
switch(keycnt)//按下次数判断
{
case1:
//第一次按下
d=46;
break;
case2:
//第二次按下
d=12;
break;
case3:
//第三次按下
d=78;
keycnt=0;//重新开始判断键值
break;
}
while(hp==0);
}
}
}
voidled(void)
{
qw=sz[0]=d/10%10;
bw=sz[1]=d%10;
sw=sz[2]=e/10%10;
gw=sz[3]=e%10;
yw=sz[4]=f/10%10;
ww=sz[5]=f%10;
}
voidscjs(void)interrupt3
{
TH1=0X3C;
TL1=0xB0;
a=a+1;
if(a==2)
{
a=0;
P3_4=!
P3_4;
if(P3_4==0)
{
//b=TH0*256+TL0;
//f=5;
if(jia==0)
{d++;}
if(jian==0)
{d--;}
if(gl==0)
{e++;}
if(e>3)
{
g=e*d/10;
f=g;
}
//f=e*d/10+5;
led();
disp();
KEY();
jishuqi();
}
}
}
main()
{
voidKEY();
TMOD=0x15;
IE=0X88;
TH1=0X3C;
TL1=0XB0;
TR0=1;
TR1=1;
a=0;
while
(1);
}
6
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
sbitjia=P2^0;//价格加
sbitjian=P2^1;//价格减
sbitgl=P2^2;//公里
sbithp=P2^3;//换屏
sbitj=P2^4;//记数
unsignedcharkeycnt=0;
unsignedcharcnt=0;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[6];
intyw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g;
d=46;//单价
e=03;//公里数
f=05;
//jiage=d*e;//金额
voidjishuqi()
{
if(j==0)
{
cnt++;
switch(cnt)
{
case10:
e++;
cnt=0;
break;
while(hp==0);
}
}
}
voiddisp(void)
{
for(c=5;c>=0;c--)
{
SBUF=tab[sz[c]];
while(!
TI);
TI=0;
}
}
voidKEY()//按键扫描程序
{
unsignedchari,j;
if(hp==0)
{
for(i=20;i>0;i--)//延时去干扰
for(j=248;j>0;j--);
if(hp==0)
{
keycnt++;
switch(keycnt)//按下次数判断
{
case1:
//第一次按下
d=46;
break;
case2:
//第二次按下
d=12;
break;
case3:
//第三次按下
d=78;
keycnt=0;//重新开始判断键值
break;
}
while(hp==0);
}
}
}
voidled(void)
{
qw=sz[0]=d/10%10;
bw=sz[1]=d%10;
sw=sz[2]=e/10%10;
gw=sz[3]=e%10;
yw=sz[4]=f/10%10;
ww=sz[5]=f%10;
}
voidscjs(void)interrupt3
{
TH1=0X3C;
TL1=0xB0;
a=a+1;
if(a==2)
{
a=0;
P3_4=!
P3_4;
if(P3_4==0)
{
//b=TH0*256+TL0;
//f=5;
if(jia==0)
{d++;}
if(jian==0)
{d--;}
if(gl==0)
{e++;}
if(e>3)
{
g=e*d/10;
f=g;
}
led();
disp();
KEY();
jishuqi();
}
}
}
main()
{
voidKEY();
TMOD=0x15;
IE=0X88;
TH1=0X3C;
TL1=0XB0;
TR0=1;
TR1=1;
a=0;
while
(1);
}
7
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
sbitjia=P2^0;//价格加
sbitjian=P2^1;//价格减
sbitgl=P2^2;//公里
sbithp=P2^3;//换屏
sbitj=P2^4;//记数
unsignedcharkeycnt=0;
unsignedcharcnt=0;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[6];
intyw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g,u,v,w,z;
d=46;//单价
e=03;//公里数
f=05;
u=12;//时
v=00;//分
w=00;//秒
//jiage=d*e;//金额
voidjishuqi()
{
if(j==0)
{
cnt++;
switch(cnt)
{
case10:
e++;
cnt=0;
break;
while(hp==0);
}
}
}
voiddisp(void)
{
for(c=5;c>=0;c--)
{
SBUF=tab[sz[c]];
while(!
TI);
TI=0;
}
}
voidKEY()//按键扫描程序
{
unsignedchari,j;
if(hp==0)
{
for(i=20;i>0;i--)//延时去干扰
for(j=248;j>0;j--);
if(hp==0)
{
keycnt++;
switch(keycnt)//按下次数判断
{
case1:
//第一次按下
d=46;
break;
case2:
//第二次按下
d=12;
break;
case3:
//第三次按下
d=78;
keycnt=0;//重新开始判断键值
break;
}
while(hp==0);
}
}
}
voidled(void)//显示时间
{
z=TH0*256+TL0;
if(z>3)
{
w++;z=0;
}
if(w>59)
{
v++;w=0;
}
if(v>59)
{
u++;v=0;
}
if(u>23)
{
u=0;
}
qw=sz[0]=u/10%10;
bw=sz[1]=u%10;
sw=sz[2]=v/10%10;
gw=sz[3]=v%10;
yw=sz[4]=w/10%10;
ww=sz[5]=w%10;
}
voidled1(void)//显示价格里程金额
{
qw=sz[0]=d/10%10;
bw=sz[1]=d%10;
sw=sz[2]=e/10%10;
gw=sz[3]=e%10;
yw=sz[4]=f/10%10;
ww=sz[5]=f%10;
}
voidscjs(void)interrupt3
{
TH1=0X3C;
TL1=0xB0;
a=a+1;
if(a==3)
{
a=0;
P3_4=!
P3_4;
if(P3_4==0)
{
//b=TH0*256+TL0;
//f=5;
if(jia==0)
{d++;}
if(jian==0)
{d--;}
if(gl==0)
{e++;}
if(e>3)
{
g=e*d/10;
f=g;
}
led();
disp();
KEY();
jishuqi();
}
}
}
main()
{
voidKEY();
TMOD=0x15;
IE=0X88;
TH1=0X3C;
TL1=0XB0;
TR0=1;
TR1=1;
a=0;
while
(1);
}
8
#include
#defineucharunsignedchar
sbitP3_4=P3^4;
sbitjia=P2^0;//价格加
sbitjian=P2^1;//价格减
sbitgl=P2^2;//公里
sbithp=P2^3;//换屏
sbitj=P2^4;//记数
unsignedcharkeycnt=0;
unsignedcharcnt=0;
//codeuchartab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};
//codeuchartab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};
codeuchartab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,};
ucharsz[6];
intyw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g,u,v,w,z;
d=46;//单价
e=03;//公里数
f=05;
u=12;//时
v=00;//分
w=00;//秒
//jiage=d*e;//金额
voidjishuqi()
{
if(j==0)
{
cnt++;
switch(cnt)
{
case10:
e++;
cnt=0;
break;
while(hp==0);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 计价器 程序