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

📄 impact.c

📁 lpc2368 source files
💻 C
📖 第 1 页 / 共 3 页
字号:
            {
                bt4 = bardata[cntnum];
                cntnum++;
                if (cntnum == countnum)
                    endbit = 1;
                bt4 = bt4 * 2;
                bt0 = bar[bt4];
            }
        }
        if (stopbit == 1)
            bt0 = bt0 << 3;
        else
            bt0 = bt0 << 5;
    
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;
        bt0 = bt0 << 1;
    }
    else
    {
        for (count=dotcnt;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();             //1

    dotcnt = 0;
    for(count=0;count<max_char;count++)
	{
        ch = *(line_20 + prt_msg_data[count]);
        ch = ch << 2;
        for (bit_i=0;bit_i<6;bit_i++)
        {
            if ((ch & 0x80) == 0x80)
                barbuff[dotcnt] = 1;
            else
                barbuff[dotcnt] = 0;
            ch = ch << 1;
            dotcnt++;
        }
    }

    if (barflag == 1)
    {
        for (count=dotcnt;count<114;count++)
        {
             barbuff[count] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;
        bt0 = bt0 << 1;
    }
    else
    {
        for (count=dotcnt;count<144;count++)
             barbuff[count] = 0;
    }


    dot_1_bar();               //2

    dotcnt = 0;
    for(count=0;count<max_char;count++)
	{
        ch = *(line_30 + prt_msg_data[count]);
        ch = ch << 2;
        for (bit_i=0;bit_i<6;bit_i++)
        {
            if ((ch & 0x80) == 0x80)
                barbuff[dotcnt] = 1;
            else
                barbuff[dotcnt] = 0;
            ch = ch << 1;
            dotcnt++;
        }
    }
    if (barflag == 1)
    {
        for (count=dotcnt;count<114;count++)
        {
             barbuff[count] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;

        if (stopbit == 1)
            bt0 = bt0 << 1;
        else
        {
            if (startbit == 1)
            {
                bt0 = 0x90;
                startbit = 0;
            }
            else
            {
                bt0 = bar[bt4 + 1];
            }
        }
    }
    else
    {
        for (count=dotcnt;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();         //3


    dotcnt = 0;
    for(count=0;count<max_char;count++)
	{
        ch = *(line_40 + prt_msg_data[count]);
        ch = ch << 2;
        for (bit_i=0;bit_i<6;bit_i++)
        {
            if ((ch & 0x80) == 0x80)
                barbuff[dotcnt] = 1;
            else
                barbuff[dotcnt] = 0;
            ch = ch << 1;
            dotcnt++;
        }
    }

    if (barflag == 1)
    {
        for (count=dotcnt;count<114;count++)
        {
             barbuff[count] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;

        bt0 = bt0 << 1;
    }
    else
    {
        for (count=dotcnt;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();                //4

    dotcnt = 0;
    for(count=0;count<max_char;count++)
	{
        ch = *(line_50 + prt_msg_data[count]);
        ch = ch << 2;
        for (bit_i=0;bit_i<6;bit_i++)
        {
            if ((ch & 0x80) == 0x80)
                barbuff[dotcnt] = 1;
            else
                barbuff[dotcnt] = 0;
            ch = ch << 1;
            dotcnt++;
        }
    }
    if (barflag == 1)
    {
        for (count=dotcnt;count<114;count++)
        {
             barbuff[count] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;


        if (stopbit == 1)
            bt0 = 0xEB;
        else
            bt0 = bt0 << 1;
    }
    else
    {
        for (count=dotcnt;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();              //5

    dotcnt = 0;
    for(count=0;count<max_char;count++)
	{
        ch = *(line_60 + prt_msg_data[count]);
        ch = ch << 2;
        for (bit_i=0;bit_i<6;bit_i++)
        {
            if ((ch & 0x80) == 0x80)
                barbuff[dotcnt] = 1;
            else
                barbuff[dotcnt] = 0;
            ch = ch << 1;
            dotcnt++;
        }
    }

    if (barflag == 1)
    {
        for (count=dotcnt;count<114;count++)
        {
             barbuff[count] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;
    
        bt0 = bt0 << 1;
    }
    else
    {
        for (count=dotcnt;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();             //6

    dotcnt = 0;
    for(count=0;count<max_char;count++)
	{
        ch = *(line_70 + prt_msg_data[count]);
        ch = ch << 2;
        for (bit_i=0;bit_i<6;bit_i++)
        {
            if ((ch & 0x80) == 0x80)
                barbuff[dotcnt] = 1;
            else
                barbuff[dotcnt] = 0;
            ch = ch << 1;
            dotcnt++;
        }
    }
    if (barflag == 1)
    {
        for (count=dotcnt;count<114;count++)
        {
             barbuff[count] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;

        bt0 = bt0 << 1;
    }
    else
    {
        for (count=dotcnt;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();           //7

    if (barflag == 1)
    {
        for (dotcnt=0;dotcnt<114;dotcnt++)
        {
            barbuff[dotcnt] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;
    
        bt0 = bt0 << 1;
    }
    else
    {
        for (count=0;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();             //8

    if (barflag == 1)
    {
        for (dotcnt=0;dotcnt<114;dotcnt++)
        {
            barbuff[dotcnt] = 0;
        }

        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;
    
        bt0 = bt0 << 1;
    }
    else
    {
        for (count=0;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();          //9

    if (barflag == 1)
    {
        for (dotcnt=0;dotcnt<114;dotcnt++)
        {
            barbuff[dotcnt] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;
    
        bt0 = bt0 << 1;
    }
    else
    {
        for (count=0;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();            //10

    if (barflag == 1)
    {
        for (dotcnt=0;dotcnt<114;dotcnt++)
        {
            barbuff[dotcnt] = 0;
        }
        if ((bt0 & 0x80) == 0x80)
            for (count=114;count<144;count++)
                barbuff[count] = 1;
        else
            for (count=114;count<144;count++)
                barbuff[count] = 0;
    
        bt0 = bt0 << 1;
    }
    else
    {
        for (count=0;count<144;count++)
             barbuff[count] = 0;
    }
    dot_1_bar();         //11

    if (barflag == 1)
    {
        if (stopbit == 1)
        {
            for (dotcnt=0;dotcnt<114;dotcnt++)
            {
                barbuff[dotcnt] = 0;
            }
            if ((bt0 & 0x80) == 0x80)
                for (count=114;count<144;count++)
                    barbuff[count] = 1;
            else
                for (count=114;count<144;count++)
                    barbuff[count] = 0;
            bt0 = bt0 << 1;
            dot_1_bar();    //12
            for (dotcnt=0;dotcnt<114;dotcnt++)
            {
                barbuff[dotcnt] = 0;
            }
            if ((bt0 & 0x80) == 0x80)
                for (count=114;count<144;count++)
                    barbuff[count] = 1;
            else
                for (count=114;count<144;count++)
                    barbuff[count] = 0;
            dot_1_bar();  //13
            endbit = 0;
            barflag = 0;
        }
        
    }
    if (endbit == 1) stopbit = 1;
    //delay_10ms();
    prn_pow(OFF);
}

void dot_1_bar(void)
{ 
    unsigned char dot_i,temp;//,dot_t;


    chk();
    for(dot_i=0;dot_i<18;dot_i++)
    {
        hi_pul();
        //temp =0xff;
	temp = 0x00; 
        if(barbuff[dot_i] == 1)
        {
            //temp = (temp & 0xfe);
            temp = (temp | 0x01);
        }
    
        if(barbuff[dot_i+54] == 1)
        {
            //temp = (temp & 0xf7);
            temp = (temp | 0x08);
        }
    
        if(barbuff[dot_i+108] == 1)
        {
            //temp = (temp & 0xbf);
            temp = (temp | 0x40);

        }
    
        //dbus = temp;
        //DATAOUT_A = temp;
		FIO1PIN3 = ~temp;
        //prt_enable();
        lo_pul();
        hi_pul();
        //dbus =0xff;
        //DATAOUT_A =0x00;
        //prt_enable();
		STROBES_OFF;
    
        //temp =0xff;
	temp = 0x00; 
        if(barbuff[dot_i+18] == 1)
        {
            //temp = (temp & 0xfd);
            temp = (temp | 0x02);
        }
    
        if(barbuff[dot_i+72] == 1)
        {
            //temp = (temp & 0xef);
            temp = (temp | 0x10);
        }
    
        if(barbuff[dot_i+126] == 1)
        {
            //temp = (temp & 0x7f);
            temp = (temp | 0x80);
        }
    
        //DATAOUT_A = temp;
		FIO1PIN3 = ~temp;
        //prt_enable();
        lo_pul();
        hi_pul();
        //DATAOUT_A =0x00;
        //prt_enable();
		STROBES_OFF;
    
        //temp =0xff;
	temp = 0x00; 
        if(barbuff[dot_i+36] == 1)
        {
            //temp = (temp & 0xfb);
            temp = (temp | 0x04);
        }
    
        if(barbuff[dot_i+90] == 1)
        {
            //temp = (temp & 0xdf);
            temp = (temp | 0x20);
        }
    
        //DATAOUT_A = temp;
		FIO1PIN3 = ~temp;
        //prt_enable();
        lo_pul();
        hi_pul();
        //DATAOUT_A =0x00;
        //prt_enable();
		STROBES_OFF;
    }
    //delay_15ms();
}


/*****************  FOR BAR CODE PRINTING (END)  *****************/

⌨️ 快捷键说明

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