📄 mainold.c
字号:
//sprintf(LCM_ASCII,"R2:%uK OK\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x90);
break;
case 3:
//printf("R3:%uK OK\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"R3:%uK OK\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x88);
break;
case 4:
//printf("R4:%uK OK\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"R4:%uK OK\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x98);
break;
case 5:
//printf("C5:%up OK\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"C5:%up OK\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x80);
break;
case 6:
//printf("C6:%up OK\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"C6:%up OK\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x90);
break;
}
}
else
{
NGLED&=~(1<<(Order-1));
if(TestModel==0) BB(NG); //BB
switch(Order)
{
case 1:
//printf("R1:%uK NG\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"R1:%uK NG\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x80);
break;
case 2:
//printf("R2:%uK NG\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"R2:%uK NG\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x90);
break;
case 3:
//printf("R3:%uK NG\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"R3:%uK NG\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x88);
break;
case 4:
//printf("R4:%uK NG\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"R4:%uK NG\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x98);
break;
case 5:
//clrram();
//printf("C5:%up NG\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"C5:%up NG\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x80);
break;
case 6:
//printf("C6:%up NG\n",(uint)temp);//测试
//sprintf(LCM_ASCII,"C6:%up NG\n",(uint)temp);
//chn_disp3(LCM_ASCII,0x90);
break;
}
}
if(Order==6)
{
if(OKLED==0xc0)
{
OKLED&=~(1<<6);
if(TestModel==1) BB(OK); //BB
//printf("OK\n",(uint)temp);//测试
//chn_disp3(" OK \n",0x98);
}
else
{
NGLED&=~(1<<6);
if(TestModel==1) BB(NG); //BB
//printf("NG\n",(uint)temp);//测试
//chn_disp3(" NG \n",0x98);
}
//printf("\n");
}
LEDshow();
break;
}
}
if(Test_012==2)
{
if(STEP==0)
{
if(STEP_check<0xff) STEP_check++;
}
else
{
if(Test_Order<6)
{
if((STEP_check>50)||(TestModel==1))
{
Test_012=0;
Test_Order++;
if(Test_Order<5) P2=0xf8;
else P2=0xe7;
if(Test_Order==5) //clrram();
TEST_GO();
}
}
else
{
STEP_check=100; //测试
if(STEP_check>50)
{
Test_Order=0;
Test_012=0;
P2=0xff;
//clrram();
//chn_disp3(" STANDBY \n",0x80);
}
}
STEP_check=0;
}
}
}*/
void main(void)
{
// uchar i,j;
// init_serialcomm(); //初始化串口
// init_timer();
Initial();
// EA=1;
init_lcd();
P2=0xe0;
LcdClear();
LcdPrint("R1=10.2M\n");
LcdPrint("R3=10.2M\n");
LcdPrint("R2=10.2M\n");
LcdPrint("R4=10.2M\n");
// initial();
P2=CtrlP=0;
EX0=1;
StartTest=1;
while(1);
//chn_disp3(" 珠海晶研力信 \n",0x80);
//chn_disp3(" 简易高压测试仪\n",0x90);
//chn_disp3(" V2.1\n",0x98);
//printf("珠海晶研力信自动化设备有限公司\n" );
//printf("简易高压测试仪 V2.1\n\n" );
/*
for(i=0;i<7;i++)
{
OKLED=NGLED=~(1<<i);
LEDshow();
BELL=0;
delay (0xffff);
OKLED=NGLED=0xff;
LEDshow();
BELL=1;
delay (0xffff);
}
for(j=0;j<250;j++)
{
if(MD==0)
{
if(++i==50)
{
P2=0;
while(1);
}
}
}
//clrram();
//chn_disp3(" STANDBY \n",0x80);
while(1)
{
switch(Test_Order)
{
case 0:
if(AUTOSTEP)TestModel=1; //自动
else TestModel=0; //单步
STEP_check=100; //测试
if(STEP==0)
{
if(STEP_check<0xff) STEP_check++;
}
else
{
if(STEP_check>50)
{
STEP_check=0;
P2=0xf8;
// P2=1;
Test_Order=1;
Test_012=0;
//clrram();
TEST_GO();
}
STEP_check=0;
}
OKLED=0xff;
NGLED=0xff;
LEDshow();
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
TEST(Test_Order);
break;
}
}
*/
}
void Initial(void)
{
P0=0xff
IT0=IT1=1;
P1=P2=P3=0xff;
// INPORT=0XFF;
TMOD=0X11; //timer1:mode1(high 4bit),timer0:mode1(low 4bit)
TR0=0;
EX0=0;
ET0=0;
EA=1;
// TL0=CYCLE % 256;
// TH0=CYCLE/256;
}
/*void Time10ms (void) interrupt TIMER0INT using 1
{
static Char CtrlP=0
// #define FLASHTIME 60
// static unsigned char ft=FLASHTIME;
// static char InP1=0,InP2=0;
// char InP,InP3;
//TL0=CYCLE % 256;
//TH0=CYCLE/256;
InP=INPORT^P2;
InP3=InP&InP2; //count 3
InP2=InP&InP1&(~InP3);
InP1=InP&(~InP3);
InP^=INPORT; //InP=PP1
InP&=InP3;
INPORT&=~InP3;
INPORT|=InP;
Next=Stop=!(INPORT&0x40);
Start=!(INPORT&0x80);
//if(td) td--;
//return;
} */
void LcdClear(void)
{
init_lcd();
CurrentX=CurrentY=0;
}
void LcdPrint(char * DisBuf)
{
code unsigned char Line[]={0x80,0x90,0x88,0x98};
char kk=0;
wr_lcd(comm,0x30);
while(DisBuf[kk])
{
if(DisBuf[kk]=='\n'||CurrentX>=16)
{
CurrentX=0;
CurrentY++;
if(CurrentY<4) wr_lcd(comm,Line[CurrentY]);
}
else
{
if(CurrentY>=4)
{
LcdClear();
}
wr_lcd(dat,DisBuf[kk]);
CurrentX++;
}
kk++;
}
return;
}
/*bit StartCheck(void)
{
static unsigned char cn=0;
bit NowInst=0;
static bit CurInst=0;
char pt;
P0=0xfc;
delay10ms(10);
if((pt=P1&0xfc)^0xfc)
{
P0=0;
delay10ms(10);
if(pt!=(P1&0xfc)) NowInst=1;
}
else
{
P0=0;
delay10ms(10);
}
if(NowInst!=CurInst)
{
cn++;
if(cn>=30)
{
CurInst=NowInst;
cn=0;
// if(CurInst) return(1);
}
}
else
{
cn=0;
}
// return(0);
if(CurInst)
{
// CurInst=0;
return(1);
}
else
{
return(0);
}
}
bit keyWait(bit chk)
{
static bit NextUp=0,StartUp=0,CheckUp=0;
if(chk)
{
if(Next)
{
if(NextUp)
{
NextUp=0;
return(0); //Next OK
}
}
else
{
NextUp=1;
}
}
if(Start)
{
if(StartUp)
{
StartUp=0;
longjmp(env,2); //Start OK
}
}
else
{
StartUp=1;
}
if(StartCheck())
{
if(CheckUp)
{
CheckUp=0;
longjmp(env,2); //Start OK
}
}
else
{
CheckUp=1;
}
return(1);
}
void delay10ms(int a)
{
td=a/10;
while(td);
} */
/*------------------初始化-----------------*/
void init_lcd (void)
{
rst=1;
// psb=0;
wr_lcd (comm,0x30); /*30---基本指令动作*/
wr_lcd (comm,0x01); /*清屏,地址指针指向00H*/
delay (100);
wr_lcd (comm,0x06); /*光标的移动方向*/
wr_lcd (comm,0x0c); /*开显示,关游标*/
}
/*----------------------------------------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
uchar a,i,j;
delay (50);
a=content;
cs=1;
sclk=0;
std=1;
for(i=0;i<5;i++) //先输入五个连续的1 -----》是同步位字符串,此时输入记数被重置并且串行传输被同步。
{
sclk=1;
sclk=0;
}
std=0; //RW位
sclk=1;
sclk=0;
if(dat_comm) //RS位
std=1; //data
else
std=0; //command
sclk=1;
sclk=0; //第8位规定为0
std=0;
sclk=1;
sclk=0;
for(j=0;j<2;j++)
{
for(i=0;i<4;i++) //每一个8位指令将被分为两个字节接收到.
{
a=a<<1;
std=CY;
sclk=1;
sclk=0;
}
std=0;
for(i=0;i<4;i++)
{
sclk=1;
sclk=0;
}
}
}
/*-----------------------------------*/
void delay (uint us) //delay time
{
while(us--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -