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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32單片機電機控制系統程序 L9110H、PWM、矩陣鍵盤、DHT11、紅外對射式測速

[復制鏈接]
跳轉到指定樓層
樓主
STM32F103C6T6電機控制系統:L9110H、PWM、矩陣鍵盤、DHT11、紅外對射式測速

Altium Designer畫的PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. #include "stm32f10x.h" // Device header
  2. #include "Delay.h"
  3. #include "OLED.h"
  4. #include "MatrixKey.h"
  5. #include "Infrared.h"
  6. #include "Timer.h"
  7. #include "Motor.h"
  8. #include "PWM.h"
  9. #include "DHT11.h"

  10. unsigned char KeyNum=0,x=50,tempH,humiH;
  11. uint16_t count=0,Speed=0,countdown=0;
  12. unsigned int i,time,flag,flag2=0;

  13. float pid_p=3,pid_i=2,pid_d=1;
  14. unsigned int lastError=0;
  15. unsigned char pid_val_mid;//pid_val_mid脈沖寬度
  16. long int sumError=0;//sum偏差和

  17. unsigned int PID(void);
  18. void Speedcount(void);
  19. void Buzzer(void);
  20. int main(void)
  21. {
  22. //        NVIC_Configuration();
  23.         Buzzer_Init();        
  24.         OLED_Init();
  25.         CountSensor_Init();
  26.         Timer_Init();
  27.         DHT11_Init();
  28.         Motor_Init();
  29.         while(1)
  30.         {
  31.                
  32.         if(flag==1)
  33.         {
  34.                 Speedcount();
  35.         }
  36.         
  37.         
  38.         DHT11_Read_Data(&tempH,&humiH);
  39.         OLED_ShowString(1, 1, "Tem:");
  40.         OLED_ShowNum(2,1,tempH,2);
  41.         OLED_ShowString(1, 7, "PWM:");
  42.         OLED_ShowNum(2,7,x,2);
  43.         OLED_ShowString(3, 1, "Speed:");
  44.         OLED_ShowNum(4,1,countdown,4);
  45.         OLED_ShowString(3, 8, "KeyNum:");

  46.         if(tempH>=30&&tempH<=35)
  47.         {
  48.                 x=70;
  49.         }
  50.         else if(tempH>=35)
  51.         {
  52.                 x=100;
  53.                 Buzzer();
  54.         }
  55.         else if(tempH<30)
  56.         {
  57.                 x=50;
  58.         }
  59.         
  60.         Motor_SetSpeed(x);
  61. //        PID();
  62.         }
  63. }
  64. void TIM3_IRQHandler(void)
  65. {
  66.         
  67. if (TIM_GetITStatus(TIM3, TIM_IT_Update) == SET) //1s
  68. {
  69.         TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
  70.         time++;
  71.         flag=1;
  72.         flag2=1;
  73. }
  74. }
  75. void Speedcount(void)
  76. {

  77.         count=CountSensor_Get();
  78.         countdown=count-Speed;
  79.         Delay_ms(20);
  80.         Speed=CountSensor_Get();
  81. //        GPIO_ResetBits(GPIOC,GPIO_Pin_13);
  82.         flag=0;
  83. }

  84. void Buzzer(void)
  85. {
  86.         GPIO_ResetBits(GPIOC,GPIO_Pin_15);
  87.         flag2=0;
  88. }
復制代碼

Keil代碼下載:
電機控制代碼.7z (1.53 MB, 下載次數: 54)

評分

參與人數 1黑幣 +10 收起 理由
admin + 10 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线视频免费观看 | 一级毛片视频在线 | 毛片在线免费 | 欧美日韩精品久久久免费观看 | 成人免费在线播放视频 | 亚洲午夜精品视频 | 国产精品综合一区二区 | 亚洲精品国产精品国自产在线 | 天堂综合网 | av网址在线播放 | 午夜视频免费在线观看 | 亚洲精品日韩一区二区电影 | 三区在线 | 国产乱码精品1区2区3区 | 伦理一区二区 | 羞羞网站在线免费观看 | 久久99精品久久久水蜜桃 | 成人字幕网zmw | 国产精品视屏 | 成人免费视频观看视频 | 欧美精品一区二区三区四区 在线 | 久久www免费人成看片高清 | 91观看| 国产精品久久欧美久久一区 | 欧美一区二区三区在线看 | 羞羞的视频网站 | 亚洲成人网在线观看 | 久久人人爽人人爽人人片av免费 | 国产成人叼嘿视频在线观看 | 国产精品一区在线 | 免费精品 | 欧美亚洲国产一区二区三区 | 麻豆va | 武道仙尊动漫在线观看 | 一区二区三区四区日韩 | 欧美日一区二区 | 国产美女在线免费观看 | 亚洲欧美日韩一区二区 | 日韩免费一级 | 日韩中文字幕免费 | 97精品超碰一区二区三区 |