找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2765|回复: 6
收起左侧

8*8点阵led灯亮的灯出现重复

[复制链接]
ID:239318 发表于 2018-2-8 21:20 | 显示全部楼层 |阅读模式
20黑币

#include<reg52.h>
unsigned char lie[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
unsigned char hang[3][8]={0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00, //数字0
                          0x00,0x3c,0x20,0x38,0x04,0x24,0x38,0x00, //数字5
                          0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}; //数字8
int  a,i,j;
void main()
{
  TMOD=0x01;
  TH0=(65536-50000)/256;

789.JPG
回复

使用道具 举报

ID:239318 发表于 2018-2-8 21:29 | 显示全部楼层
本来有挺多东西接结果上传后就不见了
回复

使用道具 举报

ID:239318 发表于 2018-2-8 21:32 | 显示全部楼层
#include<reg52.h> unsigned char lie[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; unsigned char hang[3][8]={0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00, //数字0                           0x00,0x3c,0x20,0x38,0x04,0x24,0x38,0x00, //数字5                           0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}; //数字8 int  a,i,j; void main() {   TMOD=0x01;   TH0=(65536-50000)/256;           TL0=(65536-50000)%256;   TR0=1;   while(1)   {            P2=hang[j][i];      P1=lie[i];           i++;          if(i==8)          {            i=0;          }          if(TF0==1)          {                    TF0=0;                    a++;                                    if(a==10)                  {                            a=0;                            j++;                                                     if(j==3)                          {                            j=0;                          }                  }      }   } }                           
回复

使用道具 举报

ID:239318 发表于 2018-2-8 21:43 | 显示全部楼层
又来写一遍,好烦啊。大家可以看一下图片和程序,按照正常的思路数字“0”在8*8点阵第一行应该是0x00,第二行应该是0x18,我按照这种思路用delay函数写过一遍结果是正常的,用定时器就出现上面这中情况,先谢谢大家了。
回复

使用道具 举报

ID:1 发表于 2018-2-9 01:11 | 显示全部楼层
科技论2 发表于 2018-2-8 21:29
本来有挺多东西接结果上传后就不见了

可能是有特殊字符被屏蔽了,代码最好用代码框 框起来
回复

使用道具 举报

ID:239318 发表于 2018-2-9 10:56 | 显示全部楼层
admin 发表于 2018-2-9 01:11
可能是有特殊字符被屏蔽了,代码最好用代码框 框起来

可以说详细一点吗?我真的想不出办法来了

  1. #include<reg52.h>
  2. unsigned char lie[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  3. unsigned char hang[3][8]={0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00, //数字0                                               0x00,0x3c,0x20,0x38,0x04,0x24,0x38,0x00, //数字5                           0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}; //数字8
  4. int  a,i,j;
  5. void main()
  6. {
  7.      TMOD=0x01;   
  8.      TH0=(65536-50000)/256;           
  9.      TL0=(65536-50000)%256;   
  10.      TR0=1;   
  11.      while(1)   
  12. {            
  13.     P2=hang[j][i];     
  14.     P1=lie[i];         
  15.      i++;         
  16.    if(i==8)        
  17.   {            
  18.       i=0;         
  19.    }        
  20.   if(TF0==1)        
  21.   {                    
  22.        TF0=0;                  
  23.         a++;                                   
  24.       if(a==10)                 
  25.    {                           
  26.          a=0;                           
  27.          j++;                                                     
  28.         if(j==3)                        
  29.        {                          
  30.            j=0;                        
  31.         }                  
  32.      }     
  33.    }   
  34. }
  35. }
复制代码
回复

使用道具 举报

ID:239318 发表于 2018-2-9 17:04 | 显示全部楼层
是消影问题,改一下程序就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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