当前位置: 首页 > wzjs >正文

旅游网站建设的方法怎么能创建自己的网站

旅游网站建设的方法,怎么能创建自己的网站,京东商城网站建设策划书,做商城网站要什么证件目录 1、硬件JIE 2、PWM口配置 3、角度转换 4、main函数中应用 5、工程下载连接 1、硬件介绍 单片机:STM32F1 舵机:MG995 2、PWM口配置 20毫秒的PWM脉冲占空比,对舵机控制效果较好 计算的公式: PSC、ARR值的选取&#xf…

目录

1、硬件JIE

2、PWM口配置

3、角度转换

4、main函数中应用

5、工程下载连接


1、硬件介绍

单片机:STM32F1

舵机:MG995

2、PWM口配置

20毫秒的PWM脉冲占空比,对舵机控制效果较好

计算的公式:

PSC、ARR值的选取:SG90要求的频率是20ms,则72MHz / (PSC+1) / (ARR+1) = 1/0.02;这里PSC和ARR的参数是不固定的。经过多次尝试最终确定PSC=72-1,ARR=20k-1时,舵机旋转效果最好。

PWM配置程序

void pwm_init(void)
{GPIO_InitTypeDef GPIO_InitStructure_For_Servo;TIM_TimeBaseInitTypeDef TIM_TimeBaseImitStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/*µÚÒ»²½¿ªÆôRCCʱÖÓ*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);/*µÚ¶þ²½ÅäÖÃGPIO¶Ë¿---PA1Ú*/GPIO_InitStructure_For_Servo.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure_For_Servo.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure_For_Servo.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure_For_Servo);TIM_InternalClockConfig(TIM2);/*??????*//*µÚÈý²½ÅäÖÃʱ»ùµ¥Ôª*/   //20msƵÂÊ(¶æ»úÒªÇóµÄÕâ¸öƵÂÊЧ¹û×îºÃ)TIM_TimeBaseImitStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseImitStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseImitStructure.TIM_Period = 20000 - 1;TIM_TimeBaseImitStructure.TIM_Prescaler = 72 - 1;TIM_TimeBaseImitStructure.TIM_RepetitionCounter = 0;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseImitStructure);/*µÚËIJ½ÅäÖÃÊä³ö±È½Ïµ¥Ôª*/TIM_OCStructInit(&TIM_OCInitStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse = 0; /*CCR*/TIM_OC2Init(TIM2,&TIM_OCInitStructure);/*µÚÎ岽ʹÄÜʱÖÓ*/TIM_Cmd(TIM2,ENABLE);
}

设置脉冲

void pwm_setcompare2(uint16_t compare)
{TIM_SetCompare2(TIM2,compare);
}

完整代码


#include "pwm.h"void pwm_init(void)
{GPIO_InitTypeDef GPIO_InitStructure_For_Servo;TIM_TimeBaseInitTypeDef TIM_TimeBaseImitStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/*µÚÒ»²½¿ªÆôRCCʱÖÓ*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);/*µÚ¶þ²½ÅäÖÃGPIO¶Ë¿---PA1Ú*/GPIO_InitStructure_For_Servo.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure_For_Servo.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure_For_Servo.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure_For_Servo);TIM_InternalClockConfig(TIM2);/*??????*//*µÚÈý²½ÅäÖÃʱ»ùµ¥Ôª*/   //20msƵÂÊ(¶æ»úÒªÇóµÄÕâ¸öƵÂÊЧ¹û×îºÃ)TIM_TimeBaseImitStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseImitStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseImitStructure.TIM_Period = 20000 - 1;TIM_TimeBaseImitStructure.TIM_Prescaler = 72 - 1;TIM_TimeBaseImitStructure.TIM_RepetitionCounter = 0;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseImitStructure);/*µÚËIJ½ÅäÖÃÊä³ö±È½Ïµ¥Ôª*/TIM_OCStructInit(&TIM_OCInitStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse = 0; /*CCR*/TIM_OC2Init(TIM2,&TIM_OCInitStructure);/*µÚÎ岽ʹÄÜʱÖÓ*/TIM_Cmd(TIM2,ENABLE);
}void pwm_setcompare2(uint16_t compare)
{TIM_SetCompare2(TIM2,compare);
}

3、角度转换

void servo_set_angle(double angle)
{pwm_setcompare2(angle / 180 * 2000 + 500);
}

完整代码

#include "stepmotor.h"
#include "pwm.h"void servo_init(void)
{pwm_init();}void servo_set_angle(double angle)
{pwm_setcompare2(angle / 180 * 2000 + 500);
}

4、main函数中应用

2秒运动执行一次,分别从0度->180度->270度。(若180度舵机,运动到180度就不再往后转270度了,等到0度的时候转到0度)

        //2秒运行一次if(i%2000==0){count++;//printf("count:%d \r\n",count);//printf("Pitch: %.2f ,Roll: %.2f,Yaw: %.2f \r\n",Pitch,Roll,Yaw);			//Pitch,Roll,YawÊý¾Ý´«µ½´®¿Ú	count2++;if(count2==1){angle=0;servo_set_angle(angle);printf("angle:%.2f \r\n",angle);}if(count2==2){angle=180;servo_set_angle(angle);printf("angle:%.2f \r\n",angle);}if(count2==3){angle=270;servo_set_angle(angle);count2=0;printf("angle:%.2f \r\n",angle);}}

完整代码

#include "system.h"
#include "SysTick.h"
#include "SysDelay.h"
#include "led.h"
#include "usart.h"
#include "mpu6050.h"
#include "stepmotor.h"double angle;int main()
{u8 count=0;u16 i=0;	u16 count2=0;SystemInit();                   		//ϵͳ³õʼ»¯	SysDelay_Init(72);									//×Ô¶¨ÒåÑÓʱº¯Êý³õʼ»¯LED_Init();USART1_Config();										//´®¿Ú1³õʼ»¯ ÉÏλ»úUSART3_Config();										//´®¿Ú3³õʼ»¯ À¶ÑÀÓëUSART3¹«ÓÃÏàͬIO¿ÚSysDelay_ms(10);										//10ºÁÃëÑÓʱMPU6050_Init();						   				//MPU6050 DMPÍÓÂÝÒdzõʼ»¯delay_ms(1000);servo_init();while(1){/* 1¡¢LEDµÆÉÁ˸ */	if(i%500==0){led1=!led1;}//2ÃëÖ´ÐÐÒ»´Îif(i%2000==0){count++;//printf("count:%d \r\n",count);//printf("Pitch: %.2f ,Roll: %.2f,Yaw: %.2f \r\n",Pitch,Roll,Yaw);			//Pitch,Roll,YawÊý¾Ý´«µ½´®¿Ú	count2++;if(count2==1){angle=0;servo_set_angle(angle);printf("angle:%.2f \r\n",angle);}if(count2==2){angle=180;servo_set_angle(angle);printf("angle:%.2f \r\n",angle);}if(count2==3){angle=270;servo_set_angle(angle);count2=0;printf("angle:%.2f \r\n",angle);}}//20ºÁÃëÖ´ÐÐÒ»´Îif(i%20==0){}/*»ñÈ¡MPU6050½Ç¶È״̬*///ÔÚ´®¿ÚÊý¾Ý·¢ËÍÖ®ºó MPU6050_Pose();										//Pitch·­¹ö£¬Roll¸©Ñö£¬YawÆ«º½SysDelay_ms(1);									//1ºÁÃëÑÓʱi++;}
}

5、工程下载连接

https://download.csdn.net/download/panjinliang066333/90437321

http://www.dtcms.com/wzjs/708244.html

相关文章:

  • 烟台工程建设信息网站网络公司注册多少钱
  • 网站被清空了怎么办做文创的网站
  • 建站宝盒破解版企业网站、电子期刊属于企业文化传播载体中的( )。
  • vs2012 建网站网站设计培训课程
  • 营销公司网站温州最大的外贸公司
  • 佛山茂名网站建设网页单机游戏
  • 成都网站seo制作短视频的app哪个好
  • 12306网站建设超30亿学做网站快吗
  • 国外房屋设计网站外贸开源网站
  • 网站开发工作室营业执照怎么在服务器上装WordPress
  • 网站开发技术职责企业建设项目哪个网站可以查
  • 湖南智能网站建设公司怎么查设计的logo侵不侵权
  • 做英文网站有哪些wordpress 快递插件
  • 网站建设网站建设教程视觉设计公司名字
  • 网站建设什么价格百度网站链接提交
  • 唯品会网站建设数据安全分析微信营销策划方案范文
  • 做网站用什么字体比较好开发公司工程部岗位职责
  • 谷歌网站排名江苏省城乡建设部网站首页
  • 天成信息网站建设自助建站平台wordpress占用多少内存
  • 网站运营做内容网站建设的公司联系方式
  • 新乡公司做网站找哪家公司好建设人行官方网站下载
  • 做视频网站 视频放在哪做猎头需要用到的网站
  • 企业网站的基本要素广州网站设计皆赞乐云践新
  • 重庆门户网站华龙网咨询公司网站模板
  • 品牌网是什么网站创意二维码制作网站
  • 帝国cms 网站描述的全局变量建个网站多少钱app
  • 网站开发怎么自学怎么做网站代销
  • 门户网站建设维护怎么看网站有没有做301
  • 南京网站建设公司 雷仁网络网络营销是指什么
  • 建设银行信用卡申请官方网站商务网站建设的流程图