wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3760|回復: 1
打印 上一主題 下一主題
收起左側

求解這個單片機程序的PWM周期和采樣周期

[復制鏈接]
跳轉到指定樓層
樓主
ID:628908 發表于 2019-10-31 17:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1黑幣
#include <reg51.h>
#include <intrins.h>
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結構體
{
int SetValue;      //設定值
// long SumError;     //誤差
double Proportion;    //比例系數
double Integral;    //積分系數
double Derivative;    //微分系數
int LastError;
int PrevError;
}sPID,*sptr= &sPID;
int PWM,PWM_temp=1,count0=0,Speed_Set,Seep_Measure,counter_100ms,counter_10ms;
bit flag_100ms,flag_10ms,start,plus_10_lock=1,minus_10_lock=1,plus_lock=1,
    minus_lock=1,enter_lock=1;
char num[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//0~9 對應數碼
/*****************************************************************************************
*函數名:void delayms(unsigned char x)
*函數功能:簡單延時 支持0~255ms
*函數參數:x 延時時間
*****************************************************************************************/
void delayms(unsigned char x)
{
unsigned char i ;
while(x--)
for(i = 0 ; i < 120 ; i++) ;
}
/*****************************************************************************************
*函數名:void display(void)
*函數功能:顯示函數
*函數參數:無
*****************************************************************************************/
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);
}
}
/*****************************************************************************************
*函數名:void keyscan(void)
*函數功能:按鍵掃描
*函數參數:無
*****************************************************************************************/
void keyscan(void)
{
static unsigned char plus_10_delay,minus_10_delay,plus_delay,minus_delay,enter_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)
  {
   minus_lock=0;
   if(Speed_Set>0)
   Speed_Set-=1;
   else Speed_Set=170;
  }
}
else
{
  minus_lock=1;
  minus_delay=0;
}
if(enter==0)
{
  if(enter_lock&&++enter_delay>2)
  {
   enter_lock=0;
   sptr->SetValue =Speed_Set;
   start=1;
  }
}
else
{
  enter_lock=1;
  enter_delay=0;
}
}
/*****************************************************************************************
*函數名:void timer0(void)
*函數功能:定時器0 中斷函數
*函數參數:無
*****************************************************************************************/
void timer0(void) interrupt 1
{
TH0=0xfc;                    //定時1ms
TL0=0x18;
if(++counter_100ms>=100)   
{
  counter_100ms=0;
  flag_100ms=1;
}
if(++counter_10ms>=10)
{
  flag_10ms=1;
  counter_10ms=0;
}
if(PWM&&--PWM_temp==0)
{
  PWM_OUT1=!PWM_OUT1;
  if(PWM_OUT1) PWM_temp=PWM;
  else PWM_temp=100-PWM;   //PWM周期小于等于采樣周期
}
}
/*****************************************************************************************
*函數名:void EIRQ0(void)
*函數功能:外部中斷0處理函數 記錄脈沖個數
*函數參數:無
*****************************************************************************************/
void EIRQ0(void) interrupt 0  
{
count0++;
}
/*****************************************************************************************
*函數名:viod PIDInit(void)
*函數功能:PID參數初始化
*函數參數:無
*****************************************************************************************/
void PIDInit(void)
{
// sptr->SumError = 0;
sptr->LastError = 0; //Error[-1]
sptr->PrevError = 0; //Error[-2]
sptr->Proportion = 2.3; //比例系數
sptr->Integral = 1.2;   //積分系數
sptr->Derivative = 0.1; //微分系數
sptr->SetValue = 0;
}
/*****************************************************************************************
*函數名:int PID_Calc(int MeasureValue)
*函數功能:PID算法 調節PWM增量
*函數參數:MeasureValue  測得的速度值 PID_Adjust 返回值 PWM誤差修正值
*****************************************************************************************/
int PID_Calc(int MeasureValue)
{
register int iError, PID_Adjust;
iError = sptr->SetValue - MeasureValue;   //計算增加量
PID_Adjust = (int)(sptr->Proportion * iError    //E[k]項
- sptr->Integral * sptr->LastError     //E[k-1]項
+ sptr->Derivative * sptr->PrevError);    //E[k-2]項
//存儲當前誤差以便后面計算
sptr->PrevError = sptr->LastError;
sptr->LastError = iError;
//返回增量值
return (PID_Adjust);
}
/*****************************************************************************************
*函數名:void main(void)
*函數功能:主函數
*函數參數:無
*****************************************************************************************/
void main(void)   
{
TMOD=0x01;
TH0=0xfc;
TL0=0x18;
IT0=1;
EX0=1;
ET0=1;
TR0=1;
EA=1;
PWM_OUT1=0 ;
PWM_OUT2=0;
PIDInit();
while(1)
{
  if(flag_100ms)      //100ms采集一次脈沖數
  {
   Seep_Measure=count0;   //(600/600)*count0
   count0=0;
   flag_100ms=0;
   if(start==1)     //調整PWM
   {
    int PWM_PID;
    PWM_PID=PID_Calc(Seep_Measure);
    if((PWM+0.5*PWM_PID)<99&&(PWM+0.5*PWM_PID)>1) //防止調節比例過大 造成PWM值超出范圍
    PWM=PWM+0.5*PWM_PID;              //0.5用于保證速度調整跨度過大時PWM不會過界
   }
  }
  if(flag_10ms)
  {
   keyscan();
   display();
   flag_10ms=0;
  }
}
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:584814 發表于 2019-11-6 20:20 | 只看該作者
帶著學習的目的看了一遍,果然沒看懂,但發現這句注釋:“//100ms采集一次脈沖數”...
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
亚洲欧美日韩国产成人精品影院| 国产精品久久久久久久久久久久久| 久久午夜电影网| 欧美日韩在线网站| 97在线视频免费观看完整版| 蜜桃久久精品成人无码av| 国产日韩亚洲精品| 欧美高清性猛交| 在线成人一区| 欧美激情图区| 美女搞黄视频在线观看| 伊甸园亚洲一区| 电影中文字幕一区二区| 国产精品久久久久永久免费观看| 爱爱爱免费视频在线观看| 先锋av资源在线| 在线天堂资源| 久久精品国产一区二区三| 欧美另类专区| 国产精品三p一区二区| 亚洲影视一区| 超碰97免费在线| 豆花视频一区二区| 国产麻豆视频一区二区| 日韩一级免费一区| 蜜桃999成人看片在线观看| 性xxxxxxxxx| 777片理伦片在线观看| 最新国产在线观看| 99亚洲视频| 日韩一级在线观看| 日本在线播放不卡| 91精品久久久久久久久中文字幕| 国产91在线视频观看| 国产精品乱码久久久| 福利在线导航136| 久久久影院官网| 欧美午夜免费| 天堂在线观看av| 亚洲人成精品久久久 | 亚洲女同av| 欧美r级电影| 欧美色网站导航| 久久久久久久久久久久久久久久av | 国产高清在线观看视频| 蝌蚪91视频| 69久久99精品久久久久婷婷| 国产日韩精品在线观看| 国产一级二级av| 麻豆一区在线观看| 人与牲动交xxxbbb| 国产精品国产三级国产在线观看 | 久久婷婷国产麻豆91天堂| 国产精品一区二区在线观看| 无码一区二区三区| 极品美乳网红视频免费在线观看| 福利在线免费| 中文在线а√天堂官网| 九九色在线视频| 中文字幕色av一区二区三区| 国产成人精品在线| 亚洲熟女毛茸茸| av黄色在线观看| 久久婷婷久久一区二区三区| 国产精品亚洲视频在线观看| 日韩美女视频网站| 制服诱惑亚洲| 日韩欧美综合在线视频| 免费一级特黄毛片| t66y最新发布地址| 亚洲男人都懂的网站| 影院在线观看全集免费观看| 国产原创一区二区| 激情五月婷婷六月| 18免费在线视频| 欧美一区二区三区小说| 久久久精品少妇| 亚洲精品国模| 精品欧美一区二区三区久久久 | 日本视频免费观看| 天堂中文а√在线| 成人国产一区二区三区精品| 97国产精品视频| 男生草女生视频| 手机av免费在线| 亚洲综合久久久| 波多野结衣与黑人| 国产乱码精品一区二三区蜜臂| 午夜视频在线| 亚洲欧美日韩在线| 99精彩视频| 美女洗澡无遮挡| 岛国av在线播放| 亚洲综合色成人| 亚洲精品久久一区二区三区777 | 亚洲第一会所001| 奇米综合一区二区三区精品视频| 国产精品xxxx| 欧美人善交videosg| 激情深爱一区二区| 国产av不卡一区二区| 91av入口| 亚洲成av人在线观看| 精品人妻一区二区免费视频| 亚洲天堂av在线| 亚洲午夜激情免费视频| 久久久久久久久久成人| 四虎国产精品免费观看| 精品国产31久久久久久| 怡红院亚洲色图| 日本99精品| 日本韩国欧美精品大片卡二| 狠狠艹夜夜干| 欧美在线观看视频一区二区| 中文永久免费观看| www.欧美日韩| 极品久久久久久| 大桥未久av一区二区三区中文| 91美女片黄在线观| 成人av无码一区二区三区| 欧美日本一区| 亚洲欧洲国产精品久久| 91视频在线观看| 欧美va天堂va视频va在线| 日本一级淫片免费放| 日韩精品欧美| 国产精品加勒比| 中文资源在线网| 欧美一区日韩一区| 国产又粗又猛又爽又黄的视频四季 | 亚洲综合清纯丝袜自拍| 国产精品wwwww| 久久uomeier| 97视频在线免费观看| 免费在线看大片无需流量| 亚洲一区二区三区四区不卡| 91精品国产闺蜜国产在线闺蜜| 羞羞答答成人影院www| 亚洲日本精品一区| 性网站在线观看| 午夜精品福利视频| 天天夜夜人人| 综合色一区二区| 青青在线视频免费| 亚洲成人av| 91视频在线网站| 精品一二三四区| 中字幕一区二区三区乱码| 精品一区二区成人精品| 日本黄色片免费观看| 26uuu国产一区二区三区| 99热这里只有精品66| 樱花影视一区二区| 99国产精品免费| 亚洲女同另类| 又粗又黑又大的吊av| 岛国av在线网站| 国产成人综合亚洲| 日本夜爽爽一二区| 亚洲男女自偷自拍图片另类| 熟妇人妻一区二区三区四区 | 91se在线观看| 3d动漫精品啪啪| 久久午夜宅男免费网站| 欧美精品久久久久久久多人混战 | 精品一区二区中文字幕| 色琪琪久久se色| 国产精品免费视频久久久| 国产无码精品一区二区| 一区二区三区在线免费看| 91在线视频九色| 亚洲精品白浆| 97国产超碰| 国产激情久久| 日本福利视频网站| 色综合久久网| 欧美做受喷浆在线观看| 国产伦精品一区二区三区免费| 精品91久久久| 婷婷一区二区三区| 国产香蕉成人综合精品视频| 亚洲精品永久免费精品| 特级毛片在线观看| 中文字幕一区二区三| 丝袜 亚洲 另类 欧美 重口| 亚洲欧洲国产日本综合| 春意影院在线| 黑人巨大精品欧美一区二区小视频| 成人黄色av| 久久午夜无码鲁丝片| 亚洲国产欧美一区二区三区同亚洲 | 在线视频观看日韩| 给我看免费高清在线观看| 99久久综合精品| 激情综合丝袜美女一区二区| 亚洲精品视频久久| 国产高清在线看| 久久99久久精品国产| 欧美黄色大片在线观看| 性欧美丰满熟妇xxxx性仙踪林| 欧美日韩视频一区二区三区| 超碰在线人人爱| 99热国内精品| 国产精品人人妻人人爽| 天天亚洲美女在线视频| 国产情侣av在线| 国产大陆精品国产| 老湿机69福利| 成人免费视频国产在线观看| 久久99爱视频| 国产精品网友自拍| 亚洲国产一区二区久久久777 | 在线观看欧美黄色| 久久精品色妇熟妇丰满人妻| 日本网站在线观看一区二区三区| 精品人妻无码一区二区性色| 天天影视网天天综合色在线播放| 黄色av网站在线| 成人乱人伦精品视频在线观看| 91社区视频| 最近2019年好看中文字幕视频| 日韩伦理精品| 日本泡妞xxxx免费视频软件| 国产精品网站在线观看| 欧美aaa一级| 中文字幕人妻熟女人妻洋洋| 久久亚洲捆绑美女| 成全视频在线播放大地| 久久久久久久香蕉| 一区视频在线播放| 成人在线观看一区| a级大片免费看| 91福利视频久久久久| av在线资源| 怡红院一区二区三区| 亚洲欧洲在线播放| 九九这里只有精品视频| 精品一区二区三区在线观看视频| 亚洲人久久久| 精品国产一区二区三区香蕉沈先生 | 精品视频中文字幕| 亚洲黄色中文字幕| 久操视频免费在线观看| 播播国产欧美激情| 好看的亚洲午夜视频在线| 国产美女做爰免费视频软件| 国产系列第一页| 夜夜嗨av一区二区三区| 蜜桃麻豆av在线| 中文字幕日韩一级| 国产欧美精品一区二区三区-老狼| 久久伊人亚洲| 青春草在线视频| 青青草免费av| 国产在线观看精品| 亚洲国产日韩精品| aaa国产精品视频| 国产欧美一区二区三区小说| 国产永久免费网站| 午夜免费日韩视频| 国产日韩综合av| crdy在线观看欧美| 国产欧美在线观看视频| 国产三级国产精品| 99九九视频| 国产日韩av一区| 欧美日本一道| 国产精品白嫩白嫩大学美女| 久久综合亚洲社区| 国产精品综合色区在线观看| 先锋影音av321| 五月天婷婷亚洲| 亚洲精品一线二线三线无人区| 国内精品久久久久久99蜜桃| 免费尤物视频| www.精品在线| 欧美www在线| 国产一区二区你懂的| 欧美一区二区黄片| 欧美lavv| 亚洲国产精品v| 久久久精品国产**网站| 久久久久久久久综合影视网| 国产91久久婷婷一区二区| 亚洲高清资源| 黄色三级高清在线播放| 天堂网中文在线观看| 日韩av免费一区| 日本在线不卡视频| 国产片高清在线观看| 欧美精品制服第一页| 最新成人av网站| 日本高清好狼色视频| 午夜宅男在线视频| 欧美精品一区二区三区一线天视频 | 亚洲视频色图| 国产精品视频播放| 午夜亚洲激情| 黄色av电影在线播放| 国产精品系列视频| 免费看污污网站| 国产精品99久久久久久人| 亚洲激情在线播放| 99精品在线观看| 韩国成人免费视频| 污视频网站入口| 久久久久久久黄色| 免费不卡av在线| 国产成人免费av| 欧美日韩夫妻久久| 美女网站一区二区| 国产精品高潮呻吟久久久久| 好男人社区在线视频 | 国产成人短视频| 欧美日高清视频| 国产日韩欧美电影| 老牛影视一区二区三区| а√中文在线天堂精品| 天堂亚洲精品| 麻豆影视在线观看| 拍拍拍在线观看视频免费| 一本色道久久综合无码人妻| 波多野结衣久久久久| 五月天六月丁香| 激情五月婷婷六月| 久久久99精品视频| 欧美日韩三区四区| 亚洲系列中文字幕| 中文字幕一区二区三区四区| 精品精品国产三级a∨在线| 日本高清网站| 你懂的国产在线| 久久国产精品网| 国产女精品视频网站免费| 精品99久久久久久| 一个色妞综合视频在线观看| 国产日韩欧美一区| 少妇一区视频| 精品视频一二三| 国产精品7区| 亚洲视频在线网| 国产又大又黄又粗| 免费国产成人av| 成人自拍网站| 亚洲国产精品福利| 亚洲人成亚洲人成在线观看图片 | 精人妻一区二区三区| 春色成人在线视频| 欧美三片在线视频观看| 欧美成人日韩| 大胆人体一区二区| 怡红院av在线| 美女被人操视频在线观看| 色多多视频网站| 国产毛片av| 最近免费中文字幕大全免费第三页| 波多野结衣午夜| 精品少妇久久久| 亚洲av鲁丝一区二区三区 | 中文字幕日韩电影| 国产视频精品一区二区三区| 欧美一区二区在线视频| 在线观看免费视频综合| 精品国产乱码久久久久久天美| 国产精品久久久久影院| 26uuu国产电影一区二区| 久久青草国产手机看片福利盒子| 国产成人在线影院| 成人毛片视频在线观看| 黄色免费网站在线观看| 九色网com| www.国产91| 免费黄网站在线观看| 波多野结衣乳巨码无在线观看| 欧美久久久网站| 精品产国自在拍| 久久99精品久久久| 久久综合久久99| 欧美午夜激情视频| 亚洲成人性视频| 久久久99免费视频| 国产精品一区二区三区毛片淫片 | 超级砰砰砰97免费观看最新一期 | 电影天堂国产精品| 日本中文字幕在线视频| 福利在线播放| 蜜臀av国内免费精品久久久夜夜| 国产网站在线免费观看| 神马午夜伦理不卡| 日本免费一区二区六区| 视频欧美精品| 深夜福利一区| 亚洲涩涩av| 欧美艳星介绍134位艳星| 伊人影院久久| 日产国产高清一区二区三区| 成人丝袜18视频在线观看| 久久爱www久久做| 亚洲天堂视频在线观看| 国产美女www|