搜索
bottom↓
回复: 2

发个16*128LED点阵的protues仿真。

[复制链接]

出0入97汤圆

发表于 2010-5-12 09:10:13 | 显示全部楼层 |阅读模式
参考网上的16*16改的,不过有点问题,不知为什么当显示完所有字符后,后面就有一片乱码,请高手指教!!

估计由于protues的刷新率不够,显示的效果非常不好。应该不是程序问题吧。


(原文件名:图.jpg)



#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

sbit RCK=P3^2;
sbit E1=P3^3;

uchar code disp[32*16]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0xC0,0x03,0xE0,0x0F,0xF0,0x1F,0x38,0x18,0x18,0x30,0x08,0x20,0x08,0x20,
0x08,0x20,0x08,0x20,0x08,0x20,0x18,0x30,0x70,0x1C,0xF0,0x1F,0xE0,0x0F,0x80,0x03,//O

0x00,0x00,0x08,0x00,0xF8,0x0F,0xF8,0x1F,0xF8,0x3F,0x08,0x30,0x00,0x20,0x00,0x20,
0x00,0x20,0x00,0x20,0x00,0x20,0x08,0x30,0x08,0x10,0xF8,0x0F,0x08,0x00,0x00,0x00,//U

0x00,0x00,0x00,0x20,0x08,0x20,0xF8,0x3F,0xF8,0x3F,0xF8,0x3F,0x08,0x21,0x08,0x01,
0x08,0x03,0x88,0x07,0x88,0x0F,0x98,0x1C,0xF8,0x38,0x70,0x30,0x20,0x20,0x00,0x20,//R

0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0xF8,0x3F,0x08,0x20,0x08,0x20,0x08,0x20,
0x08,0x20,0x08,0x20,0x18,0x30,0x18,0x10,0xF0,0x1F,0xF0,0x0F,0xE0,0x07,0x00,0x01,//D

0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0xF8,0x3F,0xF8,0x3F,0x88,0x21,0x88,0x21,
0x88,0x21,0x88,0x21,0x88,0x21,0xC8,0x23,0x18,0x20,0x18,0x30,0x30,0x18,0x00,0x00,//E

0x00,0x00,0x08,0x00,0x08,0x00,0x38,0x00,0xF8,0x01,0xE8,0x07,0x80,0x1F,0x00,0x3E,
0x00,0x38,0x00,0x0E,0x80,0x03,0xE8,0x00,0x38,0x00,0x18,0x00,0x08,0x00,0x00,0x00,//V

0x20,0x00,0x24,0x08,0x24,0x48,0x24,0x84,0xFE,0x7F,0x23,0x02,0x22,0x21,0x20,0x10,
0xFF,0x09,0x20,0x06,0x22,0x1A,0xAC,0x61,0x20,0x80,0x30,0xE0,0x20,0x00,0x00,0x00,//我

0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,0x00,0x00,0xF8,0xFF,0x02,0x00,0x04,0x00,
0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x40,0x04,0x80,0xFE,0x7F,0x04,0x00,0x00,0x00,//们

0x00,0x00,0xF8,0x7F,0x0C,0x21,0x0B,0x21,0x08,0x21,0x08,0x21,0xFC,0x7F,0x28,0x00,
0x90,0x00,0x0F,0x01,0x08,0x43,0x08,0x80,0x08,0x40,0xFC,0x3F,0x08,0x00,0x00,0x00,//的

0x00,0x00,0xF8,0x07,0x48,0x02,0x48,0x02,0x48,0x02,0x48,0x02,0xFF,0x3F,0x48,0x42,
0x48,0x42,0x48,0x42,0x48,0x42,0xFC,0x47,0x08,0x40,0x00,0x70,0x00,0x00,0x00,0x00,//电

0x80,0x00,0x80,0x00,0x82,0x00,0x82,0x00,0x82,0x00,0x82,0x40,0x82,0x80,0xE2,0x7F,
0xA2,0x00,0x92,0x00,0x8A,0x00,0x86,0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00,//子

0x80,0x00,0x82,0x80,0x82,0x40,0x82,0x30,0xFE,0x0F,0x82,0x00,0x82,0x00,0x82,0x00,
0x82,0x00,0x82,0x00,0xFE,0xFF,0x82,0x00,0x83,0x00,0xC2,0x00,0x80,0x00,0x00,0x00,//开

0x00,0x40,0x10,0x20,0x18,0x90,0x16,0x88,0x10,0x46,0x90,0x41,0xF0,0x23,0x9F,0x14,
0x90,0x08,0x90,0x14,0x92,0x22,0x94,0x21,0x10,0x40,0x18,0xC0,0x10,0x40,0x00,0x00,//发

0x40,0x00,0x42,0x00,0x44,0x00,0xCC,0x7F,0x00,0x20,0x40,0x10,0x20,0x00,0x90,0x3F,
0x0C,0x44,0x03,0x44,0x0C,0x42,0x10,0x43,0x20,0x40,0x60,0x70,0x20,0x00,0x00,0x00,//论

0x20,0x10,0x20,0x30,0x20,0x10,0xFF,0x1F,0x20,0x08,0x60,0x08,0x44,0x20,0x44,0x38,
0x44,0x26,0xC4,0x21,0x44,0x20,0x44,0x24,0x46,0x28,0x64,0x70,0x40,0x00,0x00,0x00//坛

} ;



uchar i=0;
uchar aa=0;

void delayms(uint t)
{
  uchar j;
  for(;t>0;t--)
  for(j=0;j<125;j++)
  {}
}
void main()
{


  uint base=0;                       
  uchar tmp=0;                                //临时变量
   uint rows=sizeof(disp);       
        uchar col=0;                                //列选线
    SCON=0x00;

  P1=0x1f;        //列   
  E1=0;
/*
  RCK=0;
  SBUF=0x02;
  while(TI==0);
  TI=0;
  SBUF=0x00;
  while(TI==0);
  TI=0;
  RCK=1;
   */
  while(1)
  {
                  
         for(base=0;base<rows;base=base+2)
                 {

                                for(i=0;i<128;i++)
                                  {
                               
                     if(i<16)
                                         P2=0x00;
                                         else if(i<32)
                                         P2=0x01;
                                         else if(i<48)
                                         P2=0x02;
                                         else if(i<64)
                                         P2=0x03;
                                         else if(i<80)
                                         P2=0x04;
                                         else if(i<96)
                                         P2=0x05;
                                         else if(i<112)
                                         P2=0x06;
                                         else if(i<128)
                                         P2=0x07;



                                         P1=i;
                                         aa=2*i;
                                                                                                         
                                         RCK=0;
                                         SBUF=disp[base+aa];
                                         while(TI==0);
                                         TI=0;
                               
                                         SBUF=disp[base+aa+1];
                                         while(TI==0);
                                         TI=0;
                                         RCK=1;                                         
                               
                                         delayms(3);
                               
                                /*         RCK=0;
                                         SBUF=0x00;
                                         while(TI==0);
                                         TI=0;
                               
                                         SBUF=0x00;
                                         while(TI==0);
                                         TI=0;
                                         RCK=1;         */
                                                                                          
                                  }        //for(i=0;i<32;i++)
                       
                  
                 }//for(base=0;base<rows;base=base+2)          
                  
  } //end while(1)
   
  
}


(原文件名:16-128.jpg)

点击此处下载 ourdev_553300.rar(文件大小:29K) (原文件名:protues仿真16-128.rar)
Keil文件ourdev_553301.rar(文件大小:13K) (原文件名:16-128.rar)

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-6-25 10:19:03 | 显示全部楼层
mark!·

出0入0汤圆

发表于 2010-6-28 12:37:01 | 显示全部楼层
乱码肯定是程序处理问题,刷新率可以调节的。仔细看看程序吧,估计应该是程序运行到最后,取不到数据码了。加入清屏数组应该可以解决。我没有看程序。
我的相关帖子。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3829997&bbs_page_no=1&bbs_id=1037
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4098136&bbs_page_no=1&bbs_id=1037
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 02:21

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

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