⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lattice.c

📁 74ls164编程应用 74ls164编程应用
💻 C
字号:
#include <at89x52.h>
#define uchar unsigned char
#define uint unsigned int

uchar tabdisplay[]={0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81};
uchar tabscan[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

sbit LED_CLK1=P3^1;   //LED时钟线1
sbit LED_DAT1=P3^0;   //LED数据线1
sbit LED_CLK2=P3^2;   //LED时钟线2
sbit LED_DAT2=P3^3;   //LED数据线2

void delay_ms(unsigned char ms )     // 延时毫秒
{
    unsigned short i;
    while (ms--) 
    {
        for(i=0;i!=125;i++);
    }
}

void display_init()
{
    char i,j;
    for(i=0;i<8;i++)
    {
        for(j=0;j<8;j++)
        {
            LED_CLK1=0;
            LED_DAT1=0;
            LED_CLK1=1;
        }
    }
}

main()
{
    char i,j,h,mask1,mask2;
    display_init();//显示初始化
    delay_ms(2000);
    while(1)
    {
        for(i=0;i<8;i++)
        { 
            mask1=0x01;
            mask2=0x01;
            for(j=0;j<8;j++)
            {
                 LED_CLK1=0;
                 LED_DAT1=( (tabdisplay[i]) & mask1);//tabdisplay[i]<<=1;LED_DAT1=CY;
                 mask1<<=1;
                 LED_CLK1=1;   //上升沿移位
             }
              for(h=0;h<8;h++)
             {
                     LED_CLK2=0;
                     LED_DAT2=( (tabscan[i]) & mask2);    //tabdisplay[i]<<=1;LED_DAT1=CY;
                     mask2<<=1;
                     LED_CLK2=1;   //上升沿移位
             }
         }
     }
                
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -