資源簡介
PID控制直流電機調(diào)速(含proteus仿真)

代碼片段和文件信息
/*****************************************************************************************
*文件名:pid.c
*文件描述:PID控制電機轉(zhuǎn)速
*作者:
*創(chuàng)建日期:2015/6/17
*****************************************************************************************/
#include?
#include?
sbit?plus_10=P1^3;? ???//對各個按鈕進行位定義
sbit?minus_10=P1^4;
sbit?plus=P1^5;
sbit?minus=P1^6;
sbit?enter=P1^7;
sbit?PWM_OUT1=P1^1;
sbit?PWM_OUT2=P1^0;
sbit?dir=P1^2;
struct?PID????????? //定義PID結(jié)構(gòu)體
{
int?SetValue;??? //設定值
// long?SumError;? //誤差
double?Proportion;? //比例系數(shù)
double?Integral;? //積分系數(shù)
double?Derivative;? //微分系數(shù)
int?LastError;
int?PrevError;
}sPID*sptr=?&sPID;
int?PWMPWM_temp=1count0=0Speed_SetSeep_Measurecounter_100mscounter_10ms;
bit?flag_100msflag_10msstartplus_10_lock=1minus_10_lock=1plus_lock=1
????minus_lock=1enter_lock=1;
char?num[]?=?{0x3f?0x06?0x5b?0x4f?0x66?0x6d?0x7d?0x07?0x7f?0x6f};//0~9?對應數(shù)碼
/*****************************************************************************************
*函數(shù)名:void?delayms(unsigned?char?x)
*函數(shù)功能:簡單延時?支持0~255ms
*函數(shù)參數(shù):x?延時時間
*****************************************************************************************/
void?delayms(unsigned?char?x)
{
unsigned?char?i?;
while(x--)
for(i?=?0?;?i?120?;?i++)?;
}
/*****************************************************************************************
*函數(shù)名:void?display(void)
*函數(shù)功能:顯示函數(shù)
*函數(shù)參數(shù):無
*****************************************************************************************/
void?display(void)
{
P2?=0x7f;?P0?=?num[Speed_Set/100];delayms(2);?
P2?=0xbf;?P0?=?num[Speed_Set?%?100?/?10];delayms(2);?
P2?=0xdf;?P0?=?num[Speed_Set?%?10];delayms(2);?
P2?=0xfb;?P0?=?num[Seep_Measure?/?100];delayms(2);??
P2?=0xfd;?P0?=?num[Seep_Measure?%?100/10];delayms(2);?
P2?=0xfe;?P0?=?num[Seep_Measure?%?10];?delayms(2);
if(start&&dir)
{
P2=0xf7;P0=0x40;delayms(2);
}
}
/*****************************************************************************************
*函數(shù)名:void?keyscan(void)
*函數(shù)功能:按鍵掃描
*函數(shù)參數(shù):無
*****************************************************************************************/
void?keyscan(void)
{
static?unsigned?char?plus_10_delayminus_10_delayplus_delayminus_delayenter_delay;
if(plus_10==0)
{
if(plus_10_lock&&++plus_10_delay>=2)
{
plus_10_lock=0;
if(Speed_Set<170)
Speed_Set+=10;
else?Speed_Set=10;
}
}
else?
{
plus_10_lock=1;
plus_10_delay=0;
} ??
if(minus_10==0)
{
if(minus_10_lock&&++minus_10_delay>=2)
{
minus_10_lock=0;
if(Speed_Set>10)
Speed_Set-=10;
else?Speed_Set=170;
}
}
else
{
minus_10_lock=1;
minus_10_delay=0;
}
if(plus==0)
{
if(plus_lock&&++plus_delay>2)
{
plus_lock=0;
if(Speed_Set<170)
Speed_Set+=1;
else?Speed_Set=0;
}
}
else
{
plus_lock=1;
plus_delay=0;
}
if(minus==0)
{
if(minus_lock&&++minus_delay>2)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????126777??2015-06-18?19:00??PID仿真.JPG
?????文件?????125152??2015-06-18?18:52??PID.DSN
?????文件??????13765??2015-06-18?18:46??pid\output\pid
?????文件???????7902??2015-06-18?18:46??pid\output\pid.hex
?????文件?????????66??2015-06-18?18:46??pid\output\pid.lnp
?????文件??????13838??2015-06-18?18:46??pid\output\pid.lst
?????文件??????18210??2015-06-18?18:46??pid\output\pid.m51
?????文件??????13586??2015-06-18?18:46??pid\output\pid.obj
?????文件??????29520??2015-06-18?18:46??pid\output\pid.plg
?????文件??????14138??2015-06-17?15:33??pid\output\STARTUP.lst
?????文件????????815??2015-06-17?15:33??pid\output\STARTUP.obj
?????文件???????2920??2015-06-02?17:28??pid\pid.plg
?????文件??????55226??2015-06-17?20:21??pid\pid.uvopt
?????文件??????13239??2015-06-17?16:59??pid\pid.uvproj
?????文件??????55224??2015-06-17?17:26??pid\pid_uvopt.bak
?????文件??????13411??2015-06-02?17:15??pid\pid_uvproj.bak
?????文件???????6567??2015-06-18?18:52??pid\src\pid.c
?????文件???????6376??2009-05-07?14:37??pid\STARTUP.A51
?????目錄??????????0??2015-06-18?19:08??pid\output
?????目錄??????????0??2015-06-18?19:08??pid\src
?????目錄??????????0??2015-06-18?19:08??pid
-----------?---------??----------?-----??----
???????????????516732????????????????????21
評論
共有 條評論