搜索
bottom↓
回复: 3

16*64点阵几种显字效果源码

[复制链接]

出0入0汤圆

发表于 2012-6-18 09:34:20 | 显示全部楼层 |阅读模式
               
#include<reg52.h>
#define uchar unsigned char
uchar hang[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0xfc,0x0d,0xfe,0x0f};
sbit R=P1^0;
sbit CLK=P1^3;
sbit STB=P1^2;
sbit OE=P1^4;
char code HZ[];
char HC[8];
uchar zhuwei[8]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};

void delay(int z) //延时函数
{
int x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}

void WriteByte(char dat)//写一个字节数据
{
char i;
for(i=0;i<8;i++)
{
dat=dat>>1;
R=CY;
CLK=0;
CLK=1;
}
}


void main()//主函数
{
  int num;
   uchar a,b,c,d;

   OE=0;
    while(1)
      {
        uchar zi;
        int xh;
        
                for(zi=0;zi<3;zi++)
         {
           for(xh=0;xh<200;xh++)
            {
              for(num=0;num<16;num++)
               {
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                          for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                       
               }
            }
         }

                                for(zi=0;zi<3;zi++)
         {
           for(xh=0;xh<200;xh++)
            {
              for(num=0;num<16;num++)
               {
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                          for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                       
               }
            }
                     OE=1;
                         delay(500);
                         OE=0;
                  for(xh=0;xh<200;xh++)
            {
              for(num=0;num<16;num++)
               {
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                          for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                       
               }
            }
         }

        for(zi=0;zi<3;zi++)
         {
                 for(d=0;d<16;d++)
                 {
          
           for(xh=0;xh<10;xh++)
            {
              for(num=0;num<16;num++)
               {
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                          if(num<=d)
                                   for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                                   else
                                        for(a=0;a<8;a++)
                                   {
                                      WriteByte(0xff);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                       
               }
            }
         }
                   for(xh=0;xh<100;xh++)
            {
              for(num=0;num<16;num++)
               {
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                          for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                       
               }
            }

                 }

                         for(zi=0;zi<3;zi++)
         {
                 for(d=0;d<16;d++)
                 {
          
           for(xh=0;xh<10;xh++)
            {
              for(num=0;num<16;num++)
               {
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                          if(num<=d)
                                   for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                                   else        if(num==d+1)
                                        for(a=0;a<8;a++)
                                   {
                                      WriteByte(0x00);
                                   }
                                   else
                                        for(a=0;a<8;a++)
                                   {
                                      WriteByte(0xff);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                       
               }
            }
         }
         for(xh=0;xh<100;xh++)
            {
              for(num=0;num<16;num++)
               {
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                          for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                       
               }
            }

                 }

        for(zi=0;zi<3;zi++)
         {
                   for (c=0;c<8;c++)
                   {
            for(xh=0;xh<10;xh++)
            {
              for(num=0;num<16;num++)
               {
                 
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                               
                                 for(a=0;a<8;a++)
                                   {
                                     
                                          WriteByte(HC[a]|zhuwei[c]);
                                         

                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                                 

               }
            }
                        }         

                   for(xh=0;xh<200;xh++)
            {
              for(num=0;num<16;num++)
               {
                 
                                 for(b=0;b<4;b++)
                                  {
                                   HC[2*b]=(HZ[2*num+128*zi+32*b]);
                                   HC[2*b+1]=(HZ[2*num+1+128*zi+32*b]);
                                  }
                               
                                 for(a=0;a<8;a++)
                                   {
                                      WriteByte(HC[a]);
                                   }
                 P0=hang[num];
                 STB=1;
                                 STB=0;
                                 

               }
            }
         }


                 
     }
}

char code HZ[]=
{
0x7F,0xFF,0x7F,0xE0,0x7F,0xFF,0x03,0xC0,0x7B,0xDF,0x7B,0xF9,0x0B,0xEE,0x7B,0xEF,
0xFB,0xE0,0xFB,0xFF,0x3B,0xF8,0xBB,0xFB,0xBB,0xFB,0xDD,0xDB,0xED,0xDB,0xF6,0xC7,/*"虎",0*/
0xF7,0xFF,0x7B,0x80,0x41,0xFF,0x5D,0xDF,0x41,0xDD,0x5D,0xEB,0x41,0xEB,0x5D,0xF7,
0x5D,0xF7,0x40,0xEB,0x4F,0xEB,0x57,0xDD,0x5B,0xDE,0x5D,0xFF,0x56,0x80,0xEF,0xFF,/*"躯",1*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"一",2*/
0x03,0xE0,0x7F,0xFF,0x01,0x80,0x7D,0xBF,0x46,0xD1,0x7F,0xFF,0x47,0xF1,0xFF,0xFF,
0x03,0xC0,0xFB,0xFF,0x0B,0xE0,0xFB,0xFF,0x03,0xC0,0xDB,0xED,0xDD,0xF3,0x9E,0x8F,/*"震",3*/
0xFF,0xFF,0x01,0xC0,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x03,0xE0,
0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0xFF,0xFF,/*"王",4*/
0x03,0xE0,0x7F,0xFF,0x01,0x80,0x7D,0xBF,0x46,0xD1,0xBB,0xFF,0x01,0xC1,0xBB,0xDD,
0x83,0xDD,0xEF,0xC1,0x01,0xDD,0x6D,0xDD,0x01,0xC1,0xEF,0xDD,0x00,0xD5,0xEF,0xEE,/*"霸",5*/
0xBF,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,0x01,0xE0,0xFF,0xF7,0xFF,0xFB,0xFF,0xFD,
0xFF,0xFE,0x7F,0xFF,0xBF,0xFF,0xDF,0xFF,0xE7,0xFF,0xDB,0xFF,0x3D,0x80,0xFF,0xFF,/*"之",6*/
0xF7,0xFF,0xF7,0xFF,0x03,0xC0,0xFB,0xFF,0x0D,0xF0,0xFE,0xFF,0x03,0xF0,0xFF,0xF7,
0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xAF,0xFF,0xAF,0xFF,0x9F,0xFF,0xBF,/*"气",7*/
0xFF,0xFF,0x07,0xE0,0xF7,0xEF,0xF7,0xEF,0xF7,0xEF,0x07,0xE0,0xF7,0xED,0xF7,0xFD,
0xF7,0xFB,0x3B,0xF7,0xFB,0xEE,0xFD,0x9F,0xCE,0xFF,0x3F,0xFF,0xFF,0xFE,0xFF,0xFD,/*"尽",8*/
0xFF,0xFF,0x07,0xF0,0xF7,0xF7,0xF7,0xF7,0x07,0xF0,0xF7,0xF7,0xF7,0xF7,0x07,0xF0,
0xDF,0xFD,0xDD,0xDD,0xDB,0xDD,0xD7,0xED,0xD7,0xF5,0xDF,0xFD,0x00,0x80,0xFF,0xFF,/*"显",9*/
0xFF,0xFF,0x03,0xF0,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0x01,0xC0,0xDF,0xFE,
0xDF,0xFE,0xDF,0xFE,0xEF,0xFE,0xEF,0xFE,0xF7,0xDE,0xFB,0xDE,0xFD,0xC1,0xFE,0xFF,/*"无",10*/
0xFF,0xFD,0x3B,0xE0,0xB7,0xED,0x37,0xE0,0xFF,0xFD,0x0F,0x80,0xF0,0xFF,0x37,0xE0,
0xB7,0xEF,0xB7,0xED,0xB7,0xED,0xF7,0xFA,0x77,0xF7,0xAB,0xEF,0x1D,0x80,0xFF,0xFF,/*"遗",11*/
};

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-6-18 11:15:41 | 显示全部楼层
效果图有吗?

出0入0汤圆

 楼主| 发表于 2012-6-18 16:08:17 | 显示全部楼层
http://player.youku.com/player.php/sid/XNDE1NTAzMTQw/v.swf
有视频有真像

出0入0汤圆

发表于 2012-6-30 16:44:04 | 显示全部楼层
学习了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 00:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表