導航:首頁 > 操作系統 > 單片機調整倍數

單片機調整倍數

發布時間:2023-10-10 19:24:35

『壹』 pic單片機pid控制演算法參數整定

我這有51的

#include <stdlib.h>

#include "global_varible.h"

/****************************************************************************
* 模塊名: PID
* 描述: PID調節子程序
* 採用PID-PD演算法。在偏差絕對值大於△e時,用PD演算法,以改善動態品質。
* 當偏差絕對值小於△e時,用PID演算法,提高穩定精度。
* PIDout=kp*e(t)+ki*[e(t)+e(t-1)+...+e(1)]+kd*[e(t)-e(t-1)]
*============================================================================
* 入口: 無
* 出口: 無
* 改變: PID_T_Run=加熱時間控制
*****************************************************************************/
void PID_Math(void)
{
signed long ee1; //偏差一階
//signed long ee2; //偏差二階
signed long d_out; //積分輸出

if(!Flag_PID_T_OK)
return;
Flag_PID_T_OK=0;

Temp_Set=3700; //溫度控制設定值37.00度

PID_e0 = Temp_Set-Temp_Now; //本次偏差
ee1 = PID_e0-PID_e1; //計算一階偏差
//ee2 = PID_e0-2*PID_e1+PID_e2; //計算二階偏差
if(ee1 > 500) //一階偏差的限制范圍
ee1 = 500;
if(ee1 < -500)
ee1 = -500;
PID_e_SUM += PID_e0; //偏差之和
if(PID_e_SUM > 200) //積分最多累計的溫差
PID_e_SUM = 200;
if(PID_e_SUM < -200)
PID_e_SUM = -200;

PID_Out = PID_kp*PID_e0+PID_kd*ee1; //計算PID比例和微分輸出
if(abs(PID_e0) < 200) //如果溫度相差小於1.5度則計入PID積分輸出
{
if(abs(PID_e0) > 100) //如果溫度相差大於1度時積分累計限制
{
if(PID_e_SUM > 100)
PID_e_SUM = 100;
if(PID_e_SUM < -100)
PID_e_SUM = -100;
}
d_out = PID_ki*PID_e_SUM; //積分輸出
if(PID_e0 < -5) //當前溫度高於設定溫度0.5度時積分累計限制
{
if(PID_e_SUM > 150)
PID_e_SUM = 150;

if(PID_e_SUM > 0) //當前溫度高於設定溫度0.5度時削弱積分正輸出
d_out >>= 1;
}
PID_Out += d_out; //PID比例,積分和微分輸出
}
else
PID_e_SUM=0;

PID_Out/=100; //恢復被PID_Out系數放大的倍數
if(PID_Out > 200)
PID_Out=200;
if(PID_Out<0)
PID_Out=0;

if(PID_e0 > 300) //當前溫度比設定溫度低3度則全速加熱
PID_Out=200;
if(PID_e0 < -20) //當前溫度高於設定溫度0.2度則關閉加熱
PID_Out=0;

Hot_T_Run=PID_Out; //加熱時間控制輸出

PID_e2 = PID_e1; //保存上次偏差
PID_e1 = PID_e0; //保存當前偏差
}
////////////////////////////////////////////////////////////void PID_Math() end.

『貳』 單片機中調整指令:DA A是什麼意思

BCD碼轉換指令;
比如說:
81D+91D=172D
而:
81H+91H=112H
這里為了將81H+91H結果與81D+91D一致,經過DA有:
DA(112H)=112H+60H=172H
雖然一個是16進制一個是10進制但172在形式上是相等的。

MOV R5,#81H
MOV A, #91H
ADD A, R5
DA A
首先81H+91H=112H,此時AC=0,Cy=1,A=12H,所以DA A後A=12H+60H=72H,AC=0,Cy=1,結果為172H,當然運算應該理解為81D+91D=172D。

『叄』 如何用單片機來控制運放的放大倍數

用MCP10410,這是一種電子電位器,去網上下載資料看看,與單片機通信程序很好寫。

『肆』 STC15w4k32單片機如何更改內部時鍾頻率

STC15w4k32單片機更改內部IRC時鍾頻率,有兩種方法,一種是在燒錄程序時,選擇內部時鍾頻率。如下圖,畫紅框的下拉列表中的頻率,就是可以選擇 的時鍾頻率。

『伍』 怎麼用51單片機控制DA實現可變增益放大啊急求具體方法與程序啊!!!

可變增益說的簡單就是調幅。
一般可用乘法DAC,雙DA的方案,一個DA的輸出作為另一個DA的參考電壓,當參考電壓變化了,那麼最終輸出的DA幅度也就變化了。
另外可變固定增益一般用運放做些特定放大倍數的,比如2倍,5倍,10倍等等,然後串聯起來,把不用的倍數用繼電器短接起來,就可以實現一些比如 1,2,5,10,20,50,100這些倍數關系

閱讀全文

與單片機調整倍數相關的資料

熱點內容
pdf轉換成word免費版在線轉換 瀏覽:462
荒廢了三年還能做程序員嗎 瀏覽:656
阿里雲內網vpn伺服器 瀏覽:101
l命令第一個點對第二個點對不上 瀏覽:829
oracle導出表命令 瀏覽:909
怎麼寫域名加密 瀏覽:1003
手機文件壓縮出錯 瀏覽:522
如何登錄毒app 瀏覽:836
汽車中控台加密 瀏覽:862
海南農村信用社app如何開通簡訊 瀏覽:809
phpdns緩存 瀏覽:415
ipad騰訊視頻app如何播放本地視頻 瀏覽:990
蝦米伺服器關閉如何找到以前的歌 瀏覽:18
php自動建站 瀏覽:475
命令與征服3游俠網 瀏覽:970
騰訊雲買哪個地區伺服器 瀏覽:249
香港哪裡有app賣內地零食 瀏覽:684
編譯內核找不到工具鏈 瀏覽:453
java常見模式 瀏覽:504
典欣空調壓縮機 瀏覽:426