新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C51實現PID算法代碼

        C51實現PID算法代碼

        作者: 時間:2012-03-25 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/171790.htm
        上一頁 1 2 下一頁

        關鍵詞: 代碼 算法 PID 實現 C51

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 白山市| 莱芜市| 新余市| 滦南县| 宁乡县| 丹棱县| 阜新市| 改则县| 马鞍山市| 枣阳市| 武鸣县| 琼结县| 叶城县| 伊川县| 民丰县| 九台市| 上饶市| 安庆市| 庆安县| 孝昌县| 泰兴市| 安徽省| 阿坝| 哈密市| 志丹县| 五莲县| 原平市| 湟源县| 井冈山市| 论坛| 三门峡市| 大港区| 台前县| 保山市| 博罗县| 邻水| 嘉峪关市| 太仆寺旗| 云浮市| 昭平县| 德阳市|