标题: STM32舵机按键调节控制源码 [打印本页]

作者: tttttt666    时间: 2018-4-4 16:20
标题: STM32舵机按键调节控制源码
PWM控制舵机  按键调节实验 ,STM32MINI版专用


单片机源程序如下:

  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "lcd.h"
  5. #include "pwm.h"
  6. #include "key.h"
  7. #include "stm32f10x_tim.h"


  8. //ALIENTEK Mini STM32开发板范例代码15
  9. //ADC实验  
  10.            
  11. int main(void)
  12. {
  13.         u16 adcx,adcx1;
  14.         float temp;

  15.         u16 dacval=25;
  16.         u8 key;

  17.         delay_init();                     //延时函数初始化         
  18.         uart_init(9600);                 //串口初始化为9600

  19.          LCD_Init();                                   //初始化LCD
  20.         TIM1_PWM_Init(899,1439);         
  21.         KEY_Init();                                //按键初始化                        

  22.   TIM1->CCR4=dacval;

  23.         POINT_COLOR=RED;//设置字体为红色
  24.         LCD_ShowString(60,50,200,16,16,"Mini STM32");        
  25.         LCD_ShowString(60,70,200,16,16,"DAC TEST");        
  26.         LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
  27.         LCD_ShowString(60,110,200,16,16,"2014/3/9");        
  28.         LCD_ShowString(60,130,200,16,16,"WK_UP:+  KEY0:-");        
  29.         //显示提示信息                                                                                             
  30.         POINT_COLOR=BLUE;//设置字体为蓝色
  31.         LCD_ShowString(60,150,200,16,16,"DAC VAL:");              
  32.         LCD_ShowString(60,170,200,16,16,"DAC VOL:");              
  33.         LCD_ShowString(60,190,200,16,16,"ADC VOL:");        
  34.   LCD_ShowxNum(124,170,dacval,3,16,0);        
  35.                
  36.         while(1)
  37.         {
  38.                
  39.                 key=KEY_Scan(0);                          
  40.                 if(key==KEY1_PRES)
  41.                 {                 
  42.                 dacval+=10;
  43.                         TIM_SetCompare4(TIM1,dacval);
  44.                         LCD_ShowxNum(124,170,dacval,3,16,0);        
  45.                 }
  46.                 if(key==KEY0_PRES)        
  47.                 {
  48.                         dacval-=10;
  49.                          TIM_SetCompare4(TIM1,dacval);
  50.                         LCD_ShowxNum(124,170,dacval,3,16,0);

  51.                 }         
  52.                 if(key==WKUP_PRES)        
  53.                 {
  54.                         dacval=25;
  55.                          TIM_SetCompare4(TIM1,dacval);
  56.                         LCD_ShowxNum(124,170,dacval,3,16,0);

  57.                 }        
  58.                 delay_ms(10);        
  59.         }                                                                                    
  60. }        

  61. //PA0与1820相连,按键不起作用;仿真不一定可信
  62. //50Hz   ccr1:25---135;   0-210度     第一次与最后一次的角度过大
  63. //信息口IO口:A.11

  64. //PB6,7,8,9
复制代码

所有资料51hei提供下载:
PWM控制舵机 按键调节实验.rar (343.04 KB, 下载次数: 201)



作者: 乐乐2    时间: 2019-8-4 21:38
好评,学习了

作者: 黑明    时间: 2019-8-9 13:53
感谢楼主

作者: 土豆土豆585    时间: 2019-8-10 15:54
感谢楼主感谢楼主!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1