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

📄 部分程序.txt

📁 16X32点阵(可以上位机自动更新显示内容).rar
💻 TXT
字号:
void t0(void) interrupt 1
{ 	
	ran++;
	switch(flag)
	{
		case 0://显示 "杭州电子科技大学"
		{
			cp=0;dat=dat0;dat0=0;cp=1;
			if((b+num)<16)
			{
				P0=hdu[(a+d)%9][b+num];//第一行
				h1=1;h1=0;
				P0=hdu[(a+d)%9][b+num+16];//第二行
				h2=1;h2=0;
			}
			else
			{
				P0=hdu[(a+1+d)%9][b+num-16];
				h1=1;h1=0;
				P0=hdu[(a+1+d)%9][b+num];
				h2=1;h2=0;
			}
			b++;
			if(b==16)
			{
				b=0;
				a++;
				if(a==2)
				{
					a=0;
					dat0=1;
					cp=0;dat=0;cp=1;
					c++;
					if(c==speed)//调节移动快慢
					{
						c=0;if(stay==0)num++;
						if(num==16)
						{
							num=0;d++;
						}
					}
				}
			}
			TH0=(65536-300)/256; 
			TL0=(65536-300)%256;
			delay(L);//调节亮度
			P0=0;
			h1=1;
			h2=1;//消影
			h1=0;
			h2=0;
		}
		break;
	
		case 1://显示"0--z"
		{
			cp=0;dat=dat0;dat0=0;cp=1;
			if((b+num)<8)
			{
				P0=shu[(a+d)%37][b+num];
				h1=1;h1=0;
				P0=shu[(a+d)%37][b+num+8];
				h2=1;h2=0;
			}
			else
			{
				P0=shu[(a+1+d)%37][b+num-8];
				h1=1;h1=0;
				P0=shu[(a+1+d)%37][b+num];
				h2=1;h2=0;
			}
			b++;
			if(b==8)
			{
				b=0;
				a++;
				if(a==4)
				{
					a=0;
					dat0=1;
					cp=0;dat=0;cp=1;
					c++;
					if(c==speed)//调节移动快慢
					{
						c=0;if(stay==0)num++;
						if(num==8)
						{
							num=0;d++;
						}
					}
				}
			}
			TH0=(65536-240)/256; 
			TL0=(65536-240)%256;
			delay(L);//调节亮度
			P0=0;
			h1=1;
			h2=1;//消影
			h1=0;
			h2=0;
		}
		break;

		case 2://显示"静夜思"
		{
			cp=0;dat=dat0;dat0=0;cp=1;
			if((b+num)<16)
			{
				P0=si[(a+d)%28][b+num];
				h1=1;h1=0;
				P0=si[(a+d)%28][b+num+16];
				h2=1;h2=0;
			}
			else
			{
				P0=si[(a+1+d)%28][b+num-16];
				h1=1;h1=0;
				P0=si[(a+1+d)%28][b+num];
				h2=1;h2=0;
			}
			b++;
			if(b==16)
			{
				b=0;
				a++;
				if(a==2)
				{
					a=0;
					dat0=1;
					cp=0;dat=0;cp=1;
					c++;
					if(c==speed)//调节移动快慢
					{
						c=0;if(stay==0)num++;
						if(num==16)
						{
							num=0;d++;
						}
					}
				}
			}
			TH0=(65536-240)/256; 
			TL0=(65536-240)%256;
			delay(L);//调节亮度
			P0=0;
			h1=1;
			h2=1;//消影
			h1=0;
			h2=0;
		}
		break;

		case 3://显示上位机发送过来内容
		{
			cp=0;dat=dat0;dat0=0;cp=1;
			if((b+num)<16)
			{
				P0=get[(a+d)%S][b+num];
				h1=1;h1=0;
				P0=get[(a+d)%S][b+num+16];
				h2=1;h2=0;
			}
			else
			{
				P0=get[(a+1+d)%S][b+num-16];
				h1=1;h1=0;
				P0=get[(a+1+d)%S][b+num];
				h2=1;h2=0;
			}
			b++;
			if(b==16)
			{
				b=0;
				a++;
				if(a==2)
				{
					a=0;
					dat0=1;
					cp=0;dat=0;cp=1;
					c++;
					if(c==speed)//调节移动快慢
					{
						c=0;if(stay==0)num++;
						if(num==16)
						{
							num=0;d++;
						}
					}
				}
			}
			TH0=(65536-240)/256; 
			TL0=(65536-240)%256;
			delay(L);//调节亮度
			P0=0;
			h1=1;
			h2=1;//消影
			h1=0;
			h2=0;
		}
		break;

		case 4://显示时间
		{
			cp=0;dat=dat0;dat0=0;cp=1;
			switch (a)
			{
				case 0:
				{
					P0=xiao[b3][b];
					h1=1;h1=0;
					P0=xiao[a2][b];
					h2=1;h2=0;
				}
				break;
				case 1:
				{
					P0=xiao[a3][b];
					h1=1;h1=0;
					P0=xiao[10+c][b];
					h2=1;h2=0;
				}
				break;
				case 2:
				{
					P0=xiao[10+c][b];
					h1=1;h1=0;
					P0=xiao[b1][b];
					h2=1;h2=0;
				}
				break;
				case 3:
				{
					P0=xiao[b2][b];
					h1=1;h1=0;
					P0=xiao[a1][b];
					h2=1;h2=0;
				}
				break;
			}
			b++;
			if(b==8)
			{
				b=0;
				a++;
				shi=read_ds(4);//时
				fen=read_ds(2);	//分
				miao=read_ds(0);//秒
				if(a1!=miao%10){d=0;c=0;}
				a1=miao%10;b1=miao/10;
				a2=fen%10;b2=fen/10;
				a3=shi%10;b3=shi/10;			
				if(a==4)
				{
					a=0;
					dat0=1;
					cp=0;dat=0;cp=1;
					d++;
					if(d==100)c=1;//调节闪烁时间
				}
			}
			TH0=(65536-240)/256; 
			TL0=(65536-240)%256;
			delay(L);//调节亮度
			P0=0;
			h1=1;
			h2=1;//消影
			h1=0;
			h2=0;
		}
		break;

		case 5://贪食蛇
		{
			P0=0;
			h1=1;
			h2=1;//消影
			h1=0;
			h2=0;
			cp=0;dat=dat0;dat0=0;cp=1;
			P0=game[0][a];
			h1=1;h1=0;
			P0=game[1][a];
			h2=1;h2=0;
			a++;

			if(a==32)
			{			
				a=0;
				dat0=1;
				cp=0;dat=0;cp=1;
				b++;
				if(b==step)//调节移动速度
				{
					b=0;
					if(fang==0)//向前
					{
						lie++;num2++;num4++;
						if(fang0==1)//转向前向上
						{
							if(num2<num3)//转向中
							{
								zhuan=1;
								if(zhuan0==0)
								cls(lie0%32,(hang+num3-num2)%16);
							}
							if(num2==num3)//已完成转向
							{
								cls((lie-num3+32)%32,hang%16);
								num2--;	zhuan=0;						
							}
						}
						if(fang0==3)//转向前向下
						{
							if(num2<num3)
							{
								zhuan=1;
								if(zhuan0==0)
								cls(lie0%32,(hang0-num3+num2+16)%16);
							}
							if(num2==num3)
							{
								cls((lie-num3+32)%32,hang%16);
								num2--;
								zhuan=0;							
							}
						}
						if(zhuan0==1)
						{
							if(fang1==0)
							{
								cls((lie1-num3+num4+32)%32,hang1%16);
							}
							if(fang1==2)
							{
								cls((lie1+num3-num4+32)%32,hang1%16);
							}				
						}
						if(num4==num3)zhuan0=0;//前一次转向结束
						if(fang0==0)//游戏刚开始时
						{
							cls((lie-num3+32)%32,hang%16);
						}
						add((lie)%32,hang%16);
						if(lie==num3+31)lie=num3-1;
					}

					if(fang==1)//向上
					{
						hang--;num2++;num4++;
						if(fang0==0)
						{
							if(num2<num3)
							{
								zhuan=1;
								if(zhuan0==0)
								cls((lie0-num3+num2+32)%32,(hang0)%16);
							}
							if(num2==num3)
							{
								zhuan=0;
								cls(lie%32,(hang+num3)%16);
								num2--;							
							}
						}
						if(fang0==2)
						{
							if(num2<num3)
							{
								zhuan=1;
								if(zhuan0==0)
								cls((lie0+num3-num2)%32,hang0%16);
							}
							if(num2==num3)
							{
								cls(lie%32,(hang+num3)%16);
								num2--;	
								zhuan=0;						
							}
						}
						if(zhuan0==1)
						{
							if(fang1==1)
							{
								cls((lie1)%32,(hang1+num3-num4+32)%16);
							}
							if(fang1==3)
							{
								cls((lie1)%32,(hang1-num3+num4+32)%16);
							}				
						}
						if(num4==num3)zhuan0=0;//前一次转向结束
						add(lie%32,hang%16);
						if(hang==0)hang=16;
					}

					if(fang==2)//向左
					{
						lie--;num2++;num4++;
						if(fang0==1)
						{
							if(num2<num3)
							{
								zhuan=1;
								if(zhuan0==0)
								cls((lie0)%32,(hang0+num3-num2)%16);
							}
							if(num2==num3)
							{
								cls((lie+num3)%32,hang%16);
								num2--;
								zhuan=0;							
							}
						}
						if(fang0==3)
						{
							if(num2<num3)
							{
								zhuan=1;
								if(zhuan0==0)
								cls(lie0%32,(hang0-num3+num2+16)%16);
							}
							if(num2==num3)
							{
								cls((lie+num3)%32,hang%16);
								num2--;	
								zhuan=0;						
							}
						}
						if(zhuan0==1)
						{
							if(fang1==0)
							{
								cls((lie1-num3+num4+32)%32,hang1%16);
							}
							if(fang1==2)
							{
								cls((lie1+num3-num4+32)%32,hang1%16);
							}				
						}
						if(num4==num3)zhuan0=0;//前一次转向结束
						add(lie%32,hang%16);
						if(lie==0)lie=32;
					}
					if(fang==3)//向下
					{
						hang++;num2++;num4++;
						if(fang0==0)
						{
							if(num2<num3)
							{
								zhuan=1;
								if(zhuan0==0)
								cls((lie0-num3+num2+32)%32,hang0%16);
							}
							if(num2==num3)
							{
								cls((lie)%32,(hang-num3+16)%16);
								num2--;	
								zhuan=0;						
							}
						}
						if(fang0==2)
						{
							if(num2<num3)
							{
								zhuan=1;
								if(zhuan0==0)
								cls((lie0+num3-num2)%32,hang0%16);
							}
							if(num2==num3)
							{
								cls((lie)%32,(hang-num3+16)%16);
								num2--;	
								zhuan=0;zhuan0=0;						
							}
						}
						if(zhuan0==1)
						{
							if(fang1==1)
							{
								cls((lie1)%32,(hang1+num3-num4+32)%16);
							}
							if(fang1==3)
							{
								cls((lie1)%32,(hang1-num3+num4+32)%16);
							}				
						}
						if(num4==num3)zhuan0=0;//前一次转向结束
						add((lie)%32,hang%16);
						if(hang==num3+15)hang=num3-1;
					}
					if(lie%32==x1&&hang%16==y1)//吃到一颗
					{
						num3++;//长度加一
						if(num3==13)//升级
						{
							hang=7;lie=2;fang=0;fang0=0;fang1=0;
							num2=0;lie0=0;hang0=0;lie1=0;
							zhuan=0;zhuan0=0;num3=3;num4=0;//再次初始化设置
							ran=0;hang1=0;x1=0;y1=0;
							for(j=0;j<2;j++)
							for(i=0;i<32;i++)
							game[j][i]=0;
							add(0,7);add(1,7);add(2,7);
							step=step-5;
							if(step==10)step=30;
						}
						x1=rand()%32;
						y1=rand()%16;
						if(x1==(lie)%32||y1==hang%16||(x1==31&&y1==15))
						{
							x1=rand()%32;
							y1=rand()%16;
						}
						if(x1==(lie)%32||y1==hang%16||(x1==31&&y1==15))
						{
							x1=rand()%32;
							y1=rand()%16;
						}
						add(x1,y1);//再生成一颗"食物"
					}
				}
			}
			TH0=(65536-1200)/256; 
			TL0=(65536-1200)%256;

		}
		break;
		default:	break;
	}
}	

⌨️ 快捷键说明

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