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

📄 led.c

📁 显示屏程序
💻 C
📖 第 1 页 / 共 4 页
字号:
    uchar idata  i,j,high_count;         //高计数器

    j=da_high-1;
    for(i=j;i!=0xff;i--)            //从最后一行扫描到0行
    {
        v3_getmdp(i);                //确定6264和数据指针
        v3_movdph(i);                //放1行数据
        for(j=0;j<da_loog/2;j++)
        {
            disp();
        }
    }
}

//***********************************
//   1列1列的取数据
//***********************************
void v2_movalh(uchar dad_word1,uchar dad_long1)
{
    uchar idata  i,j;
    uchar idata  dad_mod;             //放第几个6264
    uchar idata  dad_val;
    uint  idata   dad_addr;            //放信息地址

    dad_mod=da_high/da_scan;         //算出用几个6264
    for(i=0;i<dad_mod;i++)
    {
        sdram0(i);
                           // i=1;
        for(j=0;j<da_scan;j++)       //根据扫描行数扫描
        {
            dad_addr=(i*da_scan+j)*da_loog+dad_long1;         //算出当前行地址
            daw_6264e+=dad_addr;     //确定信息地址
            daw_6264f+=dad_addr;
            dad_val=*daw_6264e;      //取出地址数据
            dad_val|=dad_word1;
            *daw_6264f=dad_val;

            //------------------------地址复位
            daw_6264e=&dram;
            daw_6264f=&dramm;
        }
    }
}

//***********************************
//   3从左向右显示
//***********************************
void v2o_le_ri()
{
    uchar   idata  i,j,h,dad_word;
    uchar   code *pnt4=&cd_le_ri;
    uchar   code *pnt4c=&cd_le_ri_c;

    for(i=0;i<da_loog;i++)         //1列1列的从左向右显示
    {
        for(j=0;j<8;j++)           //1列8位数据   1位1位的向右显示
        {
            if(!b_clean)
            {
                pnt4=&cd_le_ri;        //取出 与的位
            }
            else
            {
                pnt4=&cd_le_ri_c;
            }
            pnt4+=j;
            dad_word=*pnt4;        //取出 与的位
            v2_movalh(dad_word,i);   //1列1列显示
            for(h=0;h<da_loog/8;h++)
            {
                disp();
            }

        }
    }
}

//***********************************
//   4从右向左显示
//***********************************
void v2o_ri_le()
{
    uchar idata  i,j,h,dad_word;
    uchar idata  dad_val;                 //临时用的
    uchar code *pnt4=&cd_ri_le;
    uchar code *pnt4_c=&cd_ri_le_c;

    dad_val=da_loog-1;
    for(i=dad_val;i!=0xff;i--)         //1列1列的从左向右显示
    {
        for(j=0;j<8;j++)           //1列8位数据   1位1位的向右显示
        {
            if(!b_clean)
            {
                pnt4=&cd_ri_le;        //取出 与的位
            }
            else
            {
                pnt4=&cd_ri_le_c;        //取出 与的位
            }
            pnt4+=j;
            dad_word=*pnt4;        //取出 与的位
            v2_movalh(dad_word,i);   //1列1列显示
            for(h=0;h<da_loog/8;h++)
            {
                disp();
            }
        }
    }
}

//***********************************
//   5上下开门
//***********************************
void v2o_updo_open()
{
    uchar idata  i,j;
    uchar idata  dad_val1;             //一半行数
    uchar idata  dad_val2;             //上半指针
    uchar idata  dad_val3;             //下半指针

    dad_val1=da_high/2;
    dad_val2=dad_val1-1;
    dad_val3=dad_val1;
    for(i=0;i<dad_val1;i++)
    {
        v3_getmdp(dad_val2);          //确定6264和数据指针
        v3_movdph(dad_val2);          //放1行数据
        for(j=0;j<da_loog/2;j++)
        {
            disp();
        }

        v3_getmdp(dad_val3);          //确定6264和数据指针
        v3_movdph(dad_val3);          //放1行数据
        for(j=0;j<da_loog/2;j++)
        {
            disp();
        }

        dad_val2--;
        dad_val3++;
    }
}

//***********************************
//   6上下关门
//***********************************
void v2o_updo_close()
{
    uchar idata  i,j;
    uchar idata  dad_val1;             //一半行数
    uchar idata  dad_val3;             //下半指针

    dad_val1=da_high/2;
    dad_val3=da_high-1;               //最后一行

    for(i=0;i<dad_val1;i++)
    {
        v3_getmdp(i);               //确定6264和数据指针
        v3_movdph(i);              //放1行数据
        for(j=0;j<da_loog/2;j++)
        {
            disp();
        }

        v3_getmdp(dad_val3);          //确定6264和数据指针
        v3_movdph(dad_val3);          //放1行数据
        for(j=0;j<da_loog/2;j++)
        {
            disp();
        }
        dad_val3--;
    }
}

//***********************************
//    7向右百叶
//***********************************
void v2o_right_leaf()
{
    uchar idata  i,j,h,dad_word;
    uchar code *pnt4=&cd_le_ri;
    uchar code *pnt5=&cd_le_ri_c;

    for(i=0;i<8;i++)         //1列1列的从左向右显示
    {
        for(j=0;j<da_loog;j++)           //1列8位数据   1位1位的向右显示
        {
            if(!b_clean)
            {
                pnt4=&cd_le_ri;        //取出 与的位
            }
            else
            {
                pnt4=&cd_le_ri_c;        //取出 与的位
            }
            pnt4+=i;
            dad_word=*pnt4;        //取出 与的位
            v2_movalh(dad_word,j);   //1列1列显示
            for(h=0;h<1;h++)
            {
                disp();
            }
        }
    }
}

//***********************************
//    8向下百叶
//***********************************
void v2o_down_leaf()
{
    uchar idata  i,j,h,high_count;         //高计数器

    for(i=0;i<8;i++)                    //8行百叶
    {
        for(h=0;h<da_high;h+=8)
        {
            j=i+h;
            v3_getmdp(j);                //确定6264和数据指针
            v3_movdph(j);                //放1行数据
            for(j=0;j<da_loog/2;j++)
            {
                disp();
            }
        }
    }
}

//***********************************
//    9左右开门显示
//***********************************
void v2o_leri_open()
{
    uchar idata  dad_val4;
    uchar idata  dad_val5;
    uchar idata  dad_val6;
    uchar idata  i,j,h,dad_word;
    uchar code *pnt4=&cd_le_ri;
    uchar code *pnt4c=&cd_le_ri_c;
    uchar code *pnt5=&cd_ri_le;
    uchar code *pnt5c=&cd_ri_le_c;

    dad_val4=da_loog/2;
    dad_val5=dad_val4;
    dad_val6=dad_val4-1;
    for(i=0;i<dad_val4;i++)         //1列1列的从左向右显示
    {
        for(j=0;j<8;j++)           //1列8位数据   1位1位的向右显示
        {
            if(!b_clean)
            {
                pnt5=&cd_ri_le;        //取出 与的位
            }
            else
            {
                pnt5=&cd_ri_le_c;        //取出 与的位
            }
            pnt5+=j;
            dad_word=*pnt5;        //取出 与的位
            v2_movalh(dad_word,dad_val6);   //1列1列显示

            if(!b_clean)
            {
                pnt4=&cd_le_ri;        //取出 与的位
            }
            else
            {
                pnt4=&cd_le_ri_c;        //取出 与的位
            }
            pnt4+=j;
            dad_word=*pnt4;        //取出 与的位
            v2_movalh(dad_word,dad_val5);   //1列1列显示
            for(h=0;h<da_loog/4;h++)
            {
                disp();
            }

        }
        dad_val6--;
        dad_val5++;
    }
}

//***********************************
//    10左右关门显示
//***********************************
void v2o_leri_close()
{
    uchar idata  dad_val4;
    uchar idata  dad_val5;
    uchar idata  dad_val6;
    uchar idata i,j,h,dad_word;
    uchar code *pnt4=&cd_ri_le;
    uchar code *pnt5=&cd_le_ri;
    uchar code *pnt4c=&cd_le_ri_c;
    uchar code *pnt5c=&cd_ri_le_c;


    dad_val4=da_loog/2;
    dad_val6=da_loog-1;
    for(i=0;i<dad_val4;i++)         //1列1列的从左向右显示
    {
        for(j=0;j<8;j++)           //1列8位数据   1位1位的向右显示
        {
            if(!b_clean)
            {
                pnt5=&cd_le_ri;        //取出 与的位
            }
            else
            {
                pnt5=&cd_le_ri_c;        //取出 与的位
            }
            pnt5+=j;
            dad_word=*pnt5;        //取出 与的位
            v2_movalh(dad_word,i);   //1列1列显示

            if(!b_clean)
            {
                pnt4=&cd_ri_le;        //取出 与的位
            }
            else
            {
                pnt4=&cd_ri_le_c;        //取出 与的位
            }

            pnt4+=j;
            dad_word=*pnt4;        //取出 与的位
            v2_movalh(dad_word,dad_val6);   //1列1列显示

            for(h=0;h<da_loog/4;h++)
            {
                disp();
            }
        }
        dad_val6--;
    }
}

//***********************************
//    11向左百叶
//***********************************
void v2o_left_leaf()
{
    idata uchar i,j,h,dad_word;
    idata uchar code *pnt4=&cd_ri_le;
    idata uchar code *pnt4c=&cd_ri_le_c;
    idata uchar dad_val;                 //临时用的
    dad_val=da_loog-1;
    for(j=0;j<8;j++)                //1列8位数据   1位1位的向右显示
    {
        for(i=dad_val;i!=0xff;i--)   //1列1列的从左向右显示
        {
            if(!b_clean)
            {
                pnt4=&cd_ri_le;        //取出 与的位
            }
            else
            {
                pnt4=&cd_ri_le_c;        //取出 与的位
            }
            pnt4+=j;
            dad_word=*pnt4;        //取出 与的位
            v2_movalh(dad_word,i);   //1列1列显示
            for(h=0;h<1;h++)
            {
                disp();
            }
        }
    }
}

⌨️ 快捷键说明

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