改造舵机电位器器仪表自动不行一电位器我看了是好的控制器调节器手调仪表可以动但舵机动时就不工作

请大神看看我的代码哪里有问题呢,电位器控制舵机的谢谢啦 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
请大神看看我的代码哪里有问题呢,电位器控制舵机的谢谢啦
14:25:55  
电位器控制舵机 随动,单片机是STC15W408AS& &暂时没有用PWM模块,只是用的定时器0中断发出PWM,P3.2脚接4.7K电阻到舵机信号线, P1.1接5K电位器,但是接上电后舵机不稳定,电位器转到头了&&,舵机开始抖动,无法运转,求高手看看指教谢谢! 程序如下:
#include &reg51.h&
#include &intrins.h&
sbit k=P3^2;
uint a=0,v,c;
/*********************************
&&定义相应操作位
***********************************/
sfr&&AUXR& && & =& &0x8e;& && & //辅助寄存器& && && && && && && && && && &
sfr ADC_CONTR& &=& &0xBC;& && && &&&//ADC控制寄存器
sfr ADC_RES& &&&=& &0xBD;& && && &&&//ADC高8位结果
sfr ADC_LOW2& & =& &0xBE;& && && &&&//ADC低2位结果
sfr P1ASF& && & =& &0x9D;& && && &&&//P1口第2功能控制寄存器
#define ADC_POWER& &0x80& && && && &//ADC电源控制位
#define ADC_FLAG& & 0x10& && && && &//ADC完成标志
#define ADC_START& &0x08& && && && &//ADC起始控制位
#define ADC_SPEEDLL 0x00& && && && &//540个时钟
/*********************************
10微秒 定时器初始化&&
***********************************/
void InitTimer0(void)& & & & & & & & //10微秒@11.0592MHz
& & & & ET0 = 1;& && &//使能定时器0中断
& & EA = 1;
& & & & AUXR |= 0x80;& & & & & & & & //定时器时钟1T模式
& & & & TMOD &= 0xF0;& & & & & & & & //设置定时器模式
& & & & TL0 = 0x91;& & & & & & & & //设置定时初值
& & & & TH0 = 0xFF;& & & & & & & & //设置定时初值
& & & & TR0 = 1;& & & & & & & & //定时器0开始计时
/*********************************
读取ADC结果
***********************************/
uint GetADCResult(uchar ch)
& & & & int V;
& & & & ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
& & _nop_();& && && && && && && && &//等待4个NOP
& & _nop_();
& & _nop_();
& & _nop_();
& & while (!(ADC_CONTR & ADC_FLAG));//等待ADC转换完成
& & ADC_CONTR &= ~ADC_FLAG;& && && &//Close ADC
& & & & V=ADC_RES;
& & return V;
/*----------------------------
----------------------------*/
void Delay(uint n)
& & while (n--)
& && &&&x = 5000;
& && &&&while (x--);
/*----------------------------
----------------------------*/
void InitADC()
& & P1ASF = 0x02;& && && && && && & //设置P1口为AD口
& & ADC_RES = 0;
& && && && && && &&&//清除结果寄存器
& & ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
& & Delay(2);& && && && && && && &&&//ADC上电并延时
/*----------------------------
----------------------------*/
void kongzhi()
& &c=(v+50);
& &if(a&=c)
& & & & else
& & & & k=0;
/*----------------------------
----------------------------*/
void main ()
& & & & InitTimer0();
& & & & while(1)
& & & && &{
& & & && && & & &&&InitADC();
& & & && && & & &&&GetADCResult(1);
& & & && && & & &&&v=GetADCResult(1);
& & & & & & & &&&c=0;
& & & && &}
void timer0int()interrupt 1& & & &&&
& & & & TL0 =0x91;& & & & & & & & //设置定时初值
& & & & TH0 =0xFF;& & & & & & & & //设置定时初值
& & & & a++;
& & & & kongzhi();
& & & & if(a=2000)
& & & & a=0;
(11.84 KB, 下载次数: 8)
14:21 上传
16:27:39  
自己顶一个
助理工程师
19:21:27  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
程序不完整看不了
20:14:05  
舵机的话要持续的pwm?你这个的话是持续的吗?建议可以用示波器看一下
07:57:24  
舵机的话要持续的pwm?你这个的话是持续的吗?建议可以用示波器看一下
谢谢哥们,可是没有示波器啊,直接调试的,舵机抖舵& &,不按照正常走啊
07:57:54  
程序不完整看不了
哥们 我 这个是完整的啊程序啊
助理工程师
14:24:42  
我在这看到的程序是不完整的
15:52:21  
我在这看到的程序是不完整的
程序以及搞定了&&,你这可能是显示问题吧
Powered by
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
下载发烧友APP
版权所有 (C) 深圳华强聚丰电子科技有限公司403 Forbidden
Request forbidden by administrative rules.

我要回帖

更多关于 自动回位电位器 的文章

 

随机推荐