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

📄 check.c.bak

📁 用keil开发的.单片机税控器程序.单片机用的是AT公司的.upsd3245
💻 BAK
📖 第 1 页 / 共 2 页
字号:
	uchar select = 1;
   	uchar str[3];

   	while(1)
    { 
    	WindowsSet(5);
	   	strcpy(WinHint[0]," 1.LCD显示检测");
	   	strcpy(WinHint[1]," 2.键盘检测");
	   	strcpy(WinHint[2]," 3.打印检测");
	   	strcpy(WinHint[3]," 4.钱箱检测");
	   	strcpy(WinHint[4]," 5.通信检测");
//	   	strcpy(WinHint[5]," 6.GB18030汉字检测");
    	str[0] = K_HJ;
       	str[1] = K_TC; //只有“确认” “退出” 键才能退出菜单
      	str[2] = 0;
       	select = Windows(select,0,str);   //显示选择菜单
       	if(str[0] == K_TC)  return;  //是“退出”键退出
       	switch(select)
        {  
           case 1:  CheckLcd();    		break;  //LCD显示测试
           case 2:  CheckKey();    		break;  //键盘测试
           case 3:  CheckPrint();    	break;  //打印测试
           case 4:  CheckBox();    		break;  //钱箱测试
           case 5:  CheckCom();    		break;  //通信测试
//           case 6:	CheckGB18030();		break;
           default: break;
        }
    }
}
//------------------------自检---------------------------------------------
void Modify24C64()
{
	uchar InitLen[2]={0,0};
	uint adr,len;

	LcdDisplay(0,16,"修改24C64内容",3);
	LcdDisplay(16,32,"地址:",0);
	LcdDisplay(32,32,"长度:",0);
	adr=GetInt(16,72,0,5,0,InitLen);	
	InitLen[0]=0;
	len=GetInt(32,72,0,3,0,InitLen);
//	I2cRead(adr,len,RxdBuf);
//	UartTxd(len,RxdBuf);
	UartRxd(len,RxdBuf);
	I2cWrite(adr,len,RxdBuf);
	Hint(48,32,"修改完成!",0);
}

void Look24C64()
{
	uchar InitLen[2]={0,0};
	uint adr,len;

	LcdDisplay(0,16,"查看24C64内容",3);
	LcdDisplay(16,32,"地址:",0);
	LcdDisplay(32,32,"长度:",0);
	adr=GetInt(16,72,0,5,0,InitLen);
	InitLen[0]=0;
	len=GetInt(32,72,0,3,0,InitLen);
	I2cRead(adr,len,RxdBuf);
	UartTxd(len,RxdBuf);
	Hint(48,16,"串口发送完成!",0);
}

void LookFlash()
{
	uchar n;
	ulong adr;
	uint len;
	uchar InitLen[2]={0,0};

	LcdDisplay(0,16,"查看Flash内容",3);
	LcdDisplay(16,32,"芯片:",0);
	LcdDisplay(32,32,"地址:",0);
	LcdDisplay(48,32,"长度:",0);
	n=GetInt(16,72,0,1,0,InitLen);
	InitLen[0]=0;
	adr=GetInt(32,72,0,7,0,InitLen);
	InitLen[0]=0;
	len=GetInt(48,72,0,3,0,InitLen);
	SerialFlashRead(n,adr,len,TxdBuf);
	UartTxd(len,TxdBuf);
	Hint(16,16,"串口发送完成!",3);
}

//void UsbTest()
//{
//	uchar str[64],len;
//	EA=1;
//	InitUSB();
//	while(1)
//	{
//		if(Receive(1,str)==1)
//		{
//			len=str[0];
//			if(len==0xAA)
//			{
//				IEA = 0;
//				UIEN  = 0;
//				UADR  = 0;
//				return;
//			}
//			if(Receive(len,&str[1])==1)
//			{
//				UsbSend(len+1,str);
//			}
//		}
//	}
//}	

void PcCom()
{
//	uchar i;

//	COM1CS;
//	UARTC;
//	UART1_Mod1_Timer1_9600;
//	 
//	for(i=0;i<8;i++)
//		TxdBuf[i]=0xAA;
//	TxdNum=0;
//	TxdLen=8;
//	while(TxdNum<TxdLen)
//	{
//		SBUF2 = TxdBuf[TxdNum];
//		while((SCON2 & 0x02)==0);
//		SCON2 &= 0xFC;
//		TxdNum++;
//	}
//
//	while(1)
//	{
//		UART1_Mod1_Timer1_9600;
//		 
//		RxdLen=8;
//		RxdNum=0;
//		while(RxdNum<RxdLen)
//		{	while((SCON2 & 0x01)==0);
//			SCON2 &= 0xFC;
//			RxdBuf[RxdNum]=SBUF2;
//			RxdNum++;
//			if(RxdNum==1)
//			{
//				if(RxdBuf[0]==0xAA)return;
//				RxdLen=RxdBuf[0]+1;
//			}
//		}
//		for(i=0;i<RxdLen+1;i++)
//			TxdBuf[i]=RxdBuf[i];
//		TxdNum=1;
//		TxdLen=RxdLen;
//		UART1_Mod1_Timer1_9600;
//		 
//		while(TxdNum<TxdLen)
//		{
//			SBUF2 = TxdBuf[TxdNum];
//			while((SCON2 & 0x02)==0);
//			SCON2 &= 0xFC;
//			TxdNum++;
//		}
//	}
}

void ComTest()
{
	uchar k,str[5];
	
	while(1)
	{
		WindowsSet(3);
		strcpy(&WinHint[0][1],"1.串口通信测试");
		strcpy(&WinHint[1][1],"2.USB通信测试");
		strcpy(&WinHint[2][1],"3.RS485联网通信测试");
		str[0]=K_TC;
		str[1]=K_HJ;
		str[2]=0;
		k=Windows(1,0,str);
		if(str[0]==K_TC)return;
		switch(k)
		{
			case 1:	LcdDisplay(16,16,"串口通讯测试......",3);
					PcCom();
					Hint(32,16,"串口通讯测试完成!",0);
					break;
			case 2:	LcdDisplay(16,16,"USB通讯测试......",3);
//					UsbTest();
					Hint(32,16,"USB通讯测试完成!",0);
					break;
			case 3:	Hint(16,32,"暂不提供!",3);
					break;
			default:Beep(400);break;
		}
	}
}

void PrinterSet()
{
	uchar k,str[5];
	
	while(1)
	{
		WindowsSet(3);
		strcpy(&WinHint[0][1],"1.设置黑标定位打印模式");
		strcpy(&WinHint[1][1],"2.允许黑标定位");
		strcpy(&WinHint[2][1],"3.禁止黑标定位");
		str[0]=K_TC;
		str[1]=K_HJ;
		str[2]=0;
		k=Windows(1,0,str);
		if(str[0]==K_TC)return;
		switch(k)
		{
			case 	1:	BlackSetup();
						LcdDisplay(16,32,"设置成功!",3);
						LcdDisplay(32,0,"请重新启动机器!",0);
						while(1);
						
			case 	2:  str[0]=1;
						I2cWrite(BlackFlg,1,str);
						Hint(16,32,"设置成功!",3);	
						break;
			case 	3:  str[0]=0;
						I2cWrite(BlackFlg,1,str);
						Hint(16,32,"设置成功!",3);
						break;
			default:	Beep(400);break;
		}
	}
}

void PosTest()
{
	uchar k,x,str[20],temp[2];
	
	x=1;k=0;
	while(1)
	{
		WindowsSet(9);
		strcpy(&WinHint[0][1],"1.设置打印机");
		strcpy(&WinHint[1][1],"2.查看24C64内容");
		strcpy(&WinHint[2][1],"3.修改24C64内容");
		strcpy(&WinHint[3][1],"4.查看Flash内容");
		strcpy(&WinHint[4][1],"5.U盘读写测试");
		strcpy(&WinHint[5][1],"6.RFID测试");
		strcpy(&WinHint[6][1],"7.清除管理员密码");
		strcpy(&WinHint[7][1],"8.更改机器编号");
		strcpy(&WinHint[8][1],"9.通信测试");
		str[0]=K_TC;
		str[1]=K_HJ;
		str[2]=0;
		x=Windows(x,0,str);
		if(str[0]==K_TC)return;
		switch(x)
		{
			case 	1:	PrinterSet();	break;
			case 	2:	Look24C64();	break;
			case 	3:  Modify24C64();	break;
			case 	4:  LookFlash();	break;
			
//			case 	5: 	
//						while(1)
//						{
//							WindowsSet(3);
//							strcpy(&WinHint[0][1],"1.U盘读写说明");
//							strcpy(&WinHint[1][1],"2.扇区读写测试");
//							strcpy(&WinHint[2][1],"3.字节读写测试");
//							str[0]=K_TC;
//							str[1]=K_HJ;
//							str[2]=0;
//							k=Windows(1,0,str);
//							if(str[0]==K_TC)break;
//							switch(k)
//							{
//								case 1:
//										while(1)
//										{		
//											k=0;
//											LcdDisplay(0,64,"说     明",3);
//											LcdDisplay(16,32,"按<上下>键查看",0);
//											LcdDisplay(32,32,"按<退出>键退出",0);
//											LcdDisplay(48,0,"本测试程序支持大部分U盘,",0);
//											while(1)
//											{												
//												k=KeyScan();													
//												if(k==K_DOWN || k==K_TC)break;
//											}
//											if(k==K_TC)break;
//											k=0;
//											LcdDisplay(0,0,"支持FAT32,FAT16,FAT12格",3);
//											LcdDisplay(16,0,"式.进行测试的U盘最好是",0);
//											LcdDisplay(32,0,"FAT32格式,因为FAT32格式",0);
//											LcdDisplay(48,0,"的U盘在本系统读写最快",0);
//											while(1)
//											{												
//												k=  KeyScan();
//												if(k==K_UP || k==K_TC)break;
//											}
//											if(k== K_TC)break;											
//										}
//										break;
//								case 2:
//										USBWriteReadTest(1);
//										break;
//								case 3:
//										USBWriteReadTest(0);
//										break;									
//							  default: 	break;
//						     }			
//						
//						  }
//						
//						break;
			
//			case 	6 :						
//						RfidTest();
//						break;
						
			case 	7: 	UntreadCode.dat=0;
						I2cWrite(BossPwd,4,UntreadCode.str);
						Hint(16,0,"管理员密码已经清除!",3);
						break;

			case 	8:  if(VerifyBossPwd()!=1)break;
						LcdDisplay(0,0,"设置机器编号:",3);
						I2cRead(MachineNo,8,str);
						temp[0]=0;
						memset(str,0,sizeof(str));
						if(GetBcd(16,0,str,16,temp)==K_TC)break;
						I2cWrite(MachineNo,8,str);
						Hint(32,0,"设置成功!",0);
						break;

			case 	9:	ComTest();
						break;
						
			default	:	Beep(400);break;
		}
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -