#include<reg52.h>
#include<bianldy.h>//变量定义
#include<control.h>//lcd的驱动程序
#include<hanssm.h>//函数的声明
#include<ziku.h>
#include<display.h>
#include<iiccon.h>
#include<init.h>//各类数据和函数的初始化
//unsigned char i;
#include<iicdateinit.h>
#include<KANSANF.h>
void delay(uint a)
{
uchar c;
uint b;
for(b=0;b<a;b++)
for(c=0;c<120;c++)
;
}
void buzzer_di()//蜂鸣器di声
{
buzzer=0;
delay(100);
buzzer=1;
}
main()
{
init();
ininticcdate();//E2PROM中数据的初始化
while(1)
{
if(chakc==0)
{
keysanf_chak();
// init();
}
if(chakc==1)
{
display_mima();
chakc=2;
}
if(chakc==2)
{
keysanf_mima();
if(xing>6)
xing=6;
if(xing<0)
xing=0;
keysanf_lk1();
if(lk1bz==1)
{
mima=table_mima[xing-1];
xing--;
lk1bz=0;
}
display_mimax(xing);
table_mima[xing]=mima;
if(xing==6)
{
keysanf_rk1();
if(rk1bz==1)
{
if(table_mima[1]==read_add(1+(cha-1)*8)&&table_mima[2]==read_add(2+(cha-1)*8)&&table_mima[3]==read_add(3+(cha-1)*8)&&table_mima[4]==read_add(4+(cha-1)*8)&&table_mima[5]==read_add(5+(cha-1)*8)&&table_mima[6]==read_add(6+(cha-1)*8))
{chakc=3;}
else
{
chakc=10;
erroncount=read_add(0+(cha-1)*8)+1;
delay(50);
write_add(0+(cha-1)*8,erroncount);
}
rk1bz=0;
xing=0;
}
}
}
if(chakc==3)// 在选择业务下检测1234个按键
{
display_ywxuanze();// 选择业务页面
keysanf_rk1();//取卡
if(rk1bz==1)
{
init();
}
keysanf_rk2();//取款
if(rk2bz==1)
{
chakc=4;
rk2bz=0;
}
keysanf_lk2();//查询余额
if(lk2bz==1)
{
chakc=7;
lk2bz=0;
}
keysanf_lk1();//修改密码
if(lk1bz==1)
{
chakc=9;
lk1bz=0;
}
}
if(chakc==4)//在取款页面下选择金额和退出
{
display_qukuan();//显示取款页面
keysanf_rk1();//退出按键
if(rk1bz==1)
{
chakc=3;
rk1bz=0;
}
keysanf_rk2();//取款200按键
if(rk2bz==1)
{
yue=read_add(7+(cha-1)*8);
if(yue<3)
chakc=13;
else
{
yue=yue-2;
delay(50);
write_add(7+(cha-1)*8,yue);
chakc=5;
}
rk2bz=0;
}
keysanf_lk1();//取款300按键
if(lk1bz==1)
{
yue=read_add(7+(cha-1)*8);
if(yue<3)
chakc=13;
else
{
yue=yue-3;
delay(50);
write_add(7+(cha-1)*8,yue);
chakc=5;
}
lk1bz=0;
}
keysanf_lk2();//取款100按键
if(lk2bz==1)
{
yue=read_add(7+(cha-1)*8);
if(yue<1)
chakc=13;
else
{ yue=yue-1;
delay(50);
write_add(7+(cha-1)*8,yue);
chakc=5;
}
lk2bz=0;
}
}
if(chakc==5)
{
display_zhub();//准备钞票页面
keysanf_zbcp();//检测机器是否为客户准备好钞票
if(zbcpbz==1)
{
chakc=6;
zbcpbz=0;
}
}
if(chakc==6)
{
display_quchao();//等带取走钞票页面
keysanf_qucp();//检测钞票是否被取走
if(qucpbz==1)
{
chakc=3;
qucpbz=0;
}
}
if(chakc==7)
{
display_chax();//查询页面
keysanf_rk1();//退出查询页面
if(rk1bz==1)
{
chakc=3;
rk1bz=0;
}
keysanf_lk1();//余额
if(lk1bz==1)
{
chakc=8;
lk1bz=0;
}
}
if(chakc==8)
{
display_yue();//显示余额页面
keysanf_rk1();//退出
if(rk1bz==1)
{
chakc=3;
rk1bz=0;
}
}
if(chakc==9)
{
keysanf_mima();
if(xing>6)
xing=6;
if(xing<0)
xing=0;
keysanf_lk1();
if(lk1bz==1)
{
mima=table_mima[xing-1];
xing--;
lk1bz=0;
}
display_mimaxg(xing);//密码修改输入新密码是的页面
table_mima[xing]=mima;
if(xing==6)
{
keysanf_rk1();//确定 将新密码写入E2PROM
if(rk1bz==1)
{
write_add(1+(cha-1)*8,table_mima[1]);
delay(50);
write_add(2+(cha-1)*8,table_mima[2]);
delay(50);
write_add(3+(cha-1)*8,table_mima[3]);
delay(50);
write_add(4+(cha-1)*8,table_mima[4]);
delay(50);
write_add(5+(cha-1)*8,table_mima[5]);
delay(50);
write_add(6+(cha-1)*8,table_mima[6]);
delay(50);
chakc=3;
rk1bz=0;
chakc=12;//转向密码修改成功页面
}
}
}
if(chakc==10)
{
if(bool==0)
{
display_erron();//显示密码错误一段时间
delay(2440);
bool=1;
}
if(read_add(0+(cha-1)*8)<3)
{
keysanf_mima();
if(xing>6)
xing=6;
if(xing<0)
xing=0;
keysanf_lk1();
if(lk1bz==1)
{
mima=table_mima[xing-1];
xing--;
lk1bz=0;
}
display_mimaxc(xing);
table_mima[xing]=mima;
if(xing==6)
{
keysanf_rk1();
if(rk1bz==1)
{
if(table_mima[1]==read_add(1+(cha-1)*8)&&table_mima[2]==read_add(2+(cha-1)*8)&&table_mima[3]==read_add(3+(cha-1)*8)&&table_mima[4]==read_add(4+(cha-1)*8)&&table_mima[5]==read_add(5+(cha-1)*8)&&table_mima[6]==read_add(6+(cha-1)*8))
{
chakc=3;
}
else
{
chakc=10;
bool=0;
erroncount=read_add(0+(cha-1)*8);
erroncount++;
delay(50);
write_add(0+(cha-1)*8,erroncount);
}
rk1bz=0;
xing=0;
}
}
}
if(read_add(0+(cha-1)*8)==3)
{
chakc=11;
}
}
if(chakc==11)
{
display_kadongjie();//卡被冻结页面
keysanf_rk1();
if(rk1bz==1)
{
init();
rk1bz=0;
}
}
if(chakc==12)
{
display_mimaxiugaicg();// 密码修改成功页面
keysanf_rk1();//确定
if(rk1bz==1)
{
chakc=3;
rk1bz=0;
}
}
if(chakc==13)
{
display_yuebuzu();//显示余额不足页面
keysanf_rk1();//确定
if(rk1bz==1)
{
chakc=3;
rk1bz=0;
}
}
}
}