⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 用keil开发的.单片机税控器程序.单片机用的是AT公司的.upsd3245
💻 C
📖 第 1 页 / 共 2 页
字号:
						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 + -