久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3868|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

直流馬達(dá)pid調(diào)速液晶顯示單片機(jī)源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:202824 發(fā)表于 2017-6-18 12:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式



全部資料下載地址:
直流馬達(dá)pid調(diào)速液晶顯示.zip (68.64 KB, 下載次數(shù): 81)


單片機(jī)源程序:
  1. #include "12864Serial.h"
  2. #include "PWM.h"
  3. uint data h_count=0,freq10=0,Speed=0,Speed1=0;  //h_count高頻脈沖個數(shù)        (高)
  4. uint data num1=0,num2=0,num3=0,num4=0;
  5. //float data p=4.0,i=0.9,d=1.0;
  6. float xdata p=3.0,i=20,d=3.0;        //P:3  I:20    D:3

  7. static data ErrorNum=0.0,en=0.0,en1=0.0,en2=0.0;
  8. static int data output=0;
  9. float data pwm;        
  10. uint temp40,temp50,temp60;

  11. bit Flag=0;
  12. uint data config=5,error=0,input=0,adjust=20;
  13. long int data duty=50;
  14. uint data TempConfig=0;                 //定義暫時的一個轉(zhuǎn)速,P、I、D參數(shù)
  15. float xdata TempP=0,TempI=0,TempD=0; //在退出參數(shù)調(diào)整界面時將這些暫時的數(shù)據(jù)賦給真實的值
  16. uchar xdata ConfigTable[3]=0;        //設(shè)定參數(shù)數(shù)組
  17. uchar xdata ErrorTable[3]=0;        //誤差參數(shù)數(shù)組
  18. uchar xdata SpeedTable[6]=0;        //速度參數(shù)數(shù)組
  19. uchar xdata InputTable[3]=0;    //輸入?yún)?shù)數(shù)組
  20. uchar xdata DutyTable[4]=0;     //占空比參數(shù)數(shù)組
  21. uchar xdata AdjustTable[3]=0;        //調(diào)整參數(shù)數(shù)組
  22. uchar xdata PTable[3]=0;                //P參數(shù)數(shù)組
  23. uchar xdata ITable[3]=0;                //I參數(shù)數(shù)組
  24. uchar xdata DTable[3]=0;            //D參數(shù)數(shù)組

  25. uchar xdata PTable1[3]=0;
  26. uchar xdata ITable1[4]=0;
  27. uchar xdata DTable1[3]=0;



  28. //定義控制板的按鍵值

  29. sbit SW1= P3^1;
  30. sbit SW= P3^4;
  31. sbit K2= P3^5;
  32. sbit K3= P3^6;
  33. sbit K4= P3^7;



  34. sbit D0  = P1^0;
  35. sbit D1  = P1^1;
  36. sbit D2  = P1^2;
  37. sbit D3  = P1^3;
  38. sbit D4  = P1^4;
  39. sbit D5  = P1^5;
  40. sbit D6  = P1^6;
  41. sbit D7  = P1^7;





  42. unsigned char KeyScan(void);
  43. void delay(unsigned int ms)
  44. {
  45.           unsigned int De_Cnt;
  46.           while( (ms--) != 0)
  47.            {
  48.             for(De_Cnt = 0; De_Cnt < 950; De_Cnt++);
  49.            }            
  50. }

  51. //****************************************************
  52. //****************高頻測量定時計數(shù)器初始化***********  高頻的測量方法較準(zhǔn)確
  53. void init_port()
  54. {        
  55.         TMOD=0x11;                //T1計時工作方式1
  56.         IT0=1;             //INT0下降沿觸發(fā)

  57.         IT1=1;                     //INT1下降沿觸發(fā)
  58.         EX1=1;                           //外部中斷1打開

  59.         TH1=0xb1;
  60.         TL1=0xe0;                 //定時初值的計算:50ms*20=1s
  61.         EA=1;                       //全局中斷允許
  62.         ET1=1;                       //T1中斷允許
  63.     TH0=0;                           //清零
  64.     TL0=0;                           //清零
  65.          
  66.     ET0=1;                            //定時器0中斷允許
  67.         TR0=0;                          //關(guān)T0中斷
  68.         TR1=0;                          //關(guān)T1中斷
  69. }  
  70. //******************高頻率測量*****************
  71. void hight_frequency()
  72. {
  73.         h_count=0;              //脈沖計數(shù)初值為0,
  74.         EX0=1;                      //INT0中斷允許,開始計數(shù)
  75.         TR1=1;                      //啟動定時器1
  76.         while(EX0);              //等待INT0中斷關(guān)閉
  77.         TR1=0;                      //關(guān)T1中斷
  78.         h_count=(h_count-1)*50;   //得實際頻率
  79.         Speed=h_count/334;   //此處采用200線編碼器
  80.         if((Speed>300)||(Speed<0))
  81.                 Speed=0;
  82.         
  83.         SpeedTable[0]=0x30+(Speed/100);           //百位
  84.         SpeedTable[1]=0x30+(Speed%100/10);            //十位
  85.         SpeedTable[2]=0x30+(Speed%10);               //個位
  86.         SpeedTable[3]=0x20;         
  87.         
  88. }

  89. void display()
  90. {



  91.         //顯示設(shè)定的速度值
  92.         ConfigTable[0]=(0x30+(config/100));
  93.         ConfigTable[1]=(0x30+(config%100/10));
  94.         ConfigTable[2]=(0x30+(config%10));


  95.         LCD_Write_String(0,0,"Set     Sp");
  96.         LCD_Write_Com(0x80+3);
  97.         LCD_Write_Data(':');
  98.         LCD_Write_Data(ConfigTable[0]);
  99.         LCD_Write_Data(ConfigTable[1]);
  100.         LCD_Write_Data(ConfigTable[2]);

  101.         //顯示實際測得的速度
  102.         LCD_Write_Com(0x80+10);
  103.         LCD_Write_Data(':');
  104.         LCD_Write_Data(SpeedTable[0]);
  105.         LCD_Write_Data(SpeedTable[1]);
  106.         LCD_Write_Data(SpeedTable[2]);        
  107.                                                                           

  108.          LCD_Write_String(0,1,"Err      Da");
  109.                  //顯示設(shè)定值與實測值的誤差
  110.         if(config>Speed)
  111.         {
  112.                 error=config-Speed;
  113.                 ErrorTable[0]=(0x30+(error/100));
  114.                 ErrorTable[1]=(0x30+(error%100/10));
  115.                 ErrorTable[2]=(0x30+(error%10));

  116.                 LCD_Write_Com(0xC0+3);
  117.                 LCD_Write_Data(':');
  118.                 LCD_Write_Data('-');
  119.                 LCD_Write_Data(ErrorTable[0]);
  120.                 LCD_Write_Data(ErrorTable[1]);
  121.                 LCD_Write_Data(ErrorTable[2]);

  122.         }

  123.         else if((Speed>config)||(Speed==config))
  124.         {
  125.                 error=Speed-config;
  126.                 ErrorTable[0]=(0x30+(error/100));
  127.                 ErrorTable[1]=(0x30+(error%100/10));
  128.                 ErrorTable[2]=(0x30+(error%10));

  129.                 LCD_Write_Com(0xC0+3);
  130.                 LCD_Write_Data(':');
  131.                 LCD_Write_Data('+');
  132.                 LCD_Write_Data(ErrorTable[0]);
  133.                 LCD_Write_Data(ErrorTable[1]);
  134.                 LCD_Write_Data(ErrorTable[2]);

  135.         }


  136.                 //顯示調(diào)整參數(shù)數(shù)據(jù)
  137.         if((Speed>Speed1)||(Speed==Speed1))
  138.         {
  139.                 adjust=Speed-Speed1;
  140.             AdjustTable[0]=(0x30+(adjust/100));
  141.                 AdjustTable[1]=(0x30+(adjust%100/10));
  142.                 AdjustTable[2]=(0x30+(adjust%10));

  143.                 LCD_Write_Com(0xC0+11);
  144.                 LCD_Write_Data(':');
  145.                 LCD_Write_Data('+');
  146.                 LCD_Write_Data(AdjustTable[0]);
  147.                 LCD_Write_Data(AdjustTable[1]);
  148.                 LCD_Write_Data(AdjustTable[2]);
  149.         }

  150.         else  if(Speed1>Speed)
  151.         {
  152.                 adjust=Speed1-Speed;
  153.             AdjustTable[0]=(0x30+(error/100));
  154.                 AdjustTable[1]=(0x30+(error%100/10));
  155.                 AdjustTable[2]=(0x30+(error%10));

  156.                 LCD_Write_Com(0xC0+11);
  157.                 LCD_Write_Data(':');
  158.                 LCD_Write_Data('-');
  159.                 LCD_Write_Data(AdjustTable[0]);
  160.                 LCD_Write_Data(AdjustTable[1]);
  161.                 LCD_Write_Data(AdjustTable[2]);

  162.         }
復(fù)制代碼


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:300054 發(fā)表于 2019-6-25 20:50 | 只看該作者
有沒有protues仿真圖
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天干,夜夜操 | 亚洲一区亚洲二区 | 男女网站在线观看 | 亚洲最新在线 | 亚洲精品久久久 | 亚洲91精品| 91av免费版 | 亚洲一二三区精品 | 久久久久久久91 | av综合站 | 国产高清av免费观看 | 日韩视频免费在线 | 国产精品免费小视频 | 夜夜草 | 国产精品一二三区 | 欧美日韩综合一区 | 日韩中文字幕 | 国内精品视频 | 野狼在线社区2017入口 | 成人aaa视频 | 久久久久资源 | 欧美日韩一区二区三区四区五区 | 91精品国产91久久久久久吃药 | 老司机精品福利视频 | 婷婷成人在线 | 国产精品久久福利 | 91精品国产自产在线老师啪 | 国产一区二区在线视频 | 国产99视频精品免费视频7 | 91精品国产乱码久久久久久久 | 亚洲 欧美 另类 综合 偷拍 | 久久91| 日韩中文字幕 | 中文字幕欧美一区二区 | 国内自拍偷拍视频 | 亚洲欧美一区二区三区情侣bbw | 亚洲h色 | 欧美日韩国产一区二区 | 欧美日本韩国一区二区三区 | 亚洲不卡在线视频 | 欧美激情精品久久久久久免费 |