云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 舵机控制程序要点 - 图文

舵机控制程序要点 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 22:25:52

TH0=-(2700-PWM_Value[3])/256; TL0=-(2700-PWM_Value[3])%6; break; case 9: PWM_OUT4=1;

TH0=-PWM_Value[4]/256; TL0=-PWM_Value[4]%6; break; case 10: PWM_OUT4=0;

TH0=-(2700-PWM_Value[4])/256; TL0=-(2700-PWM_Value[4])%6; break; case 11: PWM_OUT5=1;

TH0=-PWM_Value[5]/256; TL0=-PWM_Value[5]%6; break; case 12: PWM_OUT5=0;

TH0=-(2700-PWM_Value[5])/256; TL0=-(2700-PWM_Value[5])%6; break; case 13: PWM_OUT6=1;

TH0=-PWM_Value[6]/256; TL0=-PWM_Value[6]%6; break; case 14: PWM_OUT6=0;

TH0=-(2700-PWM_Value[6])/256; TL0=-(2700-PWM_Value[6])%6; break; case 15: PWM_OUT7=1;

TH0=-PWM_Value[7]/256; TL0=-PWM_Value[7]%6; break; case 16: PWM_OUT7=0; order1=0;

TH0=-(2700-PWM_Value[7])/256; TL0=-(2700-PWM_Value[7])%6; order1=0; break;

default : order1=0; }

order1++; }

/*=================================================================================== 初始化中断

=====================================================================================*/ void InitPWM(void) {

order1=1; TMOD |=0x11; TH0=-1500/256; TL0=-1500%6; EA=1; EX0=0;

ET0=1; TR0=1;PT0=1;PX0=0; }

void delay(void) {

uint16 i=100; while(i--); }

void main(void) {

InitPWM(); while(1) {

if(key1==0) {

if(PWM_Value[0]<2500) PWM_Value[0]++; }

if(key2==0) {

if(PWM_Value[0]>500) PWM_Value[0]--; }

delay(); } }

单片机舵机控制程序

# include

# define uchar unsigned char # define uint unsigned int uint a,b,c,d,n; sbit p12=P1^2; sbit p13=P1^3; sbit p37=P3^7;

void timer0(void) interrupt 1 using 1 {p12=!p12; c=20000-c; TH0=-(c/256); TL0=-(c%6); if(c>=500&&c<=2500) c=a; else c=20000-a; }

void delay() { uint i;

for(i=0;i<200;i++) { } }

void init_serialcomm(void) {

SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr TMOD |= 0x21; //TMOD: timer 1, mode 2, 8-bit reload PCON |= 0x80; //SMOD=1;

TH1 = 0xF4; //Baud:4800 fosc=11.0592MHz IE |= 0x93; //Enable Serial Interrupt TR1 = 1; // timer 1 run // TI=1; }

void serial () interrupt 4 using 3 { if(RI) {

RI = 0; b=SBUF;

SBUF=0xff; while(TI==0); TI=0; } }

void main(void) {//TMOD=0x21; init_serialcomm(); p12=1; a=1500; c=a;

TH0=-(a/256); TL0=-(a%6); PX0=0;PT0=1; TR0=1;

while(1) { a=b*10; } }

舵机控制程序(改变a值可控制任意角度)

#include #include

#define uchar unsigned char #define uint unsigned int uint a,c; sbit p10=P1^0; sbit p11=P1^1;

void timer0(void) interrupt 1 {p10=!p10; p11=!p11; c=20000-c; TH0=-(c/256); TL0=-(c%6); if(c>=500&&c<=2500) c=a; else

c=20000-a; }

搜索更多关于: 舵机控制程序要点 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

TH0=-(2700-PWM_Value[3])/256; TL0=-(2700-PWM_Value[3])%6; break; case 9: PWM_OUT4=1; TH0=-PWM_Value[4]/256; TL0=-PWM_Value[4]%6; break; case 10: PWM_OUT4=0; TH0=-(2700-PWM_Value[4])/256; TL0=-(2700-PWM_Value[4])%6; break; case 11: PWM_OUT5=1; TH0=-PWM_Value[5]/256;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com