📄 ps2_study.c
字号:
{
flag_y=1;
flag_cout++;
key_i=1;
}
if((data_key[key_i-1]==0x1a)&(flag_w==1))///z
{
flag_z=1;
flag_cout++;
key_i=1;
}
}
}
#pragma interrupt_handler usart_receive:12
void usart_receive(void)
{
unsigned int temp;
temp=UDR;
data_key[key_i]=temp;
if(data_key[1]==0xf0)
{
key_i++;
key();
}
else
{
key_i=1;
}
}
void read_char(void)
{
/*LCD_clear();
LCD_China(2,0,ni,0);
LCD_China(23,0,de,0);
LCD_China(44,0,de,0);
LCD_China(2,0,fen,1);*/
//LCD_China(2,0,shi,0);
;
}
/*void mouse(void)
{
char i=0,flag;
if(flag_1==1)
{
while (i!=64)
{
LCD_write_command(0Xc0 | i, 0);
Delaynus(100);
i++;
}
}
}*/
/////////////////////////////////////////////
void Get_num(void)
{
unsigned char p,temp;
{
temp=rig*4;
p=temp%10;
LCD_char(39,0,data_num[p],1);
if(temp>=10)
{
temp=temp/10;
p=temp%10;
LCD_char(30,0,data_num[p],1);
if(temp>=10)
{
temp=temp/10;
p=temp%10;
LCD_char(21,0,data_num[p],1);
}
}
}
}
///////////////////////////////////////////////
void score(void)
{
unsigned int result=0,temp;
unsigned char p;
if(flag_score==1)
{
flag_error=1;
flag_over=1;
LCD_clear();
result=(flag_ms+1000*flag_ts)/60;
//LCD_China(0,2,shi2,0);
//LCD_China(17,2,jian,0);
if(result!=0)
{
result=(flag_cout*1000)/result;
temp=result;
p=temp%10;
LCD_char(9,2,data_num[p],1);
if(temp>=10)
{
temp=temp/10;
p=temp%10;
LCD_char(0,2,data_num[p],1);
if(temp>=10)
{
temp=temp/10;
p=temp%10;
LCD_char(54,2,data_num[p],0);
}
}
}
else{LCD_char(9,2,data_num[0],1);}
Get_num();
LCD_China(0,0,ni,0);
LCD_China(16,0,de,0);
LCD_China(32,0,de2,0);
LCD_China(48,0,fen,0);
LCD_China(0,0,mao_hao,1);
LCD_China(48,0,fen,1);
LCD_China(0,2,su,0);
LCD_China(16,2,du,0);
LCD_China(35,2,mao_hao,0);
LCD_China(16,2,zi,1);
LCD_char(35,2,gang,1);
LCD_China(48,2,fen,1);
return_last(6);
flag_ts=0;
flag_cout=0;
flag_ms=0;
flag_time0=0;
TCNT0=0X38;
flag_score=0;
}
}
void charge_station(void)
{
if((x_station==63)&(y_station==2)&(LR==0))
{
LR=1;
x_station=0;
}
if((x_station==63)&(y_station==2)&(LR==1))
{
LR=0;
y_station=y_station+4;
x_station=0;
}
if((x_station==63)&(y_station==6)&(LR==0))
{
x_station=0;
LR=1;
}
}
void del_key(void)
{
if((flag_del==1)&(flag_w==1))
{
if((x_station==0)&(y_station==2)&(LR==1))
{
x_station=63;
LR=0;
}
if((x_station==0)&(y_station==6)&(LR==0))
{
y_station=y_station-4;
x_station=63;
LR=1;
}
if((x_station==0)&(y_station==6)&(LR==1))
{
x_station=63;
LR=0;
}
x_station=x_station-9;
LCD_char(x_station,y_station,del,LR);
if(flag_rig==1)
{
rig--;
}
flag_del=0;
}
/*if((x_station<=0) &(y_station==2) &(LR==0))
{
x_station=0;
y_station=2;
rig=0;
}*/
}
////////////////////////////////////////////////////
void wirte_char(void)
{
if((x_station>=36) &(y_station==6) &(LR==1))
{
TCCR0=0x00;
flag_error=1;
flag_over=1;
}
//////////////1///////////////////
if(flag_error==0)
{
if((flag_c==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,c,LR);
if((x_station==0)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_c=0;
}
//////////////////////z///////////////
if((flag_z==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,z,LR);
if((x_station==0)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_z=0;
}
//////////////b/////////////////////
if((flag_b==1)&(flag_w==1))
{
LCD_char(x_station,y_station,b,LR);
if((x_station==9)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_b=0;
}
///////////////c//////////////////////////
if((flag_f==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,f,LR);
if((x_station==18)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_f=0;
}
//////////////////////s/////////
if((flag_s==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,s,LR);
if((x_station==18)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_s=0;
}
////////////////4///////////////////////
if((flag_d==1)&(flag_w==1))
{
LCD_char(x_station,y_station,d,LR);
if((x_station==27)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_d=0;
}
///////////////////////////////////////
if((flag_e==1)&(flag_w==1))
{
LCD_char(x_station,y_station,e,LR);
if((x_station==36)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_e=0;
}
///////////////a///////////////////////
if((flag_a==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,a,LR);
if((x_station==45)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_a=0;
}
///////////////////n///////////////////
if((flag_n==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,n,LR);
if((x_station==45)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_n=0;
}
////////////////g/////////////////////
if((flag_g==1)&(flag_w==1))
{
LCD_char(x_station,y_station,g,LR);
if((x_station==54)&(y_station==2)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_g=0;
}
//////////////////v1///////////////////
if((flag_v==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,v,LR);
if((x_station==0)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_v=0;
}
//////////////////o///////////////////
if((flag_o==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,o,LR);
if((x_station==0)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_o=0;
}
////////////////i/////////////////////
if((flag_i==1)&(flag_w==1))
{
LCD_char(x_station,y_station,i,LR);
if((x_station==9)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_i=0;
}
////////////////j/////////////////////
if((flag_j==1)&(flag_w==1))
{
LCD_char(x_station,y_station,j,LR);
if((x_station==18)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_j=0;
}
///////////////h1////////////////////
if((flag_h==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,h,LR);
if((x_station==27)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_h=0;
}
///////////////v////////////////////
if((flag_v==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,v,LR);
if((x_station==27)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_v=0;
}
///////////////////////////////////
if((flag_l==1)&(flag_w==1))
{
LCD_char(x_station,y_station,l,LR);
if((x_station==36)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_l=0;
}
///////////////o/////////////////////
if((flag_o==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,o,LR);
if((x_station==45)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_o=0;
}
////////////////////////f//////////
if((flag_f==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,f,LR);
if((x_station==45)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_f=0;
}
/////////////////////////////////////
if((flag_m==1)&(flag_w==1))
{
LCD_char(x_station,y_station,m,LR);
if((x_station==54)&(y_station==6)&(LR==0))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_m=0;
}
/////////////n1////////////////
if((flag_n==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,n,LR);
if((x_station==0)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_n=0;
}
/////////////h2/////////////////
if((flag_h==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,h,LR);
if((x_station==0)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_h=0;
}
/////////////////////p/////////////////////
if((flag_p==1)&(flag_w==1))
{
LCD_char(x_station,y_station,p,LR);
if((x_station==9)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_p=0;
}
////////////////////q////////////////////
if((flag_q==1)&(flag_w==1))
{
LCD_char(x_station,y_station,q,LR);
if((x_station==18)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_q=0;
}
//////////////////////r/////////////
if((flag_r==1)&(flag_w==1))
{
LCD_char(x_station,y_station,r,LR);
if((x_station==27)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_r=0;
}
////////////////////k1////////////////////
if((flag_k==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,k,LR);
if((x_station==36)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_k=0;
}
////////////////////c2////////////////////
if((flag_c==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,c,LR);
if((x_station==36)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_c=0;
}
/////////////////////t////////////////
if((flag_t==1)&(flag_w==1))
{
LCD_char(x_station,y_station,t,LR);
if((x_station==45)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_t=0;
}
///////////////////////u////////////////
if((flag_u==1)&(flag_w==1))
{
LCD_char(x_station,y_station,u,LR);
if((x_station==54)&(y_station==2)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_u=0;
}
///////////////////////s2/////////////
if((flag_s==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,s,LR);
if((x_station==0)&(y_station==6)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_s=0;
}
////////////////////////k2/////////////
if((flag_k==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,k,LR);
if((x_station==0)&(y_station==6)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_k=0;
}
/////////////////////w/////////////////
if((flag_ww==1)&(flag_w==1))
{
LCD_char(x_station,y_station,w,LR);
if((x_station==9)&(y_station==6)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_ww=0;
}
/////////////////////x/////////////////
if((flag_x==1)&(flag_w==1))
{
LCD_char(x_station,y_station,x,LR);
if((x_station==18)&(y_station==6)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_x=0;
}
/////////////////////y////////////////
if((flag_y==1)&(flag_w==1))
{
LCD_char(x_station,y_station,y,LR);
if((x_station==27)&(y_station==6)&(LR==1))
{
rig++;
flag_rig=1;
}
else{flag_rig=0;}
x_station=x_station+9;
flag_y=0;
}
///////////////////////a//////////////////
if((flag_a==1)&(flag_w==1)&(wed1==2))
{
LCD_char(x_station,y_station,a,LR);
x_station=x_station+9;
flag_a=0;
}
///////////////////////z//////////////////
if((flag_z==1)&(flag_w==1)&(wed1==1))
{
LCD_char(x_station,y_station,z,LR);
x_station=x_station+9;
flag_z=0;
}
//////////////////////////////////////
///////////////////////////////////////
charge_station();
}
/////////////////////////////////////////////////
}
void main()
{
usart_init();
time0_init();
LED_ini();
LCD_clear();
//SEI();
LCD_write_command(0xc0, 0);//初始化x,y地址
LCD_write_command(0xc0, 1);//初始化x,y地址
Meu_ini();
//char_display();
//LCD_pic(0,0,pic2,0);
LCD_China(0,0,kai,0);
LCD_China(17,0,shi,0);
LCD_China(33,0,qing3,0);
LCD_China(49,0,an,0);
LCD_char(20,0,EE,1);
LCD_char(28,0,n,1);
LCD_char(36,0,t,1);
LCD_char(44,0,ee,1);
LCD_char(52,0,r,1);
////////////////////////////////
return_last(4);
SEI();
while(1)
{
// mouse();
wirte_char();
score();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -