📄 main.c
字号:
break;
case 2:
ManageSet();
break;
case 3:
SalerManage();
break;
case 4: TaxManage();
break;
case 5: CheckSystem();
break; //自检
case 6: PosTest();
break;
default : Beep(400);
break;
}
}
}
void Test()
{
uchar dat[50];
uchar cat[50];//,str[2];
uchar i,j;
i=10;
while(i--)
{
Beep(2);
}
/*while(1)
{
//KeyScan();
i=KeyScan();
// UartRxd(8,dat);
UartTxd(1,&i);
//KeyScan();
}*/
/*while(1)
{
UartRxd(5,dat);
Memory_Write(800,7,dat);
Memory_Read(800,7,cat);
UartTxd(5,cat);
}
UartTxd(10,"1234567891");
//LcdDisplay(16,64,"uart Test",3);
// KeyScan(); */
// memset(dat,0,25);
// ReadDate();
// PrintStartToEnd(InvoDate);
// x=8400;
// NumToStr(x,dat,SwitchFloat);
// LcdDisplay(16,0,dat,3);
// KeyScan();
// UartTxd(7,"--------");
// SimRstCold(0);
// UartTxd(18,RxdBuf);
// UartTxd(8,"++++++++");
// RxdBuf[0]=0x2F;
// RxdBuf[1]=0x02;
// SelectFile(0x00,0x00,0x02,RxdBuf,0);
// RxdBuf[0]=0xEF;
// RxdBuf[1]=0x02;
// SelectFile(0x00,0x00,0x02,RxdBuf,0);
// UartTxd(7,"--------");
// UartTxd(15,RxdBuf);
// UartTxd(7,"++++++++");
// SimRstCold(1);
// UartTxd(18,RxdBuf);
// UartTxd(7,"--------");
// RxdBuf[0]=0x2F;
// RxdBuf[1]=0x02;
// SelectFile(0x00,0x00,0x02,RxdBuf,1);
// RxdBuf[0]=0xEF;
// RxdBuf[1]=0x05;
// SelectFile(0x00,0x00,0x02,RxdBuf,1);
// UartTxd(18,RxdBuf);
// UartTxd(7,"++++++++");
}
void DataProtect()
{
// SimFlg=0;
I2cRead(PwrFlgAdr,1,&PwrFlg);
if(PwrFlg==0)return;
if(PwrFlg==0x55)
{//M25P80的数据是存在SRAM中还是存在24C64中?
LcdDisplay(16,0,"掉电时的数据已经处理!",3);
}
else
// if(PwrFlg==0xAA)
{
LcdDisplay(16,0,"掉电时的数据没有处理!",3);
}
LcdDisplay(32,32,"<按任意键继续>",0);
WDKEY=0x55;
KeyScan();
PwrFlg=0;
I2cWrite(PwrFlgAdr,1,&PwrFlg);
}
void ClearRam()
{
uchar xdata *xp;
xp=(uchar *)0x300;
while(xp<0x8000)
{
*(xp++)=0;
}
}
void main()
{
uchar k;
SysIni();
ClearRam();
// VfdBright(0x0C); //VFD亮度设置
// VfdDisStr("8888888888");
LcdTurnOn();//开LCD显示 //gai
// WareDown();
// #if ClockChip
// k=Tamper(InvoDate); //如果是M41ST87,检测是否有侵入
// if(k==1)
// {//有侵入发生
// }
// #endif
//--------------------程序测试区-----------------------------------------------------------
// Test();
//-----------------------------------------------------------------------------------------
// DataProtect();
k=0;
while(1)
{
if(k!=0xF0)
{//按键无效不会更新显示内容
LcdDisplay(8,24,"欢迎使用港顺税控",3);
LcdDisplay(24,68,"GS-800",0);
}
if((k&0x0F)==0)k = KeyScan();
switch(k)
{
case K_DL:
LcdDisplay(16,16,"正在登陆,请稍候......",3);
#if DebugSim
if(FiscalIdentify(1)==1)
#endif
{
#if DebugSim
VerifyFiscalPin(); //每次进入销售是否要效验开机密码?
k=InvoiceCheck(0); //检测本卷发票是否已经用完、是否已到开票截止日期
if(k==0)
{
LcdDisplay(0,0,"开票截止日期已到!",3);
LcdDisplay(16,0,"请及时报税!",0);
LcdDisplay(32,0,"未报税不能销售!",0);
}
else
{
if(k==2)
{//未录入发票就退出InvoiceCheck()
LcdDisplay(16,0,"没有录入发票,不能销售!",3);
}
else
#endif
{
k=0;
if(Login()==1)
Sale();
break;
}
#if DebugSim
}
#endif
}
LcdDisplay(48,0,"<按任意键继续>",0);
k=KeyScan();
k=0;
break;
case K_GN: SysFunction();
k=0;
break;
case K_SJ: TimeSetup(0);
//正式程序应该使用TimeSetup(0):只显示不能修改时间
k=0;
break;
case K_BZ:
Test();
Hint(16,32,"内容尚待确定!",3);
k=0;
break;
case K_JZ : PaperControl(1,16);k=0xF0; break;
case K_TZ : PaperControl(0,16);k=0xF0; break;
default: Beep(400);k=0xF0; break;
}
}
}
/*
uchar k;
uchar dat[50];
SysIni();
ClearRam();
//VfdBright(0x0C); //VFD亮度设置
//VfdDisStr("8888888888");
LcdTurnOn();//开LCD显示
// WareDown();
// #if ClockChip
// k=Tamper(InvoDate); //如果是M41ST87,检测是否有侵入
// if(k==1)
// {//有侵入发生
// }
// #endif
//--------------------程序测试区-----------------------------------------------------------
// Test();
//-----------------------------------------------------------------------------------------
// DataProtect();
k=0;
while(1)
{
// if(k!=0xF0)
// {//按键无效不会更新显示内容
LcdDisplay(8,24,"欢迎使用港顺税控机",3);
LcdDisplay(24,68,"GS-800 税控机",0);
// UartRxd(4,dat);
// UartTxd(4,dat);
k = KeyScan();
// UartTxd(1,&k);
switch(k)
{
case K_DL:
UartTxd(1,&k);
LcdDisplay(0,16,"正在登陆,请稍候......",0);
KeyScan();
break;
case K_TC:
UartTxd(1,&k);
LcdDisplay(8,16,",中华人民共和国",0);
KeyScan();
break;
case K_1:
UartTxd(1,&k);
LcdDisplay (32,16,",港顺.",0);
KeyScan();
break;
case K_2:
UartTxd(1,&k);
LcdDisplay (24,6,",达为",0);
KeyScan();
break;
case K_5:
UartTxd(1,&k);
LcdDisplay (40,6,",信息网",0);
KeyScan();
break;
default:
break;
}
}
}
/* if((k&0x0F)==0) //如果低四位为0
k = KeyScan();
switch(k)
{
case K_DL:
LcdDisplay(16,16,"正在登陆,请稍候......",3);
#if DebugSim
if(FiscalIdentify(1)==1)
#endif
{
#if DebugSim
VerifyFiscalPin(); //每次进入销售是否要效验开机密码?
k=InvoiceCheck(0); //检测本卷发票是否已经用完、是否已到开票截止日期
if(k==0)
{
LcdDisplay(0,0,"开票截止日期已到!",3);
LcdDisplay(16,0,"请及时报税!",0);
LcdDisplay(32,0,"未报税不能销售!",0);
}
else
{
if(k==2)
{//未录入发票就退出InvoiceCheck()
LcdDisplay(16,0,"没有录入发票,不能销售!",3);
}
else
#endif
{
k=0;
if(Login()==1)
Sale();
break;
}
#if DebugSim
}
#endif
}
LcdDisplay(48,0,"<按任意键继续>",0);
k=KeyScan();
k=0;
break;
case K_GN: SysFunction();
k=0;
break;
case K_SJ: TimeSetup(0);
//正式程序应该使用TimeSetup(0):只显示不能修改时间
k=0;
break;
case K_BZ:
Test();
Hint(16,32,"内容尚待确定!",3);
k=0;
break;
//case K_JZ : PaperControl(1,16);k=0xF0; break;
//case K_TZ : PaperControl(0,16);k=0xF0; break;
default: Beep(400);k=0xF0; break;
}
} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -