基于msp430g2553的线阵led图文显示秒表问题

[复制链接]
2991|16
 楼主| 快乐相随 发表于 2013-8-8 22:23 | 显示全部楼层 |阅读模式
旋转led使用 msp430g2553通过控制2ge74hc595 串转并,驱动16只led灯,但是我一直不会写秒表程序,显示指针的时候总是亮一片区域,只能显示最外面的 11个代表时间的点
 楼主| 快乐相随 发表于 2013-8-8 22:28 | 显示全部楼层
我只能显示最外圈的 在附件里

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 快乐相随 发表于 2013-8-8 22:29 | 显示全部楼层
*****************************************************************************
**函数名称;void LED_4()
**功    能:指针显示秒
******************************************************************************/
void LED_4()
{
       
        //unsigned char i=0;
        while(1)
        {  
          if(Et_flag==1)
          {
                   unsigned char d=0;
            unsigned int e=0;        //指针
               
                for(d=0;d<64;d++)
            {
                          write_led_data1(tab1[e+1],tab1[e]);
                    e=e+2;
                          delay_ms(1);
                  }
                  
                //delay_us(200);
                //delay_ms(64);
                out_data();
          }
           Et_flag=0;
          unsigned char i=0;
          
          L_RCK;
           for(i=0;i<59;i++)
           {
                           write_led_data2(0xff);
                        L_SCK;
                write_led_data2(0x00);
                    L_RCK;
                    delay_us(16);
                        H_RCK;
           }
         }
}
 楼主| 快乐相随 发表于 2013-8-8 22:31 | 显示全部楼层
void write_led_data2(unsigned char tump1)  //数据传送函数
{
        write_data2(tump1);
        out_data();

}
void write_data2(unsigned char data)
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                if(data&0x01)
                {
                        H_DAT;
                }
                else
                {
                        L_DAT;
                }
                data=data>>1;
                H_SCK;                        //令595数据输入时钟线为1,产生一个上升沿
                L_SCK;                          //令595数据输入时钟线为0,复位
        }
}


void out_data(void)       //由595向led输出并联数据函数
{
  
  H_RCK;                  //令595数据输出时钟线为1,产生一个上升沿
  L_RCK;                  //令595数据输出时钟线为0,复位
}
 楼主| 快乐相随 发表于 2013-8-8 22:32 | 显示全部楼层
//端口声明
#define L_SCK P1OUT&=~BIT3     //令595数据输入时钟线为0
#define H_SCK P1OUT|=BIT3      //令595数据输入时钟线为1
#define L_RCK P1OUT&=~BIT4      //令595数据输出时钟线为0
#define H_RCK P1OUT|=BIT4       //令595数据输出时钟线为1
#define L_DAT P1OUT&=~BIT0      //数据低位
#define H_DAT P1OUT|=BIT0        //数据高位
boltmy 发表于 2013-8-8 23:58 | 显示全部楼层
不明觉厉
 楼主| 快乐相随 发表于 2013-8-9 08:27 | 显示全部楼层
昨天断网了,这里是程序和原理图,不同的是采用595芯片,大家帮我看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 快乐相随 发表于 2013-8-9 08:29 | 显示全部楼层
采用的是16*64 旋转编码,这是截图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 快乐相随 发表于 2013-8-9 08:38 | 显示全部楼层
求解惑秒针怎么显示
 楼主| 快乐相随 发表于 2013-8-9 08:50 | 显示全部楼层
指针总是变成扇面,有没有什么好方法啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
568581185 发表于 2013-8-9 09:22 | 显示全部楼层
感觉好高级的样子
qzc13457 发表于 2013-8-9 10:25 | 显示全部楼层
点亮时间太长,
gcxzhz 发表于 2013-8-9 12:43 | 显示全部楼层
595 的输出与led接的位置反接 试一试   就是以前595输出为 12345678  对应led为12345678 现在改为12345678 对应87654321
Regsen 发表于 2013-8-9 16:49 | 显示全部楼层
自己做的广告灯啊。送女女额
tergy2012 发表于 2013-8-9 17:00 | 显示全部楼层
围观学习
publicpeople 发表于 2013-8-9 19:29 | 显示全部楼层
围观一下,呵呵。
 楼主| 快乐相随 发表于 2013-8-9 19:47 | 显示全部楼层
Regsen 发表于 2013-8-9 16:49
自己做的广告灯啊。送女女额

不是,老师布置的任务
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部