银行叫号系统程序完全通过老师审核.docx
- 文档编号:24442536
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:32
- 大小:17.97KB
银行叫号系统程序完全通过老师审核.docx
《银行叫号系统程序完全通过老师审核.docx》由会员分享,可在线阅读,更多相关《银行叫号系统程序完全通过老师审核.docx(32页珍藏版)》请在冰豆网上搜索。
银行叫号系统程序完全通过老师审核
主机程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitKEY0=P1^0;
sbitKEY1=P1^1;
sbitKEY2=P1^2;
sbitKEY3=P1^3;
sbitKEY4=P1^4;
sbitKEY5=P1^5;
sbitLED=P2^0;
ucharcodetable0[]="WELCOMETOICBC!
";
ucharcodetable1[]="YourNo.is";
ucharcodetable2[]="Thequeueis";
ucharcodetable3[]="full,pleasewait";
ucharcodetable4[]="CASHSERVICE";
ucharcodetable5[]="PERSONALSERVICE";
ucharcodetable6[]="VIPSERVICE";
ucharcodetable7[]="WT-";
//charcodedx516[3]_at_0x003b;
sbitEN=P2^7;
sbitRW=P2^6;
sbitRS=P2^5;
ucharnum;
uintk;
ucharrevers(ucharb)
{
uchari,c=0x00,x,mask=0x80;
for(i=0;i<8;i++)
{
if((mask&b)==0)
{
x=0;
}
else
x=1;
c=c|x;
c=_cror_(c,1);
mask>>=1;
}
returnc;
}
voiddelay(uintx)
{
uchari;
while(x--)
for(i=0;i<120;i++);
}
voiddelay1(uintx1)
{
uchari1,i2=10;
while(x1--)
while(i2--)
for(i1=0;i1<120;i1++);
}
voidled0(uinty)
{
LED=0;
delay(y);
LED=1;
}
ucharBusy_Check()
{
ucharLCD_Status;
//P0=0xff;
RS=0;
RW=1;
EN=1;
delay
(1);
P0=revers(P0);
LCD_Status=P0;
EN=0;
returnLCD_Status;
}
voidwrite_com(ucharcom)
{
while((Busy_Check()&0x80)==0x80);
RS=0;
RW=0;
com=revers(com);
EN=0;
P0=com;
EN=1;
delay(5);
EN=0;
}
voidwrite_data(uchardat)
{
while((Busy_Check()&0x80)==0x80);
RS=1;
RW=0;
dat=revers(dat);
EN=0;
P0=dat;
EN=1;
delay(5);
EN=0;
}
voidinit0()
{
delay(15);
write_com(0x38);
delay(5);
write_com(0x38);
delay(5);
write_com(0x38);
write_com(0x38);
write_com(0x0c);//显示开关,显示功能开,有光标,光标不闪烁
delay(5);
write_com(0x06);//字符进入模式,写入新数据后光标右移,写入新数据后显示屏不移动
delay(5);
write_com(0x01);
delay(100);
}
voidinit1()
{
SCON=0x50;
TMOD=0x20;
PCON=0x00;
TH1=TL1=0xfd;
TR1=1;
TI=0;
RI=0;
EA=1;
ES=1;
REN=1;
}
voidserial()interrupt4
{
staticuintcount3;
if(RI==1)
{
RI=0;
count3=SBUF;
k=count3;
delay(50);
}
}
charcodedx516[3]_at_0x003b;
voidmain()
{
ucharcount,count1,count2,flag,flag1=0,flag2=0,flag3=0,count4,count5;
delay(50);
while
(1)
{
KEY0=1;
KEY1=1;
KEY2=1;
KEY3=1;
if((KEY0==0)||(KEY1==0)||(KEY2==0))
{
delay(24);
count++;
flag1=1;
flag2=1;
flag3=1;
if(KEY0==0)
flag=0;
elseif(KEY1==0)
flag=1;
elseif(KEY2==0)
flag=2;
while((KEY0!
=1)||(KEY1!
=1)||(KEY2!
=1));
delay(24);
}
if(flag1==1)
{
led0(100);
flag1=0;
}
if(flag2==1)
{
init1();
delay(50);
SBUF=count;
delay(50);
while(TI==0);
TI=0;
flag2=0;
}
if(flag3==0)
{
init0();
write_com(0x80+0x00);
for(num=0;num<16;num++)
{
write_data(table0[num]);
delay(5);
}
delay1(5);
}
else
{
flag3=0;
if((count-k)<21)
{
init0();
/*init1();
delay(50);
SBUF=count;
delay(50);
while(TI==0);
TI=0;*/
count1=count/10+'0';
count2=count%10+'0';
count4=(count-k-1)/10+'0';
count5=(count-k-1)%10+'0';
write_com(0x80+0x00);
for(num=0;num<11;num++)
{
write_data(table1[num]);
delay(5);
}
write_com(0x80+0x0c);
write_data(count1);
delay(5);
write_com(0x80+0x0d);
write_data(count2);
delay(5);
write_com(0x80+0x0e);
write_data('!
');
delay(5);
switch(flag)
{
case0:
write_com(0x80+0x40);
for(num=0;num<12;num++)
{
write_data(table4[num]);
delay(5);
}
break;
case1:
write_com(0x80+0x40);
for(num=0;num<16;num++)
{
write_data(table5[num]);
delay(5);
}
break;
case2:
write_com(0x80+0x40);
for(num=0;num<11;num++)
{
write_data(table6[num]);
delay(5);
}
break;
}
delay1(5);
write_com(0x80+0x00);
for(num=0;num<3;num++)
{
write_data(table7[num]);
delay(5);
}
write_com(0x80+0x03);
write_data(count4);
delay(5);
write_com(0x80+0x04);
write_data(count5);
delay(5);
write_com(0x80+0x05);
for(num=0;num<16;num++)
write_data('');
delay(5);
delay1(10);
}
else
{
init0();
write_com(0x80+0x00);
for(num=0;num<12;num++)
{
write_data(table2[num]);
delay(5);
}
write_com(0x80+0x40);
for(num=0;num<16;num++)
{
write_data(table3[num]);
delay(5);
}
delay1(10);
}
}
}
}
从机程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitKEY0=P1^0;
sbitKEY1=P1^1;
sbitKEY2=P1^2;
sbitKEY3=P1^3;
sbitKEY4=P1^4;
sbitbeep=P2^0;
ucharcodetable0[]="No.";
ucharcodetable4[]="cometoNo";
ucharcodetable5[]="window,please!
";
ucharcodetable2[]="Sorry,thequeue";
ucharcodetable3[]="isempty!
";
ucharcodetable6[]="Pleasecall!
";
ucharcodetable7[]="Pleaserate";
ucharcodetable8[]="myservice:
";
ucharcodetable9[]="Thankyou!
";
sbitEN=P2^7;
sbitRW=P2^6;
sbitRS=P2^5;
ucharnum,count=0;
uintcount3[40]={0};
uintn;
ucharrevers(ucharb)
{
uchari,c=0x00,x,mask=0x80;
for(i=0;i<8;i++)
{
if((mask&b)==0)
{
x=0;
}
else
x=1;
c=c|x;
c=_cror_(c,1);
mask>>=1;
}
returnc;
}
voiddelay(uintx)
{
uchari;
while(x--)
for(i=0;i<120;i++);
}
voiddelay2(uintx2)
{
uchari3;
while(x2--)
for(i3=0;i3<60;i3++);
}
voiddelay1(uintx1)
{
uchari1,i2=10;
while(x1--)
while(i2--)
for(i1=0;i1<120;i1++);
}
voidspeaker(uinty,uintth,uinttl)
{
uintj;
for(j=0;j { beep=0; delay2(th); beep=1; delay2(tl); } } ucharBusy_Check() { ucharLCD_Status; RS=0; RW=1; EN=1; delay (1); P0=revers(P0); LCD_Status=P0; EN=0; returnLCD_Status; } voidwrite_com(ucharcom) { while((Busy_Check()&0x80)==0x80); RS=0; RW=0; com=revers(com); EN=0; P0=com; EN=1; delay(5); EN=0; } voidwrite_data(uchardat) { while((Busy_Check()&0x80)==0x80); RS=1; RW=0; dat=revers(dat); EN=0; P0=dat; EN=1; delay(5); EN=0; } voidinit0() { delay(15); write_com(0x38); delay(5); write_com(0x38); delay(5); write_com(0x38); write_com(0x38); write_com(0x0c);//显示开关,显示功能开,有光标,光标不闪烁 delay(5); write_com(0x06);//字符进入模式,写入新数据后光标右移,写入新数据后显示屏不移动 delay(5); write_com(0x01); delay(100); } voidinit1() { SCON=0x50; TMOD=0x20; PCON=0x00; TH1=TL1=0xfd; TR1=1; TI=0; RI=0; REN=1; EA=1; ES=1; } voidshow0() { write_com(0x80+0x00); for(num=0;num<3;num++) { write_data(table0[num]); delay(5); } } voidshow4() { write_com(0x80+0x05); for(num=0;num<11;num++) { write_data(table4[num]); delay(5); } } voidshow5() { write_com(0x80+0x40+0x02); for(num=0;num<14;num++) { write_data(table5[num]); delay(5); } } voidserial()interrupt4 { staticuintm; if(RI==1) { RI=0; n=m; count3[m++]=SBUF; delay(50); SBUF=count; delay(50); } else TI=0; } charcodedx516[3]_at_0x003b; voidmain() { ucharcount1,count2,flag,flag1=0,flag2=0,flag3=0,k1,count4=0,count5=1; init1(); delay(50); while (1) { KEY0=1; KEY1=1; KEY2=1; KEY3=1; KEY4=1; if((KEY0==0)||(KEY1==0)||(KEY2==0)||(KEY3==0)) { delay (1); if(KEY0==0) { flag=0; count++; flag1=1; flag2=1; } elseif(KEY1==0) { flag=1; count++; flag1=1; flag2=1; } elseif(KEY2==0) { flag=2; count++; flag1=1; flag2=1; } elseif(KEY3==0) count4++; while((KEY0! =1)||(KEY1! =1)||(KEY2! =1)||(KEY3! =1)); delay (1); } if(flag1==1) { speaker(100,5,1); flag1=0; } if(count4==1) { //init0(); write_com(0x80+0x00); for(num=0;num<16;num++) { write_data(table7[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<11;num++) { write_data(table8[num]); delay(5); } //delay1(5); //delay(24); if(KEY4==0) count5++; if(count5==6) count5=1; while(KEY4! =1); //delay(24); write_com(0x80+0x40+0x0b); write_data((count5+'0')); delay(5); delay1(5); } elseif(count4==2) { init0(); write_com(0x80+0x00); for(num=0;num<16;num++) { write_data(table9[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<11;num++) { write_data(''); delay(5); } delay1(5); count5=1; count4=0; } if(count3[n]>100) { k1=count3[n]-100; flag3=1; } if((flag2==0)&&(count4==0)) { if(count3[n]==0) { init0(); write_com(0x80+0x00); for(num=0;num<15;num++) { write_data(table2[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<9;num++) { write_data(table3[num]); delay(5); } delay1(5); } elseif((count3[n]>count)&&(flag3==0)) { init0(); write_com(0x80+0x00); for(num=0;num<12;num++) { write_data(table6[num]); delay(5); } delay1(5); } elseif((count3[n-1]>count)&&(flag3==1)) { init0(); write_com(0x80+0x00); for(num=0;num<12;num++) { write_data(table6[num]); delay(5); } delay1(5); } } elseif(flag2==1) { /*count3=SBUF; delay(50); while(RI==0); RI=0;*/ flag2=0; if(flag3==1) { flag3=0; if(count>count3[n-1]) { //flag3=0; count--; init0(); write_com(0x80+0x00); for(num=0;num<15;num++) { write_data(table2[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<9;num++) { write_data(table3[num]); delay(5); } delay1(5); } else//if(count<=count3[n-1]) { if(count { //count++; /*count=SBUF; delay(50); while(TI==0); TI=0;*/ init0(); show0(); count1=count/10+'0'; count2=count%10+'0'; write_com(0x80+0x03); write_data(count1); delay(5); write_com(0x80+0x04); write_data(count2); delay(5); show4(); write_com(0x80+0x40); write_data('.'); switch(flag) { case0: write_com(0x80+0x40+0x01); write_data('1'); delay(100); show5(); break; case1: write_com(0x80+0x40+0x01); write_data('2'); delay(100); show5(); break; case2: write_com(0x80+0x40+0x01); write_data('
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 叫号 系统 程序 完全 通过 老师 审核