微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求高手帮忙看下TM1812程序问题出在那里了

求高手帮忙看下TM1812程序问题出在那里了

时间:10-02 整理:3721RD 点击:
使用STC12C5608AD单片机P3.3口驱动TM1812(2颗芯片)驱动24颗5050RGB LED灯(每路3串)。程序如下求高手指点。
//MCU:STC12C5608AD  晶振是24M
#include<stc12c56xx.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
#define ulong unsinged long
#define nop() _nop_()
#define  RGB_count   8
#define  RGB_speed   40
sbit TM18xx_dat_in = P3^3;

void TM18xx_send_dat(uchar date) //24M晶振
{
    uchar i;
    for(i=0;i<8;i++)
    {
        if(date&0x80)            
            {
            TM18xx_dat_in=1;
                        nop();
                        nop();
            nop();  nop();  nop();  nop(); nop();
            nop();  nop();  nop();  nop(); nop();
            nop();  nop();  nop();  nop(); nop();
                        nop();
                                

                        TM18xx_dat_in=0;
            nop();
            nop();  nop();  nop();
            nop();  nop();  nop();  
                        nop();
                        nop();   
                          
            }
        else   
            {
                    TM18xx_dat_in=1;
                    nop();
                    nop();  nop();  nop();
                    nop();  nop();  nop();  
                                nop();
                                nop();  
            TM18xx_dat_in=0;
                        nop();
                        nop();
            nop();  nop();  nop();  nop(); nop();
            nop();  nop();  nop();  nop(); nop();
            nop();         nop();  nop();  nop(); nop();
                        nop();
            }
       date<<=1;
    }
}
void TM18xx_resst()
{
    TM18xx_dat_in =0;

        nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
        nop();
        nop();
}
void delay(uint t)
{
    unsigned long j;
    while(t--)   for(j=0;j<1000;j++);
}
void main()
{

    uchar n;
       
    while(1)
    {
       
        for(n=RGB_count;n>0;n--) //确定RGB点数
        {
            TM18xx_send_dat(0xff);  //红
            TM18xx_send_dat(0x00);  //绿
            TM18xx_send_dat(0x00);  //蓝
        //    TM18xx_resst();
        }
        TM18xx_resst();
        delay(1);
        for(n=RGB_count;n>0;n--) //确定RGB点数
        {
            TM18xx_send_dat(0x00);  //红
            TM18xx_send_dat(0xff);  //绿
            TM18xx_send_dat(0x00);  //蓝
        //    TM18xx_resst();
        }
            TM18xx_resst();
                delay(1);
        for(n=RGB_count;n>0;n--) //确定RGB点数
        {
            TM18xx_send_dat(0x00);  //红
            TM18xx_send_dat(0x00);  //绿
            TM18xx_send_dat(0xff);  //蓝
        //    TM18xx_resst();
        }

        TM18xx_resst();
                delay(1);

    }
}   


顶一下!坐等高手指点

程序就这样完了吗?逗我吗?

就是不知道问题出在那里了,请高手指点。

要用UCS2903     你加我QQ2437262388

顶一下,那位大神给说下问题出在那里了。

怎么没人呢?

你的程序都没写完吧!

路过学习的111111

能说下少了那部分吗,就是不知道出什么问题了

的确是缺少部分代码,自己好好看看要求,再看看你代码。你就发现了

恩,能指点下大至的方向吗?

怎么没人给指点一下啊,别沉了。

没人解答,还是帖子发错地方了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top