欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: LED點陣實驗兩個圖案顯示for循環 [打印本頁]

作者: 瀟博    時間: 2025-5-14 16:02
標題: LED點陣實驗兩個圖案顯示for循環
#include "reg52.h"
#include "intrins.h"

typedef unsigned char u8;
typedef unsigned int u16;

sbit SRCLK=P3^6;
sbit rCLK=P3^5;
sbit SER=P3^4;

//點陣列控制數據1
u8 gled_col[32]=
{0x80,0x00,0x9F,0x10,0x90,0x10,0x90,0x08,0x90,0x04,0x9E,0x02,0x82,0x00,0xE2,0x7F,
0x82,0x02,0x9E,0x04,0x90,0x04,0x90,0x08,0x90,0x10,0x90,0x22,0x8A,0x41,0x84,0x00
};
//點陣列控制數據2
u8 gled_co2[32]=
{0x80,0x08,0x82,0x08,0xF4,0x7F,0x84,0x08,0x00,0x02,0xE1,0x3F,0x02,0x22,0xFA,0x7F,
0x08,0x22,0xE4,0x3F,0x07,0x02,
0xA4,0x26,0xA4,0x2A,0x64,0x2A,0x14,0x22,0x08,0x22};


//點陣行控制數據
u8 gled_row[32]=
{
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80};

void delay_10us(u16 ten_us)//當傳入Ten_us=1時,大約延時10us
{
        while(ten_us--);
}


void hc595_write_data(u8 dat1,u8 dat2,u8 dat3,u8 dat4)
{
        u8 i=0;
        for(i=0;i<8;i++)
        {
                 SER=dat4>>7;
                dat4<<=1;
                SRCLK=0;
                _nop_();
                SRCLK=1;
                _nop_();
        }

        for(i=0;i<8;i++)
        {
                 SER=dat3>>7;
                dat3<<=1;
                SRCLK=0;
                _nop_();
                SRCLK=1;
                _nop_();
        }

        for(i=0;i<8;i++)
        {
                 SER=dat2>>7;
                dat2<<=1;
                SRCLK=0;
                _nop_();
                SRCLK=1;
                _nop_();
        }

        for(i=0;i<8;i++)
        {
                 SER=dat1>>7;
                dat1<<=1;
                SRCLK=0;
                _nop_();
                SRCLK=1;
                _nop_();
        }
        rCLK=1;
        delay_10us(1);
        rCLK=0;
}

void main()
{
        u8 i=0;
        int j;       
        while(1)   
        {
          
                            
                for(j=0;j<100;j++)
               
                        for(i=0;i<16;i++)//循環16次 行,列
                       
                        {        hc595_write_data(gled_row[i],gled_row[i+16],~gled_col[i*2],~gled_col[i*2+1]);
                                delay_10us(10);//延遲一段時間,
                                hc595_write_data(0x00,0x00,0x00,0x00);//消影
                        }               
               
                for(j=0;j<100;j++)
                        for(i=0;i<16;i++)//循環16次 行,列
                        {
                                hc595_write_data(gled_row[i],gled_row[i+16],~gled_co2[i*2],~gled_co2[i*2+1]);

                        }                                       
                                                       
          }
}



作者: cy009    時間: 2025-6-20 16:50
不同的點陣屏電路,程序會有區別,希望樓主先上屏電路圖,便于理解程序。
作者: psm4839    時間: 2025-6-20 19:14
既無硬件電路又無實物顯示效果,霧里云里。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1