娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年11月23日(星期六)

2019年11月23日 | 51單片機PID+PWM直流電機轉速閉環控制源碼(12864液晶顯示)

發布者:csw520 來源: 51he關鍵字:51單片機  PID  PWM  直流電機  轉速閉環控制  12864液晶顯示 手機看文章 掃描二維碼
隨時隨地手機看文章

設計內容及要求

內容包括:

1.        查找文獻資料,學習直流電機控制的工作原理;

2.        轉速控制系統方案設計

3.        硬件電路設計,繪制電路原理圖和PCB圖;

4.        設計軟件,并調試

5.        綜合調試,測試、分析誤差原因

6.        撰寫設計報告

要求:

1.矩陣鍵盤設定并顯示轉速,實時顯示實際轉速

2.按鍵控制電機起停、正反轉

3.PWM轉速閉環控制
4.用lcd12864液晶屏顯示相關內容

設計

參數

1.轉速調節范圍:1500轉/分--3000轉/分

2.測速誤差<10%



制作完成的pid直流電機轉速控制系統實物圖:
 

51單片機源程序如下:

#include

#include "intrins.h"

#include

#define uchar unsigned char

#define uint unsigned int

#define GPIO_KEY P2

sbit PWM=P1^4;                  

sbit P10=P1^0; 

sbit P12=P1^2;

uchar speed1[4]={"0000"};//設定轉速

uchar speed2[3]={"000"};//占空比        

uchar speed[]={"0000"};//當前轉速

uchar KeyValue=0;

uint AA,count=0,flag;


float pid_p=0.003,pid_i=0.003,pid_d=0.002;        //PID三個參數 初值

uint SpeedSet=3000,CurrentSpeed;//設定轉速 當前轉速

unsigned char pid_val_mid;//pid_val_mid脈沖寬度

unsigned int lastError=0;

long int sumError=0;//sum偏差和

        

        

void delay1(unsigned int i)

{

   unsigned int j;

         for(;i>0;i--)

         for(j=0;j<333;j++)

         {;}

}        



/********************* 鍵盤掃描*************/

void KeyDown(void)                

{

        GPIO_KEY=0x0f;

                delay1(10);

        if(GPIO_KEY!=0x0f)

        {

                delay1(10);

                if(GPIO_KEY!=0x0f)

                {

                                //測試列

                        GPIO_KEY=0X0F;

                        delay1(10);

                        switch(GPIO_KEY)

                        {

                                case(0X07):        KeyValue=0;break;

                                case(0X0b):        KeyValue=1;break;

                                case(0X0d): KeyValue=2;break;

                                case(0X0e):        KeyValue=3;break;

                        }

                        //測試行

                        GPIO_KEY=0XF0;

                        delay1(10);

                        switch(GPIO_KEY)

                        {

                                case(0X70):        KeyValue=KeyValue;break;

                                case(0Xb0):        KeyValue=KeyValue+4;break;

                                case(0Xd0): KeyValue=KeyValue+8;break;

                                case(0Xe0):        KeyValue=KeyValue+12;break;

                        }

                        

                }


        }

}


void timer()

{

  

         TMOD=0x11;//定時器0工作方式1.16位,定時器1工作方式1,16位定時;

         TH0=0x4b;//50ms初值

         TL0=0xfe;

         

         TH1=0xfc;//1msPWM控制

         TL1=0x66;

         

         TR1=1;          //啟動定時器1

         ET1=1;           //定時器1中斷使能

         IT0=1;//外部中斷下降沿觸發

         TR0=1;        //定時器啟動標志

         ET0=1;        //定時器中斷使能

         EX0=1;        //外部中斷使能

         EA=1;        //全局中斷

}



/***********************lcd顯示*************/

void  display()

{   

    

          speed[0]=CurrentSpeed/1000+0x30; //當前轉速

                speed[1]=CurrentSpeed/100%10+0x30;

                speed[2]=CurrentSpeed/10%10+0x30;

                speed[3]=CurrentSpeed%10+0x30;  

                

                

                speed1[0]=SpeedSet/1000+0x30;//設定轉速

                speed1[1]=SpeedSet/100%10+0x30;

                speed1[2]=SpeedSet/10%10+0x30;

                speed1[3]=SpeedSet%10+0x30;  

                

                speed2[0]=pid_val_mid/100+0x30;

          speed2[1]=pid_val_mid/10%10+0x30;//占空比

                speed2[2]=pid_val_mid%10+0x30;

                

        

          DispHanzi(0,0,5,"當前轉速:");

                DispZimu(0,5,4,speed);        

                DispHanzi(1,0,5,"設定轉速:");

                DispZimu(1,5,4,speed1);


                DispHanzi(3,0,4,"占空比:");//占空比        

                DispZimu(3,4,3,speed2);

                DispHanzi(3,6,1,"%");//占空比        

                

}




/************************電機控制*************/

void keyKZ()

{

                         if(KeyValue==4)//正轉

                         {

                          P10=1;

                    P12=0;

                                }

                         if(KeyValue==5)//反轉

                         {

                          P10=0;

                    P12=1;

                                }

                                if(KeyValue==6)//停車

                         {

                          P10=0;

                    P12=0;

                                }

                        

                        if(KeyValue==12)//設定速度加50

                          SpeedSet+=50;

                        if(KeyValue==13)//設定速度減50

                                SpeedSet-=50;

                        if(KeyValue==14)//設定速度加1

                          SpeedSet+=1;

                        if(KeyValue==15)//設定速度減1

                                SpeedSet-=1;

[1] [2]
關鍵字:51單片機  PID  PWM  直流電機  轉速閉環控制  12864液晶顯示 引用地址:51單片機PID+PWM直流電機轉速閉環控制源碼(12864液晶顯示)

上一篇:基于51單片機的等精度頻率計設計
下一篇:單片機全自動洗衣機程序

推薦閱讀

近日,中興通訊和中國電信共同演示了5G網絡業務。中興稱,其已完成雄安5G業務的迭代升級,成為目前唯一一家將所有業務全程承載于5G網絡的廠家。中國電信中興通訊5G展車無人駕駛汽車中興通訊聯合中國電信,完成了基于5G網絡實況環境下的無人駕駛協同測試,為無人載具行使測試和綜合展示管理提供了基礎環境和條件。據悉,此次測試結合馭勢鷹眼技術,采用多角...
#include <pic.h>unsigned int i,max,X11=0,X12=0,X13=0,X14=0,X15=0,t=2;unsigned long AD_vasule[2],ADOUT,ADOUT_2;unsigned long timer[5]; //11-15腳輸出計數器unsigned long delay11=0 ; //模擬輸入延時unsigned long TIMEALL ; unsigned long DELAY;#define TIME 2 //設置時間1秒void up_on(void) //...
本文作者:SiMa.ai業務開發和系統應用副總裁Kavitha Prasad邊緣AI設備的生命周期可能長達數年甚至數十年,需要設備支持處理未來的機器學習(ML)算法。 盡管我們可能還不知道這些算法會是什么樣子,但可以肯定的是,它們將比我們目前為邊緣AI設備提供的工作負載更加復雜,要求更高。如今,大多數邊緣AI設備的每瓦功率約為4 TOPS至5 TOPS。這對于基本的...
國內領先國產核心軟件廠商 睿賽德科技 宣布,RT-Thread商業支持英飛凌科技車規級32位AURIX? TriCore?多核控制器,可以讓客戶更容易且無縫地使用TriCore?處理器,充分利用多核的強大性能,提供給用戶易用的操作系統開發環境及OTA,CAN/CANFD/LIN等能力;結合即將獲得的ISO26262 ASIL-D功能安全認證,RT-Thread Auto for MCU為汽車領域眾多應用場景...

史海拾趣

問答坊 | AI 解惑

基于fpga的數據采集模塊設計

希望大家幫忙,我是新手!…

查看全部問答∨

電力電纜布線熱伸縮及其對策淺談

隨著負荷電流變化及環境溫度變化,電力電纜會發生熱伸縮,其中因線芯的熱脹冷縮而產生非常大的熱機械力,電纜線芯截面越大,所產生的熱機械力就越大;同時線芯和金屬護套還會因熱脹冷縮的多次循環,而產生蠕變。熱伸縮對電力電纜運行構成很大的威脅 ...…

查看全部問答∨

微型攝像機監控的主要技術指標

1. CCD尺寸,亦即微型攝像機靶面。原多為1/2英寸,現在1/3英寸的已普及化,1/4英寸和1/5英寸也已商品化。 2. CCD微型攝像機像素,是CCD的主要性能指標,它決定了顯示圖像的清晰程度,分辨率越高,圖像細節的表現越好。CCD是由面陣感光元素組成, ...…

查看全部問答∨

工程師必備——常用電子元器件資料(焊接工藝)

有感于大家需要,共享下!內容包括電子設計時經常會碰到的電氣圖形符號,常用電子元器件型號命名法及主要技術參數,電阻器和電位器的型號命名方法,主要技術指標,電阻器的標志內容及方法,………

查看全部問答∨

【有獎競猜】什么元件

別猜二極管, 第一猜中者獎芯幣50枚 …

查看全部問答∨

空氣傘 無形的保護層

這款概念雨傘采用壓縮空氣作為遮雨部件。通過調整傘柄的控制按鈕,您可以自如控制、調整雨傘的空氣傘直徑。這樣一來,傘的部件便只剩下一支傘柄,而您也不用再為雨天撐傘進入室內,弄濕地板而發愁了! …

查看全部問答∨

求助!WinSock 和 DSP數據傳輸問題

大家好!     我想反DSP(EVMDM6437)采集到的YUV422圖像通過網絡發送到Windows xp上,結果出現了圖像扭曲。 發送代碼如下:         timeout.tv_sec  = 0;     timeout.tv_usec = 0;   & ...…

查看全部問答∨

xml下面的語句怎么生成呢?

<c:contact c:Version="1" xmlns:c="http://schemas.microsoft.com/Contact" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:MSP2P="http://schemas.microsoft.com/Contact/Extended/MSP2P"> ...…

查看全部問答∨

WinCE4.2和EVC4.0安裝問題!!!

各位大俠:     小弟我今天安裝WinCE4.2版本,然后安裝了EVC4.0,EVC SP2和STANDARD_SDK. 但是出現以下問題: 1 安裝完WinCE4.2時,電腦的右下角標出現了以下提示:    Virtual PC/Windows CE/Emulator 會造成WINDOWS不穩定,WIN ...…

查看全部問答∨

自己動手寫操作系統之共享文件夾的方法

1)用虛擬軟盤PCDOS啟動vpc; 2)插入新的虛擬軟盤Dos Additions.vfd; 3)運行里面的fshare.exe; 4) 按右邊的alt鍵,在虛擬pc設置中設置共享文件; 5)可以查看共享文件夾里的文件了:)…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 永寿县| 龙川县| 西贡区| 颍上县| 贺兰县| 上蔡县| 托里县| 鄂伦春自治旗| 昔阳县| 清新县| 乌鲁木齐市| 平凉市| 分宜县| 荔浦县| 勐海县| 张掖市| 特克斯县| 连州市| 临颍县| 沅江市| 甘孜县| 正安县| 叶城县| 伊宁市| 喜德县| 井研县| 渝北区| 桦南县| 乌拉特前旗| 孟州市| 滨海县| 葫芦岛市| 调兵山市| 青铜峡市| 土默特右旗| 敦化市| 房山区| 共和县| 上饶市| 阿拉善盟| 肃北|