新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C51如何實(shí)現(xiàn)PID算法

        C51如何實(shí)現(xiàn)PID算法

        作者: 時(shí)間:2010-12-09 來(lái)源:網(wǎng)絡(luò) 收藏


        /*以下部分代碼是講所有的正數(shù)項(xiàng)疊加,負(fù)數(shù)項(xiàng)疊加*/
        if(.EkFlag_Uint8[0]==0)
        {
        PostSum+=Temp[0];//正數(shù)和
        }
        else
        {
        NegSum+=Temp[0];//負(fù)數(shù)和
        }//KP*EK0
        if(.EkFlag_Uint8[1]!=0)
        {
        PostSum+=Temp[1];//正數(shù)和
        }
        else
        {
        NegSum+=Temp[1];//負(fù)數(shù)和
        }//-kI*EK1
        if(.EkFlag_Uint8[2]==0)
        {
        PostSum+=Temp[2];//正數(shù)和
        }
        else
        {
        NegSum+=Temp[2];//負(fù)數(shù)和
        }//KD*EK2
        PostSum+=(uint32)PID.Uk_Uint16;//
        if(PostSum>NegSum)//是否控制量為正數(shù)
        {
        Temp[0]=PostSum-NegSum;
        if(Temp[0](uint32)ADPool.Value_Uint16[UMAXADCH])//小于限幅值則為計(jì)算值輸出
        {
        PID.Uk_Uint16=(uint16)Temp[0];
        }
        else
        {
        PID.Uk_Uint16=ADPool.Value_Uint16[UMAXADCH];//否則為限幅值輸出
        }
        }
        else//控制量輸出為負(fù)數(shù),則輸出0
        {
        PID.Uk_Uint16=0;
        }
        }

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

        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: 算法 PID 實(shí)現(xiàn) 如何 C51

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 汶川县| 芜湖市| 大悟县| 贵州省| 湖北省| 鹤岗市| 九寨沟县| 建德市| 广丰县| 静海县| 辽阳县| 阜平县| 手机| 延长县| 南部县| 溆浦县| 东明县| 通化县| 轮台县| 瓮安县| 宜春市| 迁西县| 锦屏县| 乌海市| 西乡县| 铜山县| 浪卡子县| 鄂伦春自治旗| 潍坊市| 黎平县| 锡林浩特市| 呼和浩特市| 嘉黎县| 七台河市| 尼木县| 平塘县| 澄城县| 绿春县| 弥勒县| 雅江县| 兖州市|