新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 點陣調試(附程序)

        點陣調試(附程序)

        作者: 時間:2016-11-28 來源:網絡 收藏

        //函數聲明;

        本文引用地址:http://www.104case.com/article/201611/322947.htm

        void HC595_CD(uint Value); //595驅動函數;


        void main()
        {


        uint i = 0;
        //P2=tableLie[0];
        //HC595_CD(tableHng[0]);
        //uint Value;
        //P2=0xfd;
        //Value = 0x01;
        //HC595_CD(Value);
        timer0_initialize();
        while(1)
        {
        if(flag==0)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(tableHng[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==1)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table1[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==2)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table2[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==3)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table3[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }


        if(flag==4)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table4[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==5)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table5[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==6)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table6[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==7)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table7[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==8)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table8[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        if(flag==9)
        {
        for(i=0;i<8;i++)
        {
        HC595_CD(table9[i]);
        P2=tableLie[i];
        delayS(3);
        }
        }

        }


        }
        static void timer0_isr(void) interrupt 1 //定時器里避免放大的延時函數 以免發生錯誤
        {
        time++;
        TR0=0;
        TL0=(0X78);
        TH0=(0X0C);
        TR0=1;
        if(time==50)
        {
        time=0;
        flag++;
        if(flag==10)
        flag=0;
        }


        }

        //74HC595驅動函數;
        //功能:把輸入的數據輸出到對應的引腳上;
        //輸入函數:Value

        void HC595_CD(uint Value)
        {
        uinti = 0 ;
        OE = 1; //芯片輸出關閉;
        MR = 0; //IC復位;
        MR = 1; //復位結束;
        for(i = 0; i < 8; i++) //傳送8位數據;
        {
        DS = Value&0x01; //并行數據轉串行;
        SH_CP = 0; //移位寄存器時鐘為0;
        ST_CP = 0; //存儲寄存器時鐘為0;
        _nop_();
        _nop_();
        _nop_(); //短延時;
        _nop_();
        Value >>= 1; //數據移位;
        SH_CP = 1; //產生移位脈沖;
        ST_CP = 1;
        }
        OE= 0; //數據輸出;
        }


        上一頁 1 2 下一頁

        關鍵詞: 點陣調

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 东港市| 南城县| 庄河市| 西吉县| 启东市| 东源县| 砚山县| 丰都县| 平乐县| 军事| 新营市| 珲春市| 什邡市| 武山县| 平顺县| 阿合奇县| 高平市| 屏边| 托里县| 南部县| 西平县| 木兰县| 本溪市| 康定县| 凤台县| 清河县| 思南县| 孙吴县| 安多县| 郧西县| 岳普湖县| 宾阳县| 石泉县| 镇赉县| 桂阳县| 乌海市| 盖州市| 饶河县| 乐安县| 舞钢市| 武陟县|