双百作品点阵16乘16设计与制作含有程序.docx
《双百作品点阵16乘16设计与制作含有程序.docx》由会员分享,可在线阅读,更多相关《双百作品点阵16乘16设计与制作含有程序.docx(17页珍藏版)》请在冰豆网上搜索。
双百作品点阵16乘16设计与制作含有程序
窗体底端
16*16点阵设计与制作(含程序)
一、实物照片
二、需要填写的信息
请如实填写以下作品信息,如填写信息不实影响评审,后果由本人承担。
是
否
*是否已公开展示
是
否
*是否申请或正在申请专利
是
否
*是否参加过其他比赛
是
否
*是否得过奖项
是
否
*是否已经产业化
是
否
*是否为教师,研究人员等科研项目(含纵向与横向)的组成部分
作品相关信息
*作品摘要:
(介绍作品主要内容提要及特色说明,200字以内。
)
当前字数:
0
*作品简介:
(请按简介、科学性、普及性、创新性、趣味性和实用性等方面简要介绍作品,1000字以内。
)
当前字数:
0
*设计方案:
(详细介绍作品创意来源、创作思路等,2000字以内。
)科普游戏类作品需阐述游戏背景、整体介绍、核心玩法说明、系统详解等信息。
科普展教品类作品须详细阐述作品是否已完成可展示实物,作品的设计方案、技术原理、物理结构、技术参数、所用材料工具、操作演示说明、应用领域和发展前景等信息,请参考大赛通知文件中分类作品要求部分,以便客观评审作品。
当前字数:
0
*其他:
(其他对评审有帮助的信息介绍,1000字以内)
当前字数:
0
指导教师基本信息
(指导教师最多容纳3人,指导教师信息填写后点击右侧色块保存,已添加教师处显示该教师信息后在原空格内填写下一指导教师信息。
)
电话
姓名
梅志强
E-mail
所在单位
合肥学院
已添加
个人信息
姓名:
身份证号码:
学历:
本科
学院:
电子信息与电气工程系
就读学院:
合肥学院
专业:
自动化
学号:
联系电话:
QQ号码:
邮箱:
邮编:
230601
联系地址
安徽省合肥市经开区锦绣大道99号
团队人员基本信息
(本人信息不需添加。
团队人员最多容纳8人,团队人员信息填写方式参考指导教师信息填写。
)
姓名
身份证
学号
在读学历
手机
院校
专业
已添加
作品上传:
(*请将参赛作品保存为rar格式压缩包后上传,压缩包命名要求统一为:
参赛子类别+作品名.rar(示例:
科普APP+智能家居.rar);如果压缩包大于50MB,点击下方光盘提交,将参赛作品提交至学校大赛负责部门(团委、学生处),统一寄送至大赛承办单位。
光盘提交:
(*如果选择了作品上传,则勾选此项无效。
)
三、程序
#include
voidbushan();
voiddelayms(unsignedintms);
unsignedcharcodeweixuan[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//从左向右依次扫描
unsignedcharcodefanxuan[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//从右向左依次扫描
unsignedcharcodesbds[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xDF,0xFD,0xD3,0xF3,0xDC,0xCF,0xDF,0x3F,
0xDC,0xCF,0xC3,0xF3,0xFF,0xFE,0xDF,0xFD,
0xC0,0xFB,0xDF,0x37,0xDF,0xCF,0xDF,0x37,
0xDC,0xFB,0xC3,0xFD,0xFF,0xFE,0xFF,0xFF,/*"双",0*/
0xBF,0xFF,0xBF,0xFF,0xB8,0x00,0xBB,0xBD,
0xBB,0xBD,0xB3,0xBD,0xAB,0xBD,0x9B,0xBD,
0xBB,0xBD,0xBB,0xBD,0xBB,0xBD,0xBB,0xBD,
0xB8,0x00,0xBF,0xFF,0xBF,0xFF,0xFF,0xFF,/*"百",1*/
0xFB,0xFE,0xFB,0xFE,0xFB,0xFD,0xFB,0xFB,
0xFB,0xF7,0xFB,0xCF,0xFB,0x3F,0x00,0xFF,
0xFB,0x3F,0xFB,0xCF,0xFB,0xF7,0xFB,0xFB,
0xFB,0xFD,0xFB,0xFE,0xFB,0xFE,0xFF,0xFF,/*"大",2*/
0xEE,0xEF,0x9E,0xEF,0xBA,0xDF,0xAA,0xBE,
0xAA,0x02,0x80,0xBD,0xAA,0xBB,0x2A,0x87,
0xAA,0xBB,0x80,0xBD,0xAA,0x02,0xAA,0xBF,
0xBA,0xDF,0xAE,0xEF,0x9E,0xEF,0xFF,0xFF,/*"赛",3*/
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
};
unsignedcharcodesbds1[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xEE,0xEF,0x9E,0xEF,0xBA,0xDF,0xAA,0xBE,
0xAA,0x02,0x80,0xBD,0xAA,0xBB,0x2A,0x87,
0xAA,0xBB,0x80,0xBD,0xAA,0x02,0xAA,0xBF,
0xBA,0xDF,0xAE,0xEF,0x9E,0xEF,0xFF,0xFF,/*"赛",3*/
0xFB,0xFE,0xFB,0xFE,0xFB,0xFD,0xFB,0xFB,
0xFB,0xF7,0xFB,0xCF,0xFB,0x3F,0x00,0xFF,
0xFB,0x3F,0xFB,0xCF,0xFB,0xF7,0xFB,0xFB,
0xFB,0xFD,0xFB,0xFE,0xFB,0xFE,0xFF,0xFF,/*"大",2*/
0xBF,0xFF,0xBF,0xFF,0xB8,0x00,0xBB,0xBD,
0xBB,0xBD,0xB3,0xBD,0xAB,0xBD,0x9B,0xBD,
0xBB,0xBD,0xBB,0xBD,0xBB,0xBD,0xBB,0xBD,
0xB8,0x00,0xBF,0xFF,0xBF,0xFF,0xFF,0xFF,/*"百",1*/
0xDF,0xFD,0xD3,0xF3,0xDC,0xCF,0xDF,0x3F,
0xDC,0xCF,0xC3,0xF3,0xFF,0xFE,0xDF,0xFD,
0xC0,0xFB,0xDF,0x37,0xDF,0xCF,0xDF,0x37,
0xDC,0xFB,0xC3,0xFD,0xFF,0xFE,0xFF,0xFF,/*"双",0*/
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
};
unsignedcharcodeshuang[]={
0xDF,0xFD,0xD3,0xF3,0xDC,0xCF,0xDF,0x3F,
0xDC,0xCF,0xC3,0xF3,0xFF,0xFE,0xDF,0xFD,
0xC0,0xFB,0xDF,0x37,0xDF,0xCF,0xDF,0x37,
0xDC,0xFB,0xC3,0xFD,0xFF,0xFE,0xFF,0xFF};/*"双",0*/
unsignedcharcodebai[]={
0xBF,0xFF,0xBF,0xFF,0xB8,0x00,0xBB,0xBD,
0xBB,0xBD,0xB3,0xBD,0xAB,0xBD,0x9B,0xBD,
0xBB,0xBD,0xBB,0xBD,0xBB,0xBD,0xBB,0xBD,
0xB8,0x00,0xBF,0xFF,0xBF,0xFF,0xFF,0xFF};/*"百",1*/
unsignedcharcodeda[]={
0xFB,0xFE,0xFB,0xFE,0xFB,0xFD,0xFB,0xFB,
0xFB,0xF7,0xFB,0xCF,0xFB,0x3F,0x00,0xFF,
0xFB,0x3F,0xFB,0xCF,0xFB,0xF7,0xFB,0xFB,
0xFB,0xFD,0xFB,0xFE,0xFB,0xFE,0xFF,0xFF};/*"大",2*/
unsignedcharcodesai[]={
0xEE,0xEF,0x9E,0xEF,0xBA,0xDF,0xAA,0xBE,
0xAA,0x02,0x80,0xBD,0xAA,0xBB,0x2A,0x87,
0xAA,0xBB,0x80,0xBD,0xAA,0x02,0xAA,0xBF,
0xBA,0xDF,0xAE,0xEF,0x9E,0xEF,0xFF,0xFF};/*"赛",3*/
voidmain()
{
unsignedchari,j;
unsignedints=0;
while
(1)
{
unsignedcharm=0;
unsignedcharn=16;
for(i=0;i<8;i++)
{
P1=weixuan[i];
if(s<300)
{
P0=shuang[m];
P2=shuang[m+1];
m=m+2;
delayms
(1);
P1=0XFF;
P0=0XFF;//静态显示双的左半部分
P2=0XFF;
}
if(s>=300&&s<600)
{
P0=bai[m];
P2=bai[m+1];
m=m+2;
delayms
(1);
P1=0XFF;
P0=0XFF;
P2=0XFF;//静态显示百的左半部分
}
if(s>=600&&s<900)
{
P0=da[m];
P2=da[m+1];
m=m+2;
delayms
(1);
P1=0XFF;
P0=0XFF;
P2=0XFF;//静态显示大的左半部分
}
if(s>=900&&s<1200)
{
P0=sai[m];
P2=sai[m+1];
m=m+2;
delayms
(1);
P1=0XFF;
P0=0XFF;
P2=0XFF;//静态显示赛的左半部分
}
}
//P1=0XFF;
for(j=0;j<8;j++)
{
P3=weixuan[j];
if(s<300)
{
P0=shuang[n];
P2=shuang[n+1];//静态显示双的右半部分
n=n+2;
delayms
(1);
P3=0XFF;
P0=0XFF;
P2=0XFF;
}
if(s>=300&&s<600)
{
P0=bai[n];
P2=bai[n+1];
n=n+2;
delayms
(1);//静态显示百的右半部分
P3=0XFF;
P0=0XFF;
P2=0XFF;
}
if(s>=600&&s<900)
{
P0=da[n];
P2=da[n+1];
n=n+2;//静态显示大的右半部分
delayms
(1);
P3=0XFF;
P0=0XFF;
P2=0XFF;
}
if(s>=900&&s<1200)
{
P0=sai[n];
P2=sai[n+1];
n=n+2;//静态显示赛的右半部分
delayms
(1);
P3=0XFF;
P0=0XFF;
P2=0XFF;
}
}
//P3=0XFF;
if(s>=1200)
{
bushan();//死循环
}
s++;
}
}
voiddelayms(unsignedintms)
{
unsignedi,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
voidbushan()//动态显示,且移动速度可调
{
unsignedinti,j;//循环内的变量
unsignedintq;//计数变量
unsignedinth;//计数变量
unsignedintk=5;//调速用到的变量
unsignedintr=10;//调速用到的变量
unsignedintm1;//中间变量
unsignedintm2;//中间变量
unsignedintt=0;//调速用到的变量
unsignedintt1=0;//调速用到的变量
while
(1)
{
unsignedintu=72*k;//右移时的显示时间,因移动速度的变化而变化
m1=q;
for(i=0;i<8;i++)
{
P1=weixuan[i];
P0=sbds[m1];
P2=sbds[m1+1];
m1=m1+2;
delayms
(1);
P1=0XFF;
P0=0XFF;
P2=0XFF;
}
m2=q;
for(j=0;j<8;j++)
{
P3=weixuan[j];
P0=sbds[m2+16];
P2=sbds[m2+17];
m2=m2+2;
delayms
(1);
P3=0XFF;
P0=0XFF;
P2=0XFF;
}
t++;
if(t==k)//t速度大小的值
{
t=0;
q=q+2;
}
if(q==144)
{
q=0;
h=158;
while(u--)//右移的循环时间控制
{
m1=h;
for(i=0;i<8;i++)
{
P3=fanxuan[i];
P0=sbds1[m1];
P2=sbds1[m1+1];
m1=m1-2;
delayms
(1);
P3=0XFF;
P0=0XFF;
P2=0XFF;
}
m2=h;
for(j=0;j<8;j++)
{
P1=fanxuan[j];
P0=sbds1[m2-16];
P2=sbds1[m2-15];
m2=m2-2;
delayms
(1);
P1=0XFF;
P0=0XFF;
P2=0XFF;
}
t1++;
if(t1==k)
{
t1=0;
h=h-2;
if(h==14)//h经过16(数组扫描最后一项时),减去2等于了14,成为判断的条件
{
h=158;
}
}
if(u==0)
{
k=k+r;
r=r+10;//r的值无限增大,导致了看k>35恒成立,故k始终等于5;
if(k>35)//因此后来显示屏移动速度为匀速
{
k=5;
}
}
}
}
}
}