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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5919|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 快播少女爱欢乐 | 久草免费福利视频 | 在线免费观看毛片 | 色综合久久久 | 91成人免费 | 久久激情视频 | 天天撸夜夜操 | 日韩精品一区二区在线 | 一级肉体全黄裸片 | 精品国产精品三级精品av网址 | 国产成人97精品免费看片 | 国产午夜在线观看 | 久久18| 欧美一区二区精品 | www.日日日| 日韩毛片在线观看 | 久久久久久久97 | 日韩在线视频免费观看 | 精品国产乱码久久久久久蜜柚 | 亚洲天堂男人 | 男人天堂手机在线 | 国产日韩视频 | 成人动态视频 | 日本特黄特色aaa大片免费 | 免费视频成人 | 欧美一区二区三区免费 | av观看免费 | 色一情一乱一乱一区91av | 天天爽天天操 | 五月伊人网 | 国产乱码一区二区三区 | 日韩免费看片 | 欧美久久久久久 | 97免费在线视频 | 激情五月综合色婷婷一区二区 | 婷婷五月在线视频 | 亚洲九九夜夜 | av观看免费 | 韩日中文字幕 | www.一区| 91二区 |