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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5888|回復: 8
收起左側

直流電機+編碼器+oled顯示stm32程序

  [復制鏈接]
ID:226267 發表于 2017-8-9 21:34 | 顯示全部樓層 |閱讀模式
這幾天比賽準備的,結果沒用上,哎

所有資料51hei提供下載:
電機綜合.rar (311.98 KB, 下載次數: 172)


單片機源程序如下:
  1. //////////////////////////////////////////////////////////////////////////////////         
  2. //本程序只供學習使用,未經作者許可,不得用于其它任何用途
  3. //中景園電子
  4. //
  5. //  文 件 名   : main.c
  6. //  版 本 號   : v2.0
  7. //  作    者   : HuangKai
  8. //  生成日期   : 0101
  9. //  最近修改   :
  10. //  功能描述   : OLED 4接口演示例程(51系列)
  11. //              說明:
  12. //              ----------------------------------------------------------------
  13. //              GND    電源地
  14. //              VCC  接5V或3.3v電源
  15. //              D0   接PD6(SCL)
  16. //              D1   接PD7(SDA)
  17. //              RES  接PD4
  18. //              DC   接PD5
  19. //              CS   接PD3               
  20. //              ----------------------------------------------------------------
  21. // 修改歷史   :
  22. // 日    期   :
  23. // 作    者   : HuangKai
  24. // 修改內容   : 創建文件
  25. //版權所有,盜版必究。
  26. //Copyright(C) 中景園電子2014/3/16
  27. //All rights reserved
  28. //******************************************************************************/

  29. #include "delay.h"
  30. #include "sys.h"
  31. #include "oled.h"
  32. #include "bmp.h"
  33. #include "timer.h"
  34. #include "encoder.h"
  35. #include "PID.h"       
  36. #include "usart.h"


  37. u16 speed;
  38. u16 pwm1=0,pwm2=4999,pwm3=4999,pwm4=0;



  39. int main(void)
  40. {       
  41.          
  42.          
  43.           u16 len,t;       
  44.          
  45.          char shujv[]="page jisuanji";
  46.          
  47.                 delay_init();                     //延時函數初始化          
  48.          
  49.                 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  50.          
  51.                
  52.                 TIM4_PWM_Init(4999,719);
  53.        
  54. //          TIM3_Int_Init(4999,7199);
  55.          
  56.           uart2_init(9600);         //串口初始化為115200
  57.           uart1_init(9600);         //串口初始化為115200
  58.          
  59.           Encoder_Init_TIM2();
  60.          
  61.                 OLED_Init();                        //初始化OLED  
  62.                 OLED_Clear();

  63.          
  64.          
  65. //                OLED_ShowCHinese(0,0,0);
  66. //                OLED_ShowCHinese(18,0,1);
  67. //                OLED_ShowCHinese(36,0,2);
  68. //                OLED_ShowCHinese(54,0,3);   
  69. //                OLED_ShowCHinese(72,0,4);
  70. //                OLED_ShowCHinese(90,0,5);
  71. //                OLED_ShowCHinese(108,0,6);
  72.                
  73.           TIM3_Int_Init(99,7199);
  74.                 
  75.                 OLED_ShowString(0,2,"IN1:");
  76.                 OLED_ShowString(63,2,"IN2:");
  77.                 OLED_ShowString(0,4,"IN3:");
  78.                 OLED_ShowString(63,4,"IN4:");
  79.                
  80.                 OLED_ShowCHinese(0,6,7);//轉
  81.                 OLED_ShowCHinese(18,6,8);//速
  82.                 OLED_ShowString(32,6,":");

  83. //        while(1)
  84.         {               

  85. //                        printf("t0.txt=\"%d\"%c%c%c",99,0XFF,0XFF,0XFF);   //發送數據
  86. //               
  87.                 for(t=0;t<13;t++)
  88.                         {
  89.                                 USART_SendData(USART2, shujv[t]);//向串口1發送數據
  90.                                 while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發送結束
  91.                         }
  92.                         for(t=0;t<2;t++)
  93.                         {
  94.                                 USART_SendData(USART2, 0x0d);//向串口1發送數據
  95.                                 while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發送結束
  96.                                 USART_SendData(USART2, 0x0a);//向串口1發送數據
  97.                                 while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發送結束
  98.                                  
  99.                         }
  100. //                printf("page main:\r\n\r\n");
  101.                         PWM1_OUT(pwm1);
  102.           PWM2_OUT(pwm2);
  103.                 PWM3_OUT(pwm3);
  104.                 PWM4_OUT(pwm4);
  105.                
  106.                   if(USART1_RX_STA&0x8000)
  107.                 {                       
  108. //                        OLED_ShowChar(120,0,'a');         
  109.                         len=USART1_RX_STA&0x3fff;//得到此次接收到的數據長度
  110. //                        printf("\r\n您發送的消息為:\r\n\r\n");
  111.                         for(t=0;t<len;t++)
  112.                         {
  113.                                  OLED_ShowChar(t*9,0,USART1_RX_BUF[t]);
  114. //                                USART_SendData(USART2, USART1_RX_BUF[t]);//向串口1發送數據
  115. //                                while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待發送結束
  116.                         }
  117. //                        printf("\r\n\r\n");//插入換行
  118.                         USART1_RX_STA=0;
  119.                 }
  120.                
  121. //       
  122.        
  123.                 OLED_ShowNum(28,2,pwm1,4,16);
  124.                 OLED_ShowNum(90,2,pwm2,4,16);
  125.                 OLED_ShowNum(28,4,pwm3,4,16);
  126.                 OLED_ShowNum(90,4,pwm4,4,16);

  127.           if(speed>32768)
  128.                  {
  129.                          OLED_ShowString(36,6,"-");
  130.                          OLED_ShowNum(45,6,(65535-speed)/3,4,16);
  131.                  }       
  132.                 else
  133.                         {
  134.                                 OLED_ShowString(36,6," ");
  135.                                 OLED_ShowNum(45,6,speed/3,4,16);

  136.                   }          
  137.        
  138.   }
  139. }

復制代碼




回復

使用道具 舉報

ID:226267 發表于 2017-8-9 21:35 | 顯示全部樓層
大家僅供參考啊
回復

使用道具 舉報

ID:58925 發表于 2017-8-25 15:27 | 顯示全部樓層
這個是用來干什么的?
回復

使用道具 舉報

ID:135635 發表于 2020-4-30 10:46 | 顯示全部樓層
謝謝分享,學習中。
回復

使用道具 舉報

ID:742242 發表于 2020-5-1 12:25 | 顯示全部樓層
多謝分享
回復

使用道具 舉報

ID:737735 發表于 2020-5-1 18:40 | 顯示全部樓層
用的什么單片機,還有什么用途啊
回復

使用道具 舉報

ID:737227 發表于 2020-5-2 09:09 | 顯示全部樓層
先看看,謝謝了
回復

使用道具 舉報

ID:711507 發表于 2020-5-2 11:57 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:228452 發表于 2022-4-6 00:22 | 顯示全部樓層
Schematic is missing from  project ?
Very difficult to follow...
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲综合久久 | 在线观看www| 亚洲精品高清视频 | 久久久久久久久久一区二区 | 欧美 日韩精品 | 一区二区三区电影在线观看 | 国产在线一区观看 | 精品一区二区三区在线观看国产 | 国产精品久久久久无码av | 亚洲视频免费在线观看 | 精品国产乱码久久久久久a丨 | 99热视 | 久久av一区二区三区 | 91看片网 | 精品久久久久久久人人人人传媒 | 国产在线看片 | 免费观看一级视频 | 黄色在线免费观看 | 精品综合 | 91视频在线 | 精品一区二区久久久久久久网精 | 一级在线观看 | 一区二区三区av | 日韩精品在线一区 | 国产一级特黄aaa大片评分 | 正在播放一区二区 | 欧美成年视频 | 精品免费av | 四虎影院免费在线播放 | 国产精品久久久久久久久婷婷 | 免费在线播放黄色 | 国家aaa的一级看片 h片在线看 | 欧美嘿咻 | 国产欧美日韩综合精品一区二区 | 国产精品国产精品国产专区不卡 | 成人午夜在线观看 | 国产精品久久久久久238 | 久久精品在线播放 | 97偷拍视频| 伊人婷婷 | 一级片免费视频 |