📄 lcm16864zk.c
字号:
if(i==1)
{
RobData=RobData|0x08;
}
else
{
RobData=RobData&0xf7;
}
}
break;
}
if(RKEY==0)
{
Delay_ms(10);
if(RKEY==0)
{
while(1)
{if(RKEY==1) break;}
WritCommand(0x95);
i=~i;
if(i==1)
{
WritCommand(0x95);
WritData(0xa3);WritData(0xd9);
WritCommand(0x10);
}
else
{
WritCommand(0x95);
WritData(0xa3);WritData(0xce);
WritCommand(0x10);
}
}
WritCommand(0x95);
}
}
}
void EjectSand(void)
{
bit i=1;
WritCommand(0x01);
ShowPart16(); //自动喷沙:Y
ShowPart4();
while(1)
{
if(LKEY==0)
{
Delay_ms(10);
if(LKEY==0)
{
while(1)
{if(LKEY==1) break;}
if(i==1)
{
RobData=RobData|0x10;
}
else
{
RobData=RobData&0xef;
}
}
break;
}
if(RKEY==0)
{
Delay_ms(10);
if(RKEY==0)
{
while(1)
{if(RKEY==1) break;}
WritCommand(0x95);
i=~i;
if(i==1)
{
WritCommand(0x95);
WritData(0xa3);WritData(0xd9);
WritCommand(0x10);
}
else
{
WritCommand(0x95);
WritData(0xa3);WritData(0xce);
WritCommand(0x10);
}
}
}
WritCommand(0x95);
}
}
void FireSet1(uchar num)
{
uchar i,j;
WritCommand(0x0c);
ShowPart14();
while(1)
{
if(LKEY==0)
{
Delay_ms(10);
if(LKEY==0)
{
pdx=0x0300;
i=*pdx;
*pdx=i+1;
pdx=0x0302+i+1;
*pdx=num;
while(1)
{
if(LKEY==1) break;
}
break;
}
}
if(MKEY==0)
{
Delay_ms(10);
if(MKEY==0)
{
WritCommand(0x0e);
FireSet();
while(1)
{
if(LKEY==1) break;
}
break;
}
}
if(RKEY==0)
{
Delay_ms(10); //延时去抖动
if(RKEY==0)
{
pdx=0x0300;
i=*pdx;
*pdx=i+1;
j=EjectorNum();
FireSet1(j);
}
}
ShowTime();
Delay_ms(10);
}
}
void CalenSet(void)
{
uchar i;
WritCommand(0x01); //清零
WritCommand(0x0c);
ShowPart17();
ShowPart5();
ShowTime();
while(1)
{
if(RKEY==0)
{
while(1){if(RKEY==1) break; }
break;
}
if(LKEY==0)
{
while(1) {if(LKEY==1)break;}
CalenSet1();
WritData(0x2f);
CalenSet2();
WritData(0x2f);
CalenSet3();
WritData(0x2f);
CalenSet4();
WritData(0x2f);
i=CalenSet5();
calen[1]=i;
i=CalenSet5();
calen[0]=i;
BurstW1302(calen);
///////////////////////////////////////////
break;
}
}
}
void CalenSet1(void)
{
uchar k=0;
WritCommand(0x98);
WritData(0xc8);WritData(0xb7); //确认
WritData(0xc8);WritData(0xcf);
WritCommand(0x9b);
WritData(0xc9);WritData(0xcf);WritData(0xb7);WritData(0xad); //上翻
WritCommand(0x9e);
WritData(0xcf);WritData(0xc2);WritData(0xb7);WritData(0xad); //下翻
WritCommand(0x80);
WritData(0x20);WritData(0x20);
Delay_ms(150);
WritCommand(0x10);
ShowK(k);
while(1)
{
if(LKEY==0)
{
Delay_ms(10);
if(LKEY==0)
{
while(1){if(LKEY==1)break;} //年
calen[6]=k;
}
break;
}
if(MKEY==0)
{
Delay_ms(10);
if(MKEY==0)
{
while(1){if(MKEY==1)break;}
if(k==0x99)
{
k=0x00;
}
else if((k&0x0f)==9)
{
k=k&0xf0;
k=k+0x10;
}
else {k++;}
WritCommand(0x10);
ShowK(k);
}
}
if(RKEY==0)
{
Delay_ms(10);
if(RKEY==0)
{
while(1){if(RKEY==1)break;}
if(k==0x00)
{
k=0x99;
}
else if((k&0x0f)==0)
{
k=k-0x10;
k=k+0x09;
}
else {k--;}
WritCommand(0x10);
ShowK(k);
}
}
}
}
void CalenSet2(void)
{
uchar k=0;
WritData(0x20);WritData(0x20);
Delay_ms(150);
WritCommand(0x10);
ShowK(k);
// uchar i;
while(1)
{
if(LKEY==0)
{
Delay_ms(10);
if(LKEY==0)
{
while(1){if(LKEY==1)break;}
calen[4]=k; //月
}
break;
}
if(MKEY==0)
{
Delay_ms(10);
if(MKEY==0)
{
while(1){if(MKEY==1)break;}
if(k==0x12)
{
k=0x01;
}
else if(k==9)
{
k=0x10;
}
else {k++;}
WritCommand(0x10);
ShowK(k);
}
}
if(RKEY==0)
{
Delay_ms(10);
if(RKEY==0)
{
while(1){if(RKEY==1)break;}
if(k==0x01)
{
k=0x12;
}
else if(k==0x10)
{
k=0x09;
}
else {k--;}
WritCommand(0x10);
ShowK(k);
}
}
}
}
void CalenSet3(void)
{
uchar k=1;
ShowK(k);
while(1)
{
if(LKEY==0)
{
Delay_ms(10);
if(LKEY==0)
{
while(1){if(LKEY==1)break;}
calen[3]=k; //日
}
break;
}
if(MKEY==0)
{
Delay_ms(10);
if(MKEY==0)
{
while(1){if(MKEY==1)break;}
if(k==0x31)
{
k=0x01;
}
else if((k&0x0f)==9)
{
k=k&0xf0;
k=k+0x10;
}
else {k++;}
WritCommand(0x10);
ShowK(k);
}
}
if(RKEY==0)
{
Delay_ms(10);
if(RKEY==0)
{
while(1){if(RKEY==1)break;}
if(k==0x01)
{
k=0x31;
}
else if((k&0x0f)==0)
{
k=k-0x10;
k=k+0x09;
}
else {k--;}
WritCommand(0x10);
ShowK(k);
}
}
}
}
void CalenSet4(void)
{
uchar k=0;
ShowK(k);
while(1)
{
if(LKEY==0)
{
Delay_ms(10);
if(LKEY==0)
{
while(1){if(LKEY==1)break;}
calen[2]=k; //时
}
break;
}
if(MKEY==0)
{
Delay_ms(10);
if(MKEY==0)
{
while(1){if(MKEY==1)break;}
if(k==0x23)
{
k=0x00;
}
else if((k&0x0f)==9)
{
k=k&0xf0;
k=k+0x10;
}
else {k++;}
WritCommand(0x10);
ShowK(k);
}
}
if(RKEY==0)
{
Delay_ms(10);
if(RKEY==0)
{
while(1){if(RKEY==1)break;}
if(k==0x00)
{
k=0x23;
}
else if((k&0x0f)==0)
{
k=k-0x10;
k=k+0x09;
}
else {k--;}
WritCommand(0x10);
ShowK(k);
}
}
}
}
uchar CalenSet5(void) //分
{
uchar k=0;
ShowK(k);
while(1)
{
if(LKEY==0)
{
Delay_ms(10);
if(LKEY==0)
{
while(1){if(LKEY==1)break;}
return k;
}
break;
}
if(MKEY==0)
{
Delay_ms(10);
if(MKEY==0)
{
while(1){if(MKEY==1)break;}
if(k==0x59)
{
k=0x00;
}
else if((k&0x0f)==9)
{
k=k&0xf0;
k=k+0x10;
}
else {k++;}
WritCommand(0x10);
ShowK(k);
}
}
if(RKEY==0)
{
Delay_ms(10);
if(RKEY==0)
{
while(1){if(RKEY==1)break;}
if(k==0x00)
{
k=0x59;
}
else if((k&0x0f)==0)
{
k=k-0x10;
k=k+0x09;
}
else {k--;}
WritCommand(0x10);
ShowK(k);
}
}
}
}
void ShowK(uchar num)
{
uchar i;
i=num&0xf0;
i=i>>4;
WritData(0x30+i);
i=num&0x0f;
WritData(0x30+i);
}
//////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////报警处理处理
void sever_int1() interrupt 2 using 3
{
EA=0;
P0=0XFF;
P2=0X5F;
_RD=0;
ACC=P0;
P2=0X4F;
_RD=1;
ACC=WARNBYTE;
ACC=ACC&0X0F;
status=ACC;
flag=1;
EA=1;
}
void WarnDeal(void)
{
if(status<8)
{
WritCommand(0x01);
WritCommand(0x90);
WritData(0xb2);WritData(0xdc); //显示抢劫
WritData(0xd7);WritData(0xb3);
WritData(0x20);WritData(0x20);
WritData(0x30);WritData(0x30);
WritData(0x37);WritData(0x20);
WritData(0xc7);WritData(0xc0);
WritData(0xbd);WritData(0xd9);
WritCommand(0x80);
flag=0;
}
if(status==10)
{
WritCommand(0x01);
WritCommand(0x90);
WritData(0xd5);WritData(0xc5); //显示火警
WritData(0xd0);WritData(0xc7);
WritData(0x20);WritData(0x20);
WritData(0x30);WritData(0x30);
WritData(0x38);WritData(0x20);
WritData(0xbb);WritData(0xf0);
WritData(0xbe);WritData(0xaf);
WritCommand(0x80);
flag=0;
}
}
// ///////// //////////////////////////串口中断程序
void sever_es() interrupt 4 using 2
{
EA=0;
TMOD=0x20;
TL1=0xe8;
TH1=0xe8;
ET1=0;
TR1=1;
SCON=0X40;
REN=1;
while(1){if(RI==1) break;}
status=SBUF;
flag1=1;
EA=1;
}
void WarnTaleSet(void)
{
while(1)
{
WritCommand(0x01);
WritCommand(0x81);
WritData(0xb1);WritData(0xa8);WritData(0xbe);WritData(0xaf); //报警电话设置
WritData(0xb5);WritData(0xe7);WritData(0xbb);WritData(0xb0);
WritData(0xc9);WritData(0xe8);WritData(0xd6);WritData(0xc3);
WritCommand(0x90);
WritData(0xa2);WritData(0xb1);WritData(0xc9);WritData(0xe8); //设置报警电话
WritData(0xd6);WritData(0xc3);WritData(0xb1);WritData(0xa8);
WritData(0xbe);WritData(0xaf);WritData(0xb5);WritData(0xe7);
WritData(0xbb);WritData(0xb0);
WritCommand(0x88);
WritData(0xa2);WritData(0xb2);WritData(0xc9);WritData(0xe8); //设置语音芯片
WritData(0xd6);WritData(0xc3);WritData(0xd3);WritData(0xef);
WritData(0xd2);WritData(0xfa);WritData(0xd0);WritData(0xbe);
WritData(0xb6);WritData(0xac);
WritCommand(0x98);
WritData(0xa2);WritData(0xb3);WritData(0xb4);WritData(0xe6); //存储号码查询
WritData(0xb4);WritData(0xa2);WritData(0xba);WritData(0xc5);
WritData(0xcc);WritData(0xeb);WritData(0xb2);WritData(0xe9);
WritData(0xd1);WritData(0xaf);
if(flag1)
{
flag1=0;
if(status==1)
{
WarnTelephone();
}
if(status==2)
{
// ChipSet();
}
if(status==3)
{
// CheckNum();
}
if(status==0x0f)
{
break;
}
}
Delay_ms(100);
}
}
void WarnTelephone(void)
{
while(1)
{
WritCommand(0x01);
WritCommand(0x90);
WritData(0xa2);WritData(0xb1);WritData(0xc9);WritData(0xe8); //1.设置火警电话
WritData(0xd6);WritData(0xc3);WritData(0xbb);WritData(0xf0);
WritData(0xbe);WritData(0xaf);WritData(0xb5);WritData(0xe7);
WritData(0xbb);WritData(0xb0);
WritCommand(0x88);
WritData(0xa2);WritData(0xb2);WritData(0xc9);WritData(0xe8); //2.设置盗警电话
WritData(0xd6);WritData(0xc3);WritData(0xb5);WritData(0xc1);
WritData(0xbe);WritData(0xaf);WritData(0xb5);WritData(0xe7);
WritData(0xbb);WritData(0xb0);
WritCommand(0x98); //3.设备备用
WritData(0xa2);WritData(0xb3);WritData(0xc9);WritData(0xe8);
WritData(0xb1);WritData(0xb8);WritData(0xb1);WritData(0xb8);
WritData(0xd3);WritData(0xc3);
if(flag1)
{
flag1=0;
if(status==1)
{
FireTele();
WarnTelephone();
}
if(status==2)
{
StealTele();
WarnTelephone();
}
if(status==3)
{
SpareTele();
WarnTelephone();
}
if(status==0x0f) break;
}
Delay_ms(100);
}
}
void FireTele(void)
{
uchar j;
while(1)
{
WritCommand(0x01);
WritCommand(0x91);
WritData(0xc9);WritData(0xe8);WritData(0xd6);WritData(0xc3); //设置火警电话
WritData(0xbb);WritData(0xf0);WritData(0xbe);WritData(0xaf);
WritData(0xba);WritData(0xc5);WritData(0xc2);WritData(0xeb);
if(flag1==1)
{
flag1=0;
j=status;
if(status==0x0f)
{
break;
}
else
{
WritData(0xa3);
WritData(0xb0+j); //显示下个数
}
}
Delay_ms(100);
}
}
void StealTele(void)
{
}
void SpareTele(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -